Built from branch 'tiddlywiki-com' at commit ac8f52130353dd5476599b979a8eea6abd8b3648 of https://github.com/Jermolene/TiddlyWiki5 at 2020-12-24 13:43:32 UTC
toggle fold (all tiddlers)
{"tiddlers":{"$:/Acknowledgements":{"text":"TiddlyWiki incorporates code from these fine OpenSource projects:\n\n* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]\n* [[The Jasmine JavaScript Test Framework|http://pivotal.github.io/jasmine/]]\n* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]\n\nAnd media from these projects:\n\n* World flag icons from [[Wikipedia|http://commons.wikimedia.org/wiki/Category:SVG_flags_by_country]]\n"},"$:/core/copyright.txt":{"type":"text/plain","text":"TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright (c) 2004-2007, Jeremy Ruston\nCopyright (c) 2007-2020, UnaMesa Association\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."},"$:/core/icon":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path d=\"M64 0l54.56 32v64L64 128 9.44 96V32L64 0zm21.127 95.408c-3.578-.103-5.15-.094-6.974-3.152l-1.42.042c-1.653-.075-.964-.04-2.067-.097-1.844-.07-1.548-1.86-1.873-2.8-.52-3.202.687-6.43.65-9.632-.014-1.14-1.593-5.17-2.157-6.61-1.768.34-3.546.406-5.34.497-4.134-.01-8.24-.527-12.317-1.183-.8 3.35-3.16 8.036-1.21 11.44 2.37 3.52 4.03 4.495 6.61 4.707 2.572.212 3.16 3.18 2.53 4.242-.55.73-1.52.864-2.346 1.04l-1.65.08c-1.296-.046-2.455-.404-3.61-.955-1.93-1.097-3.925-3.383-5.406-5.024.345.658.55 1.938.24 2.53-.878 1.27-4.665 1.26-6.4.47-1.97-.89-6.73-7.162-7.468-11.86 1.96-3.78 4.812-7.07 6.255-11.186-3.146-2.05-4.83-5.384-4.61-9.16l.08-.44c-3.097.59-1.49.37-4.82.628-10.608-.032-19.935-7.37-14.68-18.774.34-.673.664-1.287 1.243-.994.466.237.4 1.18.166 2.227-3.005 13.627 11.67 13.732 20.69 11.21.89-.25 2.67-1.936 3.905-2.495 2.016-.91 4.205-1.282 6.376-1.55 5.4-.63 11.893 2.276 15.19 2.37 3.3.096 7.99-.805 10.87-.615 2.09.098 4.143.483 6.16 1.03 1.306-6.49 1.4-11.27 4.492-12.38 1.814.293 3.213 2.818 4.25 4.167 2.112-.086 4.12.46 6.115 1.066 3.61-.522 6.642-2.593 9.833-4.203-3.234 2.69-3.673 7.075-3.303 11.127.138 2.103-.444 4.386-1.164 6.54-1.348 3.507-3.95 7.204-6.97 7.014-1.14-.036-1.805-.695-2.653-1.4-.164 1.427-.81 2.7-1.434 3.96-1.44 2.797-5.203 4.03-8.687 7.016-3.484 2.985 1.114 13.65 2.23 15.594 1.114 1.94 4.226 2.652 3.02 4.406-.37.58-.936.785-1.54 1.01l-.82.11zm-40.097-8.85l.553.14c.694-.27 2.09.15 2.83.353-1.363-1.31-3.417-3.24-4.897-4.46-.485-1.47-.278-2.96-.174-4.46l.02-.123c-.582 1.205-1.322 2.376-1.72 3.645-.465 1.71 2.07 3.557 3.052 4.615l.336.3z\" fill-rule=\"evenodd\"/></svg>"},"$:/core/images/add-comment":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-add-comment tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 56H36a8 8 0 100 16h20v20a8 8 0 1016 0V72h20a8 8 0 100-16H72V36a8 8 0 10-16 0v20zm-12.595 58.362c-6.683 7.659-20.297 12.903-36.006 12.903-2.196 0-4.35-.102-6.451-.3 9.652-3.836 17.356-12.24 21.01-22.874C8.516 94.28 0 79.734 0 63.5 0 33.953 28.206 10 63 10s63 23.953 63 53.5S97.794 117 63 117c-6.841 0-13.428-.926-19.595-2.638z\"/></svg>"},"$:/core/images/advanced-search-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-advanced-search-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M74.565 87.985A47.776 47.776 0 0148 96C21.49 96 0 74.51 0 48S21.49 0 48 0s48 21.49 48 48c0 9.854-2.97 19.015-8.062 26.636l34.347 34.347a9.443 9.443 0 010 13.36 9.446 9.446 0 01-13.36 0l-34.36-34.358zM48 80c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32z\"/><circle cx=\"48\" cy=\"48\" r=\"8\"/><circle cx=\"28\" cy=\"48\" r=\"8\"/><circle cx=\"68\" cy=\"48\" r=\"8\"/></g></svg>"},"$:/core/images/auto-height":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-auto-height tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M67.987 114.356l-.029-14.477a4 4 0 00-2.067-3.494l-15.966-8.813-1.933 7.502H79.9c4.222 0 5.564-5.693 1.786-7.58L49.797 71.572 48.01 79.15h31.982c4.217 0 5.564-5.682 1.795-7.575L49.805 55.517l-1.795 7.575h31.982c4.212 0 5.563-5.67 1.805-7.57l-16.034-8.105 2.195 3.57V35.614l9.214 9.213a4 4 0 105.656-5.656l-16-16a4 4 0 00-5.656 0l-16 16a4 4 0 105.656 5.656l9.13-9.13v15.288a4 4 0 002.195 3.57l16.035 8.106 1.804-7.57H48.01c-4.217 0-5.564 5.682-1.795 7.574l31.982 16.059 1.795-7.575H48.01c-4.222 0-5.564 5.693-1.787 7.579l31.89 15.923 1.787-7.578H47.992c-4.133 0-5.552 5.504-1.933 7.501l15.966 8.813-2.067-3.494.029 14.436-9.159-9.158a4 4 0 00-5.656 5.656l16 16a4 4 0 005.656 0l16-16a4 4 0 10-5.656-5.656l-9.185 9.184zM16 20h96a4 4 0 100-8H16a4 4 0 100 8z\"/></svg>"},"$:/core/images/blank":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-blank tc-image-button\" viewBox=\"0 0 128 128\"/>"},"$:/core/images/bold":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-bold tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M41.146 51.81V21.87h26.353c2.51 0 4.93.21 7.26.628 2.33.418 4.392 1.165 6.185 2.24 1.793 1.076 3.227 2.57 4.302 4.482 1.076 1.913 1.614 4.363 1.614 7.35 0 5.379-1.613 9.263-4.84 11.653-3.227 2.39-7.35 3.586-12.37 3.586H41.146zM13 0v128h62.028a65.45 65.45 0 0016.762-2.151c5.438-1.434 10.278-3.645 14.52-6.633 4.244-2.988 7.62-6.842 10.13-11.563 2.51-4.721 3.764-10.308 3.764-16.762 0-8.008-1.942-14.85-5.826-20.527-3.884-5.677-9.77-9.65-17.658-11.921 5.737-2.75 10.069-6.275 12.997-10.577 2.928-4.303 4.392-9.681 4.392-16.135 0-5.976-.986-10.995-2.958-15.059-1.972-4.063-4.75-7.32-8.336-9.77-3.585-2.45-7.888-4.213-12.907-5.289C84.888.538 79.33 0 73.235 0H13zm28.146 106.129V70.992H71.8c6.095 0 10.995 1.404 14.7 4.212 3.705 2.81 5.558 7.5 5.558 14.073 0 3.347-.568 6.096-1.703 8.247-1.136 2.151-2.66 3.854-4.572 5.11-1.912 1.254-4.123 2.15-6.633 2.688-2.51.538-5.139.807-7.888.807H41.146z\"/></svg>"},"$:/core/images/cancel-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-cancel-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 76.314l-16.97 16.97a7.999 7.999 0 01-11.314 0c-3.118-3.118-3.124-8.19 0-11.313L52.686 65l-16.97-16.97a7.999 7.999 0 010-11.314c3.118-3.118 8.19-3.124 11.313 0L64 53.686l16.97-16.97a7.999 7.999 0 0111.314 0c3.118 3.118 3.124 8.19 0 11.313L75.314 65l16.97 16.97a7.999 7.999 0 010 11.314c-3.118 3.118-8.19 3.124-11.313 0L64 76.314zM64 129c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 1 0 29.654 0 65c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 17 64 17 16 38.49 16 65s21.49 48 48 48z\"/></svg>"},"$:/core/images/chevron-down":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-down tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64.053 85.456a7.889 7.889 0 01-5.6-2.316L2.473 27.16a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0L64.05 66.344l50.382-50.382a7.92 7.92 0 0111.195 0c3.085 3.086 3.092 8.105 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.317z\"/><path d=\"M64.053 124.069a7.889 7.889 0 01-5.6-2.316l-55.98-55.98a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0l50.382 50.382 50.382-50.382a7.92 7.92 0 0111.195 0c3.085 3.086 3.092 8.104 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.316z\"/></g></svg>"},"$:/core/images/chevron-left":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-left tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M47.544 64.053c0-2.027.77-4.054 2.316-5.6l55.98-55.98a7.92 7.92 0 0111.196 0c3.085 3.086 3.092 8.105 0 11.196L66.656 64.05l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.085-8.105 3.092-11.196 0l-55.98-55.98a7.892 7.892 0 01-2.317-5.595z\"/><path d=\"M8.931 64.053c0-2.027.77-4.054 2.316-5.6l55.98-55.98a7.92 7.92 0 0111.196 0c3.085 3.086 3.092 8.105 0 11.196L28.041 64.05l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.085-8.104 3.092-11.196 0l-55.98-55.98a7.892 7.892 0 01-2.316-5.595z\"/></g></svg>"},"$:/core/images/chevron-right":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-right tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M83.456 63.947c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196L64.344 63.95 13.963 13.567a7.92 7.92 0 010-11.195c3.086-3.085 8.105-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.317 5.595z\"/><path d=\"M122.069 63.947c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l50.382-50.382-50.382-50.382a7.92 7.92 0 010-11.195c3.086-3.085 8.104-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.316 5.595z\"/></g></svg>"},"$:/core/images/chevron-up":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-up tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M63.947 44.544c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.105 3.092-11.196 0L63.95 63.656l-50.382 50.382a7.92 7.92 0 01-11.195 0c-3.085-3.086-3.092-8.105 0-11.196l55.98-55.98a7.892 7.892 0 015.595-2.317z\"/><path d=\"M63.947 5.931c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.105 3.092-11.196 0L63.95 25.041 13.567 75.423a7.92 7.92 0 01-11.195 0c-3.085-3.086-3.092-8.104 0-11.196l55.98-55.98a7.892 7.892 0 015.595-2.316z\"/></g></svg>"},"$:/core/images/clone-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-clone-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M32.265 96v24.002A7.996 7.996 0 0040.263 128h79.74a7.996 7.996 0 007.997-7.998v-79.74a7.996 7.996 0 00-7.998-7.997H96V48h12.859a2.99 2.99 0 012.994 2.994v57.865a2.99 2.99 0 01-2.994 2.994H50.994A2.99 2.99 0 0148 108.859V96H32.265z\"/><path d=\"M40 56h-7.993C27.588 56 24 52.418 24 48c0-4.41 3.585-8 8.007-8H40v-7.993C40 27.588 43.582 24 48 24c4.41 0 8 3.585 8 8.007V40h7.993C68.412 40 72 43.582 72 48c0 4.41-3.585 8-8.007 8H56v7.993C56 68.412 52.418 72 48 72c-4.41 0-8-3.585-8-8.007V56zM8 0C3.58 0 0 3.588 0 8v80c0 4.419 3.588 8 8 8h80c4.419 0 8-3.588 8-8V8c0-4.419-3.588-8-8-8H8zM19 16A2.997 2.997 0 0016 19.001v57.998A2.997 2.997 0 0019.001 80h57.998A2.997 2.997 0 0080 76.999V19.001A2.997 2.997 0 0076.999 16H19.001z\"/></g></svg>"},"$:/core/images/close-all-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-close-all-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M28 111.314l-14.144 14.143a8 8 0 01-11.313-11.313L16.686 100 2.543 85.856a8 8 0 0111.313-11.313L28 88.686l14.144-14.143a8 8 0 0111.313 11.313L39.314 100l14.143 14.144a8 8 0 01-11.313 11.313L28 111.314zM28 39.314L13.856 53.457A8 8 0 012.543 42.144L16.686 28 2.543 13.856A8 8 0 0113.856 2.543L28 16.686 42.144 2.543a8 8 0 0111.313 11.313L39.314 28l14.143 14.144a8 8 0 01-11.313 11.313L28 39.314zM100 39.314L85.856 53.457a8 8 0 01-11.313-11.313L88.686 28 74.543 13.856A8 8 0 0185.856 2.543L100 16.686l14.144-14.143a8 8 0 0111.313 11.313L111.314 28l14.143 14.144a8 8 0 01-11.313 11.313L100 39.314zM100 111.314l-14.144 14.143a8 8 0 01-11.313-11.313L88.686 100 74.543 85.856a8 8 0 0111.313-11.313L100 88.686l14.144-14.143a8 8 0 0111.313 11.313L111.314 100l14.143 14.144a8 8 0 01-11.313 11.313L100 111.314z\"/></g></svg>"},"$:/core/images/close-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-close-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M65.086 75.41l-50.113 50.113c-3.121 3.121-8.192 3.126-11.316.002-3.118-3.118-3.123-8.19.002-11.316l50.114-50.114L3.659 13.982C.538 10.86.533 5.79 3.657 2.666c3.118-3.118 8.19-3.123 11.316.002l50.113 50.114L115.2 2.668c3.121-3.121 8.192-3.126 11.316-.002 3.118 3.118 3.123 8.19-.002 11.316L76.4 64.095l50.114 50.114c3.121 3.121 3.126 8.192.002 11.316-3.118 3.118-8.19 3.123-11.316-.002L65.086 75.409z\"/></svg>"},"$:/core/images/close-others-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-close-others-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48zm0-16c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32zm0-16c8.837 0 16-7.163 16-16s-7.163-16-16-16-16 7.163-16 16 7.163 16 16 16z\"/></svg>"},"$:/core/images/copy-clipboard":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-copy-clipboard tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"33\" height=\"8\" x=\"40\" y=\"40\" rx=\"4\"/><rect width=\"17\" height=\"8\" x=\"40\" y=\"82\" rx=\"4\"/><rect width=\"17\" height=\"8\" x=\"40\" y=\"54\" rx=\"4\"/><rect width=\"33\" height=\"8\" x=\"40\" y=\"96\" rx=\"4\"/><rect width=\"12\" height=\"8\" x=\"40\" y=\"68\" rx=\"4\"/><path d=\"M40 16H24c-4.419 0-8 3.59-8 8a8.031 8.031 0 000 .01v95.98a8.03 8.03 0 000 .01c0 4.41 3.581 8 8 8h80a7.975 7.975 0 005.652-2.34 7.958 7.958 0 002.348-5.652v-16.016c0-4.414-3.582-7.992-8-7.992-4.41 0-8 3.578-8 7.992V112H32V32h64v8.008C96 44.422 99.582 48 104 48c4.41 0 8-3.578 8-7.992V23.992a7.963 7.963 0 00-2.343-5.651A7.995 7.995 0 00104.001 16H88c0-4.41-3.585-8-8.007-8H48.007C43.588 8 40 11.582 40 16zm4-1.004A4.001 4.001 0 0148 11h32c2.21 0 4 1.797 4 3.996v4.008A4.001 4.001 0 0180 23H48c-2.21 0-4-1.797-4-3.996v-4.008z\"/><rect width=\"66\" height=\"16\" x=\"62\" y=\"64\" rx=\"8\"/><path d=\"M84.657 82.343l-16-16v11.314l16-16a8 8 0 10-11.314-11.314l-16 16a8 8 0 000 11.314l16 16a8 8 0 1011.314-11.314z\"/></g></svg>"},"$:/core/images/delete-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-delete-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\" transform=\"translate(12)\"><rect width=\"105\" height=\"16\" y=\"11\" rx=\"8\"/><rect width=\"48\" height=\"16\" x=\"28\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"8\" y=\"16\" rx=\"8\"/><rect width=\"88\" height=\"16\" x=\"8\" y=\"112\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"80\" y=\"16\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"56\" y=\"16\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"32\" y=\"16\" rx=\"8\"/></g></svg>"},"$:/core/images/done-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-done-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M42.26 111.032c-2.051.001-4.103-.78-5.668-2.345L2.662 74.758a8 8 0 01-.005-11.32c3.118-3.117 8.192-3.12 11.32.007l28.278 28.278 72.124-72.124a8.002 8.002 0 0111.314-.001c3.118 3.118 3.124 8.19 0 11.315l-77.78 77.78a7.978 7.978 0 01-5.658 2.343z\"/></svg>"},"$:/core/images/down-arrow":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-down-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64.177 100.069a7.889 7.889 0 01-5.6-2.316l-55.98-55.98a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0l50.382 50.382 50.382-50.382a7.92 7.92 0 0111.195 0c3.086 3.086 3.092 8.104 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.316z\"/></svg>"},"$:/core/images/download-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-download-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\" class=\"tc-image-download-button-ring\"/><path d=\"M34.35 66.43l26.892 27.205a4.57 4.57 0 006.516 0L94.65 66.43a4.7 4.7 0 000-6.593 4.581 4.581 0 00-3.258-1.365h-8.46c-2.545 0-4.608-2.087-4.608-4.661v-15.15c0-2.575-2.063-4.662-4.608-4.662H55.284c-2.545 0-4.608 2.087-4.608 4.662v15.15c0 2.574-2.063 4.661-4.608 4.661h-8.46c-2.545 0-4.608 2.087-4.608 4.662a4.69 4.69 0 001.35 3.296z\"/></g></svg>"},"$:/core/images/edit-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-edit-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M95.627 10.059l-5.656 5.657 11.313 11.313 5.657-5.656-11.314-11.314zm5.657-5.657l1.966-1.966c3.123-3.122 8.194-3.129 11.319-.005 3.117 3.118 3.122 8.192-.005 11.32l-1.966 1.965-11.314-11.314zm-16.97 16.97l-60.25 60.25a8.12 8.12 0 00-.322.342c-.1.087-.198.179-.295.275-5.735 5.735-10.702 22.016-10.702 22.016s16.405-5.09 22.016-10.702c.095-.096.186-.193.272-.292a8.12 8.12 0 00.345-.325l60.25-60.25-11.314-11.313zM35.171 124.19c6.788-.577 13.898-2.272 23.689-5.348 1.825-.573 3.57-1.136 6.336-2.04 16-5.226 21.877-6.807 28.745-7.146 8.358-.413 13.854 2.13 17.58 8.699a4 4 0 006.959-3.946c-5.334-9.406-13.745-13.296-24.933-12.744-7.875.39-14.057 2.052-30.835 7.533-2.739.894-4.46 1.45-6.25 2.012-19.46 6.112-30.77 7.072-39.597 1.747a4 4 0 10-4.132 6.85c6.333 3.82 13.754 5.12 22.438 4.383z\"/></g></svg>"},"$:/core/images/erase":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-erase tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60.087 127.996l63.015-63.015c6.535-6.535 6.528-17.115-.003-23.646L99.466 17.702c-6.539-6.538-17.117-6.532-23.646-.003L4.898 88.62c-6.535 6.534-6.528 17.115.003 23.646l15.73 15.73h39.456zm-34.95-7.313l-14.324-14.325c-3.267-3.268-3.268-8.564-.008-11.824L46.269 59.07l35.462 35.462-26.15 26.15H25.137z\"/></svg>"},"$:/core/images/excise":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-excise tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 107.314l-2.343 2.343a8 8 0 11-11.314-11.314l16-16a8 8 0 0111.314 0l16 16a8 8 0 11-11.314 11.314L72 107.314v14.284c0 3.536-3.582 6.402-8 6.402s-8-2.866-8-6.402v-14.284zM0 40.007C0 35.585 3.59 32 8 32c4.418 0 8 3.588 8 8.007v31.986C16 76.415 12.41 80 8 80c-4.418 0-8-3.588-8-8.007V40.007zm32 0C32 35.585 35.59 32 40 32c4.418 0 8 3.588 8 8.007v31.986C48 76.415 44.41 80 40 80c-4.418 0-8-3.588-8-8.007V40.007zm48 0C80 35.585 83.59 32 88 32c4.418 0 8 3.588 8 8.007v31.986C96 76.415 92.41 80 88 80c-4.418 0-8-3.588-8-8.007V40.007zm-24-32C56 3.585 59.59 0 64 0c4.418 0 8 3.588 8 8.007v31.986C72 44.415 68.41 48 64 48c-4.418 0-8-3.588-8-8.007V8.007zm56 32c0-4.422 3.59-8.007 8-8.007 4.418 0 8 3.588 8 8.007v31.986c0 4.422-3.59 8.007-8 8.007-4.418 0-8-3.588-8-8.007V40.007z\"/></svg>"},"$:/core/images/export-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-export-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.003 128H119.993a7.984 7.984 0 005.664-2.349v.007A7.975 7.975 0 00128 120V56c0-4.418-3.59-8-8-8-4.418 0-8 3.58-8 8v56H16V56c0-4.418-3.59-8-8-8-4.418 0-8 3.58-8 8v64c0 4.418 3.59 8 8 8h.003zm48.62-100.689l-8.965 8.966c-3.125 3.125-8.195 3.13-11.319.005-3.118-3.118-3.122-8.192.005-11.319L58.962 2.346A7.986 7.986 0 0164.625 0l-.006.002c2.05-.001 4.102.78 5.666 2.344l22.618 22.617c3.124 3.125 3.129 8.195.005 11.319-3.118 3.118-8.192 3.122-11.319-.005l-8.965-8.966v61.256c0 4.411-3.582 8-8 8-4.41 0-8-3.582-8-8V27.311z\"/></svg>"},"$:/core/images/file":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-file tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M111.968 30.5H112V120a8 8 0 01-8 8H24a8 8 0 01-8-8V8a8 8 0 018-8h57v.02a7.978 7.978 0 015.998 2.337l22.627 22.627a7.975 7.975 0 012.343 5.516zM81 8H24v112h80V30.5H89c-4.418 0-8-3.578-8-8V8z\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"36\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"52\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"68\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"84\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"100\" rx=\"4\"/><rect width=\"40\" height=\"8\" x=\"32\" y=\"20\" rx=\"4\"/></svg>"},"$:/core/images/fixed-height":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fixed-height tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60 35.657l-9.172 9.171a4 4 0 11-5.656-5.656l16-16a4 4 0 015.656 0l16 16a4 4 0 01-5.656 5.656L68 35.657v57.686l9.172-9.171a4 4 0 115.656 5.656l-16 16a4 4 0 01-5.656 0l-16-16a4 4 0 115.656-5.656L60 93.343V35.657zM16 116h96a4 4 0 100-8H16a4 4 0 100 8zm0-96h96a4 4 0 100-8H16a4 4 0 100 8z\"/></svg>"},"$:/core/images/fold-all-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fold-all tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"64\" rx=\"8\"/><path d=\"M64.03 20.004c-2.05 0-4.102.78-5.667 2.344L35.746 44.966c-3.125 3.124-3.13 8.194-.005 11.318 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.965 16.966 16.965c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.191-.005-11.318L69.687 22.348a7.986 7.986 0 00-5.663-2.346zM64.03 85.002c-2.05-.001-4.102.78-5.667 2.344l-22.617 22.617c-3.125 3.125-3.13 8.195-.005 11.319 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.966 16.966 16.966c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.192-.005-11.319L69.687 87.346A7.986 7.986 0 0064.024 85z\"/></g></svg>"},"$:/core/images/fold-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fold tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><path d=\"M64.03 25.004c-2.05 0-4.102.78-5.667 2.344L35.746 49.966c-3.125 3.124-3.13 8.194-.005 11.318 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.965 16.966 16.965c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.191-.005-11.318L69.687 27.348a7.986 7.986 0 00-5.663-2.346zM64.005 67.379c-2.05 0-4.102.78-5.666 2.344L35.722 92.34c-3.125 3.125-3.13 8.195-.006 11.32 3.118 3.117 8.192 3.121 11.32-.006L64 86.69l16.965 16.965c3.125 3.125 8.195 3.13 11.319.005 3.118-3.118 3.122-8.192-.005-11.319L69.663 69.723A7.986 7.986 0 0064 67.377z\"/></g></svg>"},"$:/core/images/fold-others-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fold-others tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" y=\"56.031\" rx=\"8\"/><path d=\"M86.632 79.976c-2.05 0-4.102.78-5.666 2.345L64 99.286 47.034 82.321a7.986 7.986 0 00-5.662-2.346l.005.001c-2.05 0-4.102.78-5.666 2.345l-22.618 22.617c-3.124 3.125-3.129 8.195-.005 11.319 3.118 3.118 8.192 3.122 11.319-.005l16.966-16.966 16.965 16.966a7.986 7.986 0 005.663 2.346l-.005-.002c2.05 0 4.102-.78 5.666-2.344l16.965-16.966 16.966 16.966c3.125 3.124 8.194 3.129 11.319.005 3.118-3.118 3.122-8.192-.005-11.319L92.289 82.321a7.986 7.986 0 00-5.663-2.346zM86.7 48.024c-2.05 0-4.102-.78-5.666-2.345L64.07 28.714 47.103 45.679a7.986 7.986 0 01-5.663 2.346l.005-.001c-2.05 0-4.101-.78-5.666-2.345L13.162 23.062c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L41.44 28.714l16.966-16.966a7.986 7.986 0 015.662-2.346l-.005.002c2.05 0 4.102.78 5.666 2.344l16.966 16.966 16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L92.358 45.679a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"},"$:/core/images/folder":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-folder tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.694 128H8C3.58 128 0 124.414 0 119.996V48.004C0 43.584 3.584 40 7.999 40H16v-8c0-4.418 3.578-8 8-8h32a8 8 0 018 8v8h40.001c4.418 0 7.999 3.586 7.999 8.004V59.83l-8-.082v-7.749A4 4 0 0099.997 48H56V36c0-2.21-1.793-4-4.004-4H28.004A4 4 0 0024 36v12H12.003A4 4 0 008 52v64a4 4 0 004.003 4h46.76l-3.069 8z\"/><path d=\"M23.873 55.5h96.003c4.417 0 7.004 4.053 5.774 9.063l-13.344 54.374c-1.228 5.005-5.808 9.063-10.223 9.063H6.08c-4.417 0-7.003-4.053-5.774-9.063L13.65 64.563c1.228-5.005 5.808-9.063 10.223-9.063zm1.78 8.5h87.994c2.211 0 3.504 2.093 2.891 4.666l-11.12 46.668c-.614 2.577-2.902 4.666-5.115 4.666H12.31c-2.211 0-3.504-2.093-2.891-4.666l11.12-46.668C21.152 66.09 23.44 64 25.653 64z\"/></g></svg>"},"$:/core/images/full-screen-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-full-screen-button tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M0 8a8 8 0 018-8h32a8 8 0 110 16H16v24a8 8 0 11-16 0V8zM128 120a8 8 0 01-8 8H88a8 8 0 110-16h24V88a8 8 0 1116 0v32zM8 128a8 8 0 01-8-8V88a8 8 0 1116 0v24h24a8 8 0 110 16H8zM120 0a8 8 0 018 8v32a8 8 0 11-16 0V16H88a8 8 0 110-16h32z\"/></svg>"},"$:/core/images/github":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-github tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M63.938 1.607c-35.336 0-63.994 28.69-63.994 64.084 0 28.312 18.336 52.329 43.768 60.802 3.202.59 4.37-1.388 4.37-3.088 0-1.518-.056-5.55-.087-10.897-17.802 3.871-21.558-8.591-21.558-8.591-2.911-7.404-7.108-9.375-7.108-9.375-5.81-3.973.44-3.895.44-3.895 6.424.453 9.803 6.606 9.803 6.606 5.709 9.791 14.981 6.963 18.627 5.322.582-4.138 2.236-6.963 4.063-8.564-14.211-1.617-29.153-7.117-29.153-31.672 0-6.995 2.495-12.718 6.589-17.195-.66-1.621-2.856-8.14.629-16.96 0 0 5.37-1.722 17.597 6.57 5.104-1.424 10.58-2.132 16.022-2.16 5.438.028 10.91.736 16.022 2.16 12.22-8.292 17.582-6.57 17.582-6.57 3.493 8.82 1.297 15.339.64 16.96 4.102 4.477 6.578 10.2 6.578 17.195 0 24.618-14.966 30.035-29.22 31.62 2.295 1.98 4.342 5.89 4.342 11.87 0 8.564-.079 15.476-.079 17.576 0 1.715 1.155 3.71 4.4 3.084 25.413-8.493 43.733-32.494 43.733-60.798 0-35.394-28.657-64.084-64.006-64.084\"/></svg>"},"$:/core/images/gitter":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-gitter tc-image-button\" viewBox=\"0 0 18 25\"><path d=\"M15 5h2v10h-2zM10 5h2v20h-2zM5 5h2v20H5zM0 0h2v15H0z\"/></svg>"},"$:/core/images/globe":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-globe tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M72.811 37.128v2.554c0 2.196.978 6.881 0 8.832-1.466 2.928-4.65 3.54-6.394 5.867-1.182 1.577-4.618 10.601-3.69 12.92 3.969 9.922 11.534 3.187 17.962 9.293.864.821 2.887 2.273 3.296 3.296 3.29 8.223-7.576 15.009 3.757 26.3 1.245 1.24 3.813-3.817 4.079-4.614.852-2.563 6.725-5.45 9.088-7.053 2.02-1.37 4.873-2.667 6.328-4.745 2.27-3.244 1.48-7.514 3.098-10.745 2.139-4.274 3.828-9.635 5.998-13.966 3.898-7.781 4.721 2.093 5.067 2.439.358.357 1.011 0 1.517 0 .094 0 1.447.099 1.516 0 .65-.935-1.043-17.92-1.318-19.297-1.404-7.01-6.944-15.781-11.865-20.5-6.274-6.015-7.09-16.197-18.259-14.954-.204.022-5.084 10.148-7.777 13.512-3.728 4.657-2.47-4.153-6.526-4.153-.081 0-1.183-.103-1.253 0-.586.88-1.44 3.896-2.306 4.417-.265.16-1.722-.239-1.846 0-2.243 4.3 8.256 2.212 5.792 7.952-2.352 5.481-6.328-1.997-6.328 8.56M44.467 7.01c9.685 6.13.682 12.198 2.694 16.215 1.655 3.303 4.241 5.395 1.714 9.814-2.063 3.608-6.87 3.966-9.623 6.723-3.04 3.044-5.464 8.94-6.79 12.911-1.617 4.843 14.547 6.866 12.063 11.008-1.386 2.311-6.746 1.466-8.437.198-1.165-.873-3.593-.546-4.417-1.78-2.613-3.915-2.26-8.023-3.625-12.128-.938-2.822-6.313-2.12-7.844-.593-.523.522-.33 1.792-.33 2.505 0 5.285 7.12 3.316 7.12 6.46 0 14.636 3.927 6.534 11.14 11.336 10.036 6.683 7.844 7.303 14.946 14.404 3.673 3.673 7.741 3.686 9.425 9.294 1.602 5.331-9.327 5.339-11.716 7.448-1.123.991-2.813 4.146-4.219 4.615-1.792.598-3.234.496-4.944 1.78-2.427 1.82-3.9 4.932-4.02 4.81-2.148-2.147-3.52-15.479-3.89-18.257-.588-4.42-5.59-5.54-6.986-9.03-1.57-3.927 1.524-9.52-1.129-13.761-6.52-10.424-11.821-14.5-15.35-26.292-.942-3.148 3.342-6.529 4.877-8.833 1.877-2.816 2.662-5.854 4.746-8.635C22.147 24.19 40.855 9.461 43.857 8.635l.61-1.625z\"/><path d=\"M64 126c34.242 0 62-27.758 62-62 0-34.242-27.758-62-62-62C29.758 2 2 29.758 2 64c0 34.242 27.758 62 62 62zm0-6c30.928 0 56-25.072 56-56S94.928 8 64 8 8 33.072 8 64s25.072 56 56 56z\"/></g></svg>"},"$:/core/images/heading-1":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-1 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M14 30h13.25v30.104H61.7V30h13.25v75.684H61.7V71.552H27.25v34.132H14V30zm70.335 13.78c2.544 0 5.017-.212 7.42-.636 2.403-.424 4.576-1.13 6.52-2.12 1.942-.99 3.603-2.261 4.981-3.816 1.378-1.555 2.28-3.463 2.703-5.724h9.858v74.2h-13.25V53.32H84.335v-9.54z\"/></svg>"},"$:/core/images/heading-2":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-2 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm119.52 75.684H74.85c.07-6.148 1.555-11.519 4.452-16.112 2.897-4.593 6.855-8.586 11.872-11.978a133.725 133.725 0 017.526-5.141 59.6 59.6 0 007.208-5.353c2.19-1.908 3.993-3.975 5.406-6.201 1.413-2.226 2.155-4.788 2.226-7.685 0-1.343-.159-2.774-.477-4.293a11.357 11.357 0 00-1.855-4.24c-.919-1.307-2.19-2.403-3.816-3.286-1.625-.883-3.745-1.325-6.36-1.325-2.403 0-4.399.477-5.989 1.431-1.59.954-2.862 2.261-3.816 3.922-.954 1.66-1.66 3.622-2.12 5.883-.46 2.261-.724 4.7-.795 7.314H76.23c0-4.099.548-7.897 1.643-11.395 1.095-3.498 2.738-6.519 4.93-9.063 2.19-2.544 4.857-4.54 8.002-5.989C93.95 30.724 97.606 30 101.775 30c4.523 0 8.303.742 11.342 2.226 3.039 1.484 5.494 3.357 7.367 5.618 1.873 2.261 3.198 4.717 3.975 7.367.777 2.65 1.166 5.176 1.166 7.579 0 2.968-.46 5.653-1.378 8.056a25.942 25.942 0 01-3.71 6.625 37.5 37.5 0 01-5.3 5.565 79.468 79.468 0 01-6.148 4.77 165.627 165.627 0 01-6.36 4.24 94.28 94.28 0 00-5.883 4.028c-1.802 1.343-3.374 2.738-4.717 4.187-1.343 1.449-2.261 2.986-2.756 4.611h36.146v10.812z\"/></svg>"},"$:/core/images/heading-3":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-3 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm88.885 32.224c1.979.07 3.957-.07 5.936-.424 1.979-.353 3.745-.972 5.3-1.855a10.365 10.365 0 003.763-3.657c.954-1.555 1.431-3.463 1.431-5.724 0-3.18-1.078-5.724-3.233-7.632-2.155-1.908-4.929-2.862-8.32-2.862-2.12 0-3.958.424-5.513 1.272a11.318 11.318 0 00-3.869 3.445c-1.025 1.449-1.784 3.074-2.279 4.876a18.335 18.335 0 00-.636 5.565H75.381c.141-3.604.813-6.943 2.014-10.017 1.201-3.074 2.844-5.742 4.93-8.003 2.084-2.261 4.61-4.028 7.578-5.3C92.871 30.636 96.228 30 99.973 30a29.2 29.2 0 018.533 1.272c2.791.848 5.3 2.085 7.526 3.71s4.01 3.692 5.353 6.201c1.343 2.509 2.014 5.388 2.014 8.639 0 3.745-.848 7.014-2.544 9.805-1.696 2.791-4.346 4.823-7.95 6.095v.212c4.24.848 7.544 2.95 9.911 6.307s3.551 7.438 3.551 12.243c0 3.533-.707 6.696-2.12 9.487a21.538 21.538 0 01-5.724 7.102c-2.403 1.943-5.194 3.445-8.374 4.505-3.18 1.06-6.537 1.59-10.07 1.59-4.31 0-8.074-.618-11.289-1.855s-5.9-2.986-8.056-5.247c-2.155-2.261-3.798-4.982-4.929-8.162-1.13-3.18-1.731-6.713-1.802-10.6h12.084c-.141 4.523.972 8.286 3.34 11.289 2.366 3.003 5.917 4.505 10.652 4.505 4.028 0 7.402-1.148 10.123-3.445 2.72-2.297 4.081-5.565 4.081-9.805 0-2.897-.565-5.194-1.696-6.89a10.97 10.97 0 00-4.452-3.869c-1.837-.883-3.904-1.431-6.2-1.643a58.067 58.067 0 00-7.05-.212v-9.01z\"/></svg>"},"$:/core/images/heading-4":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-4 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8 30h13.25v30.104H55.7V30h13.25v75.684H55.7V71.552H21.25v34.132H8V30zm76.59 48.548h22.471V45.9h-.212L84.59 78.548zm43.46 9.54h-9.54v17.596H107.06V88.088h-31.8V76.11l31.8-44.626h11.448v47.064h9.54v9.54z\"/></svg>"},"$:/core/images/heading-5":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-5 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm77.755 1.484h38.372v10.812H92.765L88.95 61.164l.212.212c1.625-1.837 3.692-3.233 6.201-4.187 2.509-.954 5-1.431 7.473-1.431 3.675 0 6.96.618 9.858 1.855 2.897 1.237 5.335 2.968 7.314 5.194s3.48 4.858 4.505 7.897c1.025 3.039 1.537 6.325 1.537 9.858 0 2.968-.477 6.024-1.43 9.169a25.161 25.161 0 01-4.559 8.586c-2.085 2.58-4.752 4.7-8.003 6.36-3.25 1.66-7.137 2.491-11.66 2.491-3.604 0-6.943-.477-10.017-1.431-3.074-.954-5.777-2.385-8.109-4.293-2.332-1.908-4.187-4.258-5.565-7.049-1.378-2.791-2.138-6.06-2.279-9.805h12.084c.353 4.028 1.731 7.12 4.134 9.275 2.403 2.155 5.583 3.233 9.54 3.233 2.544 0 4.7-.424 6.466-1.272 1.767-.848 3.198-2.014 4.293-3.498 1.095-1.484 1.873-3.215 2.332-5.194.46-1.979.69-4.099.69-6.36 0-2.05-.284-4.01-.849-5.883-.565-1.873-1.413-3.516-2.544-4.929-1.13-1.413-2.597-2.544-4.399-3.392-1.802-.848-3.904-1.272-6.307-1.272-2.544 0-4.929.477-7.155 1.431-2.226.954-3.834 2.738-4.823 5.353H75.805l7.95-40.598z\"/></svg>"},"$:/core/images/heading-6":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-6 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm106.587 20.246c-.283-3.039-1.36-5.494-3.233-7.367-1.873-1.873-4.399-2.809-7.579-2.809-2.19 0-4.08.406-5.67 1.219a12.435 12.435 0 00-4.029 3.233c-1.095 1.343-1.979 2.88-2.65 4.611a37.696 37.696 0 00-1.643 5.459 46.08 46.08 0 00-.9 5.671 722.213 722.213 0 00-.478 5.247l.212.212c1.625-2.968 3.87-5.176 6.731-6.625 2.862-1.449 5.954-2.173 9.275-2.173 3.675 0 6.96.636 9.858 1.908 2.897 1.272 5.353 3.021 7.367 5.247 2.014 2.226 3.551 4.858 4.611 7.897 1.06 3.039 1.59 6.325 1.59 9.858 0 3.604-.583 6.943-1.749 10.017-1.166 3.074-2.844 5.76-5.035 8.056-2.19 2.297-4.805 4.081-7.844 5.353-3.039 1.272-6.395 1.908-10.07 1.908-5.441 0-9.91-1.007-13.409-3.021-3.498-2.014-6.254-4.77-8.268-8.268-2.014-3.498-3.41-7.597-4.187-12.296-.777-4.7-1.166-9.77-1.166-15.211 0-4.452.477-8.94 1.431-13.462.954-4.523 2.526-8.639 4.717-12.349 2.19-3.71 5.07-6.731 8.64-9.063C92.676 31.166 97.075 30 102.304 30c2.968 0 5.76.495 8.374 1.484 2.615.99 4.93 2.367 6.943 4.134 2.014 1.767 3.657 3.887 4.93 6.36 1.271 2.473 1.978 5.23 2.12 8.268h-12.085zm-11.66 46.852c2.19 0 4.099-.442 5.724-1.325a12.869 12.869 0 004.081-3.445c1.095-1.413 1.908-3.056 2.438-4.929.53-1.873.795-3.798.795-5.777s-.265-3.887-.795-5.724c-.53-1.837-1.343-3.445-2.438-4.823-1.095-1.378-2.456-2.491-4.08-3.339-1.626-.848-3.534-1.272-5.725-1.272-2.19 0-4.116.406-5.777 1.219-1.66.813-3.056 1.908-4.187 3.286-1.13 1.378-1.979 2.986-2.544 4.823-.565 1.837-.848 3.78-.848 5.83 0 2.05.283 3.993.848 5.83.565 1.837 1.413 3.48 2.544 4.929a12.39 12.39 0 004.187 3.445c1.66.848 3.586 1.272 5.777 1.272z\"/></svg>"},"$:/core/images/help":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-help tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M36.055 111.441c-5.24 4.396-15.168 7.362-26.555 7.362-1.635 0-3.24-.06-4.806-.179 7.919-2.64 14.062-8.6 16.367-16.014C8.747 92.845 1.05 78.936 1.05 63.5c0-29.547 28.206-53.5 63-53.5s63 23.953 63 53.5-28.206 53.5-63 53.5c-10.055 0-19.56-2-27.994-5.559zm35.35-33.843a536.471 536.471 0 00.018-4.682 199.02 199.02 0 00-.023-3.042c.008-1.357.595-2.087 3.727-4.235.112-.077 1.085-.74 1.386-.948 3.093-2.133 5.022-3.786 6.762-6.187 2.34-3.228 3.558-7.077 3.558-11.649 0-13.292-9.86-21.952-21.455-21.952-11.103 0-22.499 9.609-24.066 22.295a6.023 6.023 0 1011.956 1.477c.806-6.527 6.972-11.726 12.11-11.726 5.265 0 9.408 3.64 9.408 9.906 0 3.634-1.1 5.153-5.111 7.919l-1.362.93c-2.682 1.84-4.227 3.1-5.7 4.931-2.109 2.62-3.242 5.717-3.258 9.314.013.892.02 1.86.022 2.981a470.766 470.766 0 01-.022 4.943 6.023 6.023 0 1012.046.12l.003-.395zm-6.027 24.499a7.529 7.529 0 100-15.058 7.529 7.529 0 000 15.058z\"/></svg>"},"$:/core/images/home-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-home-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M112.985 119.502c.01-.165.015-.331.015-.499V67.568c3.137 2.948 8.076 2.884 11.134-.174a7.999 7.999 0 00-.002-11.316L70.396 2.343A7.978 7.978 0 0064.734 0a7.957 7.957 0 00-5.656 2.343L33 28.42V8.007C33 3.585 29.41 0 25 0c-4.418 0-8 3.59-8 8.007V44.42L5.342 56.078c-3.125 3.125-3.12 8.198-.002 11.316a7.999 7.999 0 0011.316-.003l.344-.343v52.945a8.11 8.11 0 000 .007c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8a8.11 8.11 0 00-.015-.498zM97 112V51.574L64.737 19.31 33 51.048V112h64z\"/></svg>"},"$:/core/images/import-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-import-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M114.832 60.436s3.235-3.27 6.921.417c3.686 3.686.231 7.14.231 7.14l-42.153 42.92s-30.765 32.367-58.798 4.333C-7 87.213 24.59 55.623 24.59 55.623L67.363 12.85s22.725-24.6 43.587-3.738c20.862 20.862-3.96 43.09-3.96 43.09l-35.04 35.04S49.903 112.546 36.426 99.07c-13.476-13.477 11.83-35.523 11.83-35.523l35.04-35.04s3.902-3.902 7.78-.023c3.879 3.878.118 7.921.118 7.921l-35.04 35.04s-13.212 13.212-8.872 17.551c4.34 4.34 16.77-9.653 16.77-9.653l35.04-35.04s16.668-14.598 3.966-27.3c-13.893-13.892-27.565 3.702-27.565 3.702l-42.91 42.91s-23.698 23.698-3.658 43.738 43.012-4.385 43.012-4.385l42.895-42.533z\"/></svg>"},"$:/core/images/info-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-info-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\" transform=\"translate(.05)\"><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\"/><circle cx=\"64\" cy=\"32\" r=\"8\"/><rect width=\"16\" height=\"56\" x=\"56\" y=\"48\" rx=\"8\"/></g></svg>"},"$:/core/images/italic":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-italic tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M66.711 0h22.41L62.408 128H40z\"/></svg>"},"$:/core/images/left-arrow":{"created":"20150315234410875","modified":"20150315235324760","tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-left-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M0 64.177c0-2.026.771-4.054 2.317-5.6l55.98-55.98a7.92 7.92 0 0111.195.001c3.086 3.085 3.092 8.104.001 11.195L19.111 64.175l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.086-8.105 3.092-11.196.001l-55.98-55.98A7.892 7.892 0 010 64.177z\"/></svg>"},"$:/core/images/line-width":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-line-width tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M16 18h96a2 2 0 000-4H16a2 2 0 100 4zm0 17h96a4 4 0 100-8H16a4 4 0 100 8zm0 21h96a6 6 0 000-12H16a6 6 0 100 12zm0 29h96c5.523 0 10-4.477 10-10s-4.477-10-10-10H16c-5.523 0-10 4.477-10 10s4.477 10 10 10zm0 43h96c8.837 0 16-7.163 16-16s-7.163-16-16-16H16c-8.837 0-16 7.163-16 16s7.163 16 16 16z\"/></svg>"},"$:/core/images/link":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-link tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M42.263 69.38a31.919 31.919 0 006.841 10.13c12.5 12.5 32.758 12.496 45.255 0l22.627-22.628c12.502-12.501 12.497-32.758 0-45.255-12.5-12.5-32.758-12.496-45.254 0L49.104 34.255a32.333 32.333 0 00-2.666 3.019 36.156 36.156 0 0121.94.334l14.663-14.663c6.25-6.25 16.382-6.254 22.632-.004 6.248 6.249 6.254 16.373-.004 22.631l-22.62 22.62c-6.25 6.25-16.381 6.254-22.631.004a15.93 15.93 0 01-4.428-8.433 11.948 11.948 0 00-7.59 3.48l-6.137 6.137z\"/><path d=\"M86.35 59.234a31.919 31.919 0 00-6.84-10.13c-12.5-12.5-32.758-12.497-45.255 0L11.627 71.732c-12.501 12.5-12.496 32.758 0 45.254 12.5 12.5 32.758 12.497 45.255 0L79.51 94.36a32.333 32.333 0 002.665-3.02 36.156 36.156 0 01-21.94-.333l-14.663 14.663c-6.25 6.25-16.381 6.253-22.63.004-6.25-6.249-6.255-16.374.003-22.632l22.62-22.62c6.25-6.25 16.381-6.253 22.631-.003a15.93 15.93 0 014.428 8.432 11.948 11.948 0 007.59-3.48l6.137-6.136z\"/></g></svg>"},"$:/core/images/linkify":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-linkify-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M17.031 31.919H9.048V96.85h7.983v6.92H0V25h17.031v6.919zm24.66 0h-7.983V96.85h7.983v6.92H24.66V25h17.03v6.919zM67.77 56.422l11.975-3.903 2.306 7.096-12.063 3.903 7.628 10.379-6.12 4.435-7.63-10.467-7.45 10.2-5.943-4.523L58.1 63.518 45.95 59.35l2.306-7.096 12.064 4.17V43.825h7.45v12.596zM86.31 96.85h7.982V31.92H86.31V25h17.031v78.77H86.31v-6.92zm24.659 0h7.983V31.92h-7.983V25H128v78.77h-17.031v-6.92z\"/></svg>"},"$:/core/images/list-bullet":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-list-bullet tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M11.636 40.273c6.427 0 11.637-5.21 11.637-11.637C23.273 22.21 18.063 17 11.636 17 5.21 17 0 22.21 0 28.636c0 6.427 5.21 11.637 11.636 11.637zm0 34.909c6.427 0 11.637-5.21 11.637-11.637 0-6.426-5.21-11.636-11.637-11.636C5.21 51.91 0 57.12 0 63.545c0 6.427 5.21 11.637 11.636 11.637zm0 34.909c6.427 0 11.637-5.21 11.637-11.636 0-6.427-5.21-11.637-11.637-11.637C5.21 86.818 0 92.028 0 98.455c0 6.426 5.21 11.636 11.636 11.636zM34.91 22.818H128v11.637H34.91V22.818zm0 34.91H128v11.636H34.91V57.727zm0 34.908H128v11.637H34.91V92.636z\"/></svg>"},"$:/core/images/list-number":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-list-number tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M33.84 22.356H128v11.77H33.84v-11.77zm0 35.31H128v11.77H33.84v-11.77zm0 35.311H128v11.77H33.84v-11.77zM.38 42.631v-2.223h.998c.826 0 1.445-.14 1.858-.42.413-.28.619-.948.619-2.002V22.769c0-1.442-.193-2.336-.58-2.683-.385-.347-1.477-.52-3.275-.52v-2.143c3.502-.147 6.252-.955 8.25-2.423h2.117v22.865c0 .921.15 1.575.449 1.963.3.387.949.58 1.948.58h.998v2.223H.38zm-.3 35.356v-1.902c7.19-6.554 10.786-12.58 10.786-18.08 0-1.562-.326-2.81-.979-3.744-.652-.934-1.524-1.402-2.616-1.402-.893 0-1.655.317-2.287.952-.633.634-.95 1.364-.95 2.192 0 .974.247 1.829.74 2.563.106.16.16.28.16.36 0 .147-.16.28-.48.4-.213.08-.752.308-1.618.681-.839.374-1.358.561-1.558.561-.24 0-.512-.37-.819-1.111A6.2 6.2 0 010 57.064c0-1.949.849-3.544 2.547-4.785 1.698-1.242 3.798-1.862 6.302-1.862 2.463 0 4.53.67 6.202 2.012 1.67 1.341 2.506 3.093 2.506 5.256a8.644 8.644 0 01-.849 3.724c-.566 1.201-1.92 3.053-4.064 5.556a165.471 165.471 0 01-6.272 6.938h11.445l-1.019 5.726h-2.117c.08-.28.12-.534.12-.76 0-.388-.1-.631-.3-.731-.2-.1-.599-.15-1.198-.15H.08zm12.124 19.207c1.745.04 3.236.637 4.474 1.792 1.239 1.154 1.858 2.773 1.858 4.855 0 2.99-1.132 5.393-3.396 7.208-2.263 1.815-5 2.723-8.209 2.723-2.01 0-3.669-.384-4.974-1.151C.652 111.853 0 110.849 0 109.607c0-.774.27-1.398.809-1.872.54-.474 1.128-.71 1.768-.71.639 0 1.162.2 1.568.6.406.4.782 1.055 1.128 1.962.466 1.268 1.239 1.902 2.317 1.902 1.265 0 2.287-.477 3.066-1.431.78-.955 1.169-2.686 1.169-5.196 0-1.709-.12-3.023-.36-3.944-.24-.921-.792-1.382-1.658-1.382-.586 0-1.185.307-1.797.921-.493.494-.932.741-1.319.741-.333 0-.602-.147-.809-.44-.206-.294-.31-.574-.31-.841 0-.32.104-.594.31-.821.207-.227.69-.594 1.449-1.102 2.876-1.922 4.314-4.017 4.314-6.287 0-1.188-.306-2.092-.919-2.713a3.001 3.001 0 00-2.217-.93c-.799 0-1.525.263-2.177.79-.653.528-.979 1.158-.979 1.892 0 .641.253 1.235.76 1.782.172.2.259.367.259.5 0 .121-.57.428-1.708.922-1.139.494-1.854.74-2.147.74-.413 0-.75-.333-1.009-1-.26-.668-.39-1.282-.39-1.842 0-1.749.93-3.224 2.787-4.425 1.858-1.202 3.965-1.802 6.322-1.802 2.064 0 3.851.447 5.363 1.341 1.511.895 2.267 2.116 2.267 3.664 0 1.362-.57 2.623-1.708 3.784a13.387 13.387 0 01-3.945 2.784z\"/></svg>"},"$:/core/images/list":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-list tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M87.748 128H23.999c-4.418 0-7.999-3.59-7.999-8.007V8.007C16 3.585 19.588 0 24 0h80c4.419 0 8 3.59 8 8.007V104H91.25c-.965 0-1.84.392-2.473 1.025a3.476 3.476 0 00-1.029 2.476V128zm8-.12l15.88-15.88h-15.88v15.88zM40 15.508A3.502 3.502 0 0143.5 12h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 20h-55a3.498 3.498 0 01-3.5-3.509v-.982zM32 22a6 6 0 100-12 6 6 0 000 12zm8 9.509A3.502 3.502 0 0143.5 28h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 36h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 44h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 52h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 60h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 68h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 76h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 84h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 92h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 100h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.505 3.505 0 0143.497 108h33.006A3.497 3.497 0 0180 111.509v.982A3.505 3.505 0 0176.503 116H43.497A3.497 3.497 0 0140 112.491v-.982zM32 38a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12z\"/></svg>"},"$:/core/images/locked-padlock":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-locked-padlock tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M96.472 64H105v32.01C105 113.674 90.674 128 73.001 128H56C38.318 128 24 113.677 24 96.01V64h8c.003-15.723.303-47.731 32.16-47.731 31.794 0 32.305 32.057 32.312 47.731zm-15.897 0H48.44c.002-16.287.142-32 15.719-32 15.684 0 16.977 16.136 16.415 32zM67.732 92.364A8.503 8.503 0 0064.5 76a8.5 8.5 0 00-3.498 16.25l-5.095 22.77H72.8l-5.07-22.656z\"/></svg>"},"$:/core/images/mail":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-mail tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M122.827 104.894a7.986 7.986 0 01-2.834.516H8.007c-.812 0-1.597-.12-2.335-.345l34.163-34.163 20.842 20.842a3.998 3.998 0 003.418 1.134 4.003 4.003 0 003.395-1.134L88.594 70.64c.075.09.155.176.24.26l33.993 33.994zm5.076-6.237c.064-.406.097-.823.097-1.247v-64c0-.669-.082-1.318-.237-1.94L94.23 65.006c.09.075.177.154.261.239l33.413 33.413zm-127.698.56A8.023 8.023 0 010 97.41v-64c0-.716.094-1.41.271-2.071l33.907 33.906L.205 99.218zM5.93 25.684a8.012 8.012 0 012.078-.273h111.986c.766 0 1.507.108 2.209.308L64.083 83.837 5.93 25.683z\"/></svg>"},"$:/core/images/menu-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-menu-button tc-image-button\" viewBox=\"0 0 128 128\"><rect width=\"128\" height=\"16\" y=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"56\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"96\" rx=\"8\"/></svg>"},"$:/core/images/mono-block":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-mono-block tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M23.965 32.967h.357c.755 0 1.328.192 1.72.577.39.384.586.947.586 1.688 0 .824-.206 1.418-.618 1.782-.413.363-1.094.545-2.045.545h-6.31c-.965 0-1.65-.178-2.056-.535-.405-.356-.608-.954-.608-1.792 0-.811.203-1.391.608-1.74.406-.35 1.09-.525 2.055-.525h.734l-.86-2.453H8.471l-.902 2.453h.734c.95 0 1.632.178 2.044.535.413.356.619.933.619 1.73 0 .824-.206 1.418-.619 1.782-.412.363-1.094.545-2.044.545h-5.41c-.964 0-1.649-.182-2.054-.545-.406-.364-.608-.958-.608-1.782 0-.741.195-1.304.587-1.688.391-.385.964-.577 1.719-.577h.356l5.62-15.641H6.835c-.95 0-1.632-.182-2.044-.546-.412-.363-.619-.95-.619-1.76 0-.825.207-1.42.619-1.783.412-.363 1.094-.545 2.044-.545h7.863c1.244 0 2.118.67 2.62 2.013v.063l6.647 18.2zM12.98 17.326l-3.04 8.848h6.08l-3.04-8.848zm22.402 9.372v6.395h3.145c2.223 0 3.788-.245 4.697-.734.908-.49 1.362-1.307 1.362-2.453 0-1.16-.433-1.985-1.3-2.474-.866-.49-2.383-.734-4.55-.734h-3.354zm10.693-2.327c1.524.559 2.642 1.324 3.355 2.295.713.972 1.07 2.212 1.07 3.722 0 1.272-.308 2.432-.923 3.48-.615 1.049-1.496 1.909-2.642 2.58a7.499 7.499 0 01-2.254.849c-.832.174-2.01.262-3.533.262H30.202c-.922 0-1.583-.182-1.981-.545-.399-.364-.598-.958-.598-1.782 0-.741.189-1.304.566-1.688.378-.385.93-.577 1.657-.577h.356V17.326h-.356c-.727 0-1.28-.196-1.657-.587-.377-.392-.566-.965-.566-1.72 0-.81.203-1.401.608-1.771.406-.37 1.062-.556 1.971-.556h9.645c2.95 0 5.19.573 6.72 1.72 1.53 1.145 2.296 2.823 2.296 5.031 0 1.09-.234 2.052-.703 2.883-.468.832-1.163 1.513-2.086 2.045zM35.381 17.2v5.284h2.83c1.72 0 2.932-.203 3.638-.609.706-.405 1.06-1.09 1.06-2.054 0-.909-.319-1.573-.955-1.992-.636-.42-1.667-.63-3.093-.63h-3.48zm35.863-3.816c.28-.503.566-.86.86-1.07.293-.21.664-.314 1.111-.314.685 0 1.17.182 1.457.545.287.364.43.986.43 1.866l.042 5.452c0 .964-.157 1.614-.472 1.95-.314.335-.884.503-1.709.503-.587 0-1.037-.14-1.352-.42-.314-.28-.584-.796-.807-1.551-.364-1.328-.944-2.282-1.74-2.862-.797-.58-1.901-.87-3.313-.87-2.153 0-3.802.727-4.948 2.18-1.147 1.454-1.72 3.558-1.72 6.311 0 2.74.58 4.844 1.74 6.311 1.16 1.468 2.817 2.202 4.97 2.202 1.467 0 3.085-.49 4.854-1.468 1.768-.978 2.883-1.467 3.344-1.467.545 0 1.003.23 1.373.692.37.46.556 1.034.556 1.719 0 1.23-1.084 2.39-3.25 3.48-2.167 1.09-4.606 1.636-7.318 1.636-3.662 0-6.625-1.21-8.89-3.627-2.264-2.419-3.396-5.578-3.396-9.478 0-3.76 1.146-6.884 3.438-9.372 2.293-2.488 5.2-3.732 8.723-3.732.992 0 1.97.112 2.935.335.964.224 1.992.574 3.082 1.049zm10.22 19.583V17.326h-.356c-.755 0-1.328-.196-1.72-.587-.39-.392-.586-.965-.586-1.72 0-.81.21-1.401.629-1.771.42-.37 1.097-.556 2.034-.556h5.178c2.922 0 5.06.126 6.416.377 1.356.252 2.51.671 3.46 1.258 1.691 1.007 2.988 2.443 3.89 4.31.9 1.865 1.352 4.021 1.352 6.467 0 2.586-.514 4.847-1.541 6.783-1.028 1.936-2.485 3.4-4.372 4.393-.853.447-1.852.772-2.998.975-1.147.203-2.852.304-5.116.304h-6.269c-.965 0-1.65-.178-2.055-.535-.406-.356-.608-.954-.608-1.792 0-.741.195-1.304.587-1.688.391-.385.964-.577 1.72-.577h.356zm5.41-15.725v15.725h1.195c2.642 0 4.592-.646 5.85-1.94 1.258-1.292 1.887-3.28 1.887-5.965 0-2.641-.64-4.612-1.918-5.912-1.28-1.3-3.205-1.95-5.777-1.95-.335 0-.59.003-.765.01a7.992 7.992 0 00-.472.032zm35.067-.126h-9.75v5.368h3.69v-.252c0-.797.175-1.39.524-1.782.35-.392.88-.587 1.594-.587.629 0 1.142.178 1.54.534.4.357.598.808.598 1.353 0 .028.007.118.021.272.014.154.021.308.021.462v4.34c0 .936-.167 1.607-.503 2.013-.335.405-.88.608-1.635.608-.713 0-1.251-.19-1.615-.567-.363-.377-.545-.936-.545-1.677v-.377h-3.69v6.269h9.75v-2.495c0-.937.178-1.608.534-2.013.357-.405.94-.608 1.75-.608.798 0 1.367.2 1.71.597.342.399.513 1.073.513 2.024v5.074c0 .755-.146 1.258-.44 1.51-.293.251-.873.377-1.74.377h-17.172c-.923 0-1.583-.182-1.982-.545-.398-.364-.597-.958-.597-1.782 0-.741.189-1.304.566-1.688.377-.385.93-.577 1.656-.577h.357V17.326h-.357c-.712 0-1.261-.2-1.646-.598-.384-.398-.576-.968-.576-1.709 0-.81.203-1.401.608-1.771.405-.37 1.062-.556 1.97-.556h17.173c.853 0 1.43.13 1.73.388.3.258.45.772.45 1.54v4.698c0 .95-.174 1.631-.524 2.044-.35.412-.915.618-1.698.618-.81 0-1.394-.21-1.75-.629-.357-.419-.535-1.097-.535-2.033v-2.202zM19.77 47.641c.267-.504.55-.86.85-1.07.3-.21.675-.314 1.122-.314.685 0 1.17.181 1.457.545.287.363.43.985.43 1.866l.042 5.451c0 .965-.157 1.615-.472 1.95-.314.336-.891.504-1.73.504-.587 0-1.045-.144-1.373-.43-.329-.287-.598-.8-.807-1.541-.378-1.342-.958-2.3-1.74-2.873-.783-.573-1.88-.86-3.292-.86-2.153 0-3.799.727-4.938 2.181-1.14 1.454-1.709 3.557-1.709 6.311s.598 4.882 1.793 6.385C10.599 67.248 12.294 68 14.488 68c.503 0 1.077-.06 1.72-.179a23.809 23.809 0 002.264-.555v-3.313h-2.37c-.95 0-1.624-.175-2.023-.524-.398-.35-.597-.93-.597-1.74 0-.84.199-1.437.597-1.793.399-.357 1.073-.535 2.024-.535h7.569c.978 0 1.667.175 2.065.524.398.35.598.937.598 1.762 0 .74-.2 1.31-.598 1.708-.398.399-.975.598-1.73.598h-.335v5.242c0 .447-.05.758-.147.933-.098.174-.293.353-.587.534-.797.476-2.062.895-3.795 1.258a25.576 25.576 0 01-5.263.546c-3.662 0-6.625-1.21-8.89-3.628-2.264-2.418-3.397-5.577-3.397-9.477 0-3.76 1.147-6.884 3.44-9.372 2.292-2.488 5.199-3.732 8.721-3.732.979 0 1.954.112 2.925.335.972.224 2.003.573 3.093 1.049zm15.84 3.941v4.823h6.857v-4.823h-.336c-.754 0-1.331-.195-1.73-.587-.398-.391-.597-.964-.597-1.719 0-.825.206-1.419.619-1.782.412-.364 1.093-.545 2.044-.545h5.41c.95 0 1.624.181 2.023.545.398.363.597.957.597 1.782 0 .755-.192 1.328-.576 1.72-.385.39-.947.586-1.688.586h-.357v15.642h.357c.755 0 1.328.192 1.719.576.391.385.587.947.587 1.688 0 .825-.203 1.419-.608 1.782-.405.364-1.09.546-2.055.546h-5.41c-.964 0-1.649-.179-2.054-.535-.405-.357-.608-.954-.608-1.793 0-.74.2-1.303.598-1.688.398-.384.975-.576 1.73-.576h.335v-6.186h-6.856v6.186h.335c.755 0 1.331.192 1.73.576.398.385.597.947.597 1.688 0 .825-.206 1.419-.618 1.782-.412.364-1.094.546-2.044.546h-5.41c-.964 0-1.65-.179-2.055-.535-.405-.357-.608-.954-.608-1.793 0-.74.196-1.303.587-1.688.392-.384.965-.576 1.72-.576h.356V51.582h-.356c-.741 0-1.304-.195-1.688-.587-.385-.391-.577-.964-.577-1.719 0-.825.2-1.419.598-1.782.398-.364 1.073-.545 2.023-.545h5.41c.936 0 1.614.181 2.033.545.42.363.63.957.63 1.782 0 .755-.2 1.328-.598 1.72-.399.39-.975.586-1.73.586h-.335zm31.754 0v15.642h3.523c.95 0 1.632.178 2.044.534.412.357.618.933.618 1.73 0 .811-.21 1.402-.629 1.772-.419.37-1.097.556-2.033.556H58.433c-.95 0-1.632-.182-2.044-.546-.412-.363-.619-.957-.619-1.782 0-.81.203-1.39.608-1.74.406-.35 1.09-.524 2.055-.524h3.523V51.582h-3.523c-.95 0-1.632-.181-2.044-.545-.412-.363-.619-.95-.619-1.761 0-.825.203-1.412.608-1.761.406-.35 1.09-.524 2.055-.524h12.455c.992 0 1.684.174 2.075.524.392.35.587.936.587 1.761 0 .81-.202 1.398-.608 1.761-.405.364-1.09.545-2.054.545h-3.523zm30.496 0v11.994c0 1.873-.122 3.228-.367 4.067a5.876 5.876 0 01-1.227 2.244c-.74.852-1.768 1.495-3.082 1.929-1.314.433-2.893.65-4.738.65-1.3 0-2.555-.126-3.764-.378a16.843 16.843 0 01-3.491-1.132c-.615-.28-1.017-.643-1.206-1.09-.188-.448-.283-1.175-.283-2.18v-4.32c0-1.202.175-2.04.525-2.516.349-.475.957-.713 1.824-.713 1.244 0 1.929.915 2.054 2.747.014.321.035.566.063.733.168 1.622.545 2.73 1.133 3.324.587.594 1.523.89 2.81.89 1.593 0 2.714-.422 3.364-1.268.65-.845.975-2.386.975-4.623V51.582H88.93c-.95 0-1.632-.181-2.044-.545-.413-.363-.619-.95-.619-1.761 0-.825.2-1.412.598-1.761.398-.35 1.086-.524 2.065-.524h10.693c.979 0 1.667.174 2.065.524.399.35.598.936.598 1.761 0 .81-.206 1.398-.619 1.761-.412.364-1.093.545-2.044.545h-1.761zm14.644 0v6.353l6.48-6.478c-.728-.084-1.238-.29-1.531-.619-.294-.328-.44-.85-.44-1.562 0-.825.198-1.419.597-1.782.398-.364 1.073-.545 2.023-.545h5.137c.95 0 1.625.181 2.023.545.399.363.598.957.598 1.782 0 .769-.2 1.345-.598 1.73-.398.384-.982.576-1.75.576h-.483l-6.101 6.06c1.132.839 2.167 1.94 3.103 3.302.937 1.363 2.034 3.456 3.292 6.28h.692c.825 0 1.44.188 1.845.566.405.377.608.943.608 1.698 0 .825-.206 1.419-.619 1.782-.412.364-1.093.546-2.044.546h-2.579c-1.132 0-2.048-.762-2.746-2.286-.126-.28-.224-.503-.294-.67-.923-1.958-1.768-3.467-2.537-4.53a16.616 16.616 0 00-2.705-2.914l-1.97 1.887v3.92h.335c.755 0 1.331.193 1.73.577.398.385.597.947.597 1.688 0 .825-.206 1.419-.618 1.782-.413.364-1.094.546-2.045.546h-5.41c-.964 0-1.649-.179-2.054-.535-.405-.357-.608-.954-.608-1.793 0-.74.196-1.303.587-1.688.391-.384.965-.576 1.72-.576h.356V51.582h-.357c-.74 0-1.303-.195-1.687-.587-.385-.391-.577-.964-.577-1.719 0-.825.2-1.419.598-1.782.398-.364 1.072-.545 2.023-.545h5.41c.936 0 1.614.181 2.033.545.42.363.63.957.63 1.782 0 .755-.2 1.328-.598 1.72-.399.39-.975.586-1.73.586h-.336zM13.44 96.326l4.005-11.889c.251-.782.6-1.352 1.048-1.709.447-.356 1.041-.534 1.782-.534h3.271c.95 0 1.632.182 2.044.545.413.363.619.957.619 1.782 0 .755-.2 1.328-.598 1.72-.398.39-.975.587-1.73.587h-.335l.587 15.641h.357c.754 0 1.32.192 1.698.577.377.384.566.947.566 1.687 0 .825-.2 1.42-.598 1.783-.398.363-1.072.545-2.023.545h-4.718c-.95 0-1.624-.178-2.023-.535-.398-.356-.597-.954-.597-1.793 0-.74.192-1.303.576-1.687.385-.385.954-.577 1.709-.577h.335l-.293-12.79-3.061 9.52c-.224.712-.542 1.226-.954 1.54-.413.315-.982.472-1.709.472-.727 0-1.303-.157-1.73-.472-.426-.314-.751-.828-.975-1.54l-3.04-9.52-.294 12.79h.336c.755 0 1.324.192 1.709.577.384.384.576.947.576 1.687 0 .825-.202 1.42-.608 1.783-.405.363-1.076.545-2.013.545H2.621c-.937 0-1.608-.182-2.013-.545-.405-.364-.608-.958-.608-1.783 0-.74.192-1.303.577-1.687.384-.385.954-.577 1.708-.577h.336l.608-15.641h-.336c-.754 0-1.331-.196-1.73-.588-.398-.39-.597-.964-.597-1.719 0-.825.206-1.419.619-1.782.412-.363 1.093-.545 2.044-.545h3.27c.728 0 1.311.175 1.752.524.44.35.8.923 1.08 1.72l4.109 11.888zm30.454 2.054V86.828H42.74c-.922 0-1.583-.182-1.981-.546-.398-.363-.598-.95-.598-1.76 0-.812.2-1.402.598-1.773.398-.37 1.059-.555 1.981-.555h5.955c.909 0 1.566.185 1.97.555.406.37.609.961.609 1.772 0 .741-.192 1.31-.577 1.709-.384.398-.933.598-1.646.598h-.356v19.038c0 .657-.07 1.069-.21 1.237-.14.167-.454.251-.943.251h-2.097c-.67 0-1.143-.07-1.415-.21-.273-.14-.507-.384-.703-.733l-8.722-15.327v11.385h1.216c.909 0 1.559.175 1.95.524.392.35.587.93.587 1.74 0 .825-.199 1.42-.597 1.783-.399.363-1.045.545-1.94.545h-6.017c-.909 0-1.566-.182-1.971-.545-.406-.364-.608-.958-.608-1.783 0-.74.188-1.303.566-1.687.377-.385.936-.577 1.677-.577h.336V86.828h-.336c-.713 0-1.265-.2-1.656-.598-.392-.398-.587-.968-.587-1.709 0-.81.206-1.401.618-1.772.413-.37 1.066-.555 1.96-.555h3.44c.824 0 1.383.108 1.677.325.293.216.622.653.985 1.31l7.989 14.551zM64.66 86.366c-1.803 0-3.218.727-4.245 2.18-1.028 1.455-1.541 3.474-1.541 6.06 0 2.586.517 4.613 1.551 6.08 1.034 1.468 2.446 2.202 4.235 2.202 1.804 0 3.222-.73 4.257-2.19 1.034-1.461 1.551-3.492 1.551-6.092 0-2.586-.513-4.605-1.54-6.06-1.028-1.453-2.45-2.18-4.268-2.18zm0-4.864c3.44 0 6.27 1.23 8.492 3.69 2.223 2.46 3.334 5.598 3.334 9.414 0 3.844-1.104 6.99-3.313 9.436-2.208 2.446-5.046 3.669-8.513 3.669-3.424 0-6.255-1.234-8.491-3.701-2.237-2.467-3.355-5.602-3.355-9.404 0-3.83 1.108-6.971 3.323-9.424 2.216-2.454 5.057-3.68 8.523-3.68zM87.461 98.17v4.298h2.16c.908 0 1.555.175 1.94.524.384.35.576.93.576 1.74 0 .825-.196 1.42-.587 1.783-.392.363-1.035.545-1.93.545h-7.254c-.922 0-1.583-.182-1.981-.545-.399-.364-.598-.958-.598-1.783 0-.74.189-1.303.566-1.687.378-.385.93-.577 1.657-.577h.356V86.828h-.356c-.713 0-1.262-.2-1.646-.598-.385-.398-.577-.968-.577-1.709 0-.81.203-1.401.608-1.772.406-.37 1.063-.555 1.971-.555h8.66c3.424 0 6.014.657 7.768 1.97 1.754 1.315 2.631 3.25 2.631 5.809 0 2.697-.873 4.738-2.62 6.122-1.748 1.384-4.34 2.076-7.78 2.076h-3.564zm0-11.343v6.625h2.977c1.65 0 2.89-.28 3.722-.839.832-.559 1.248-1.397 1.248-2.516 0-1.048-.43-1.855-1.29-2.421-.86-.566-2.086-.85-3.68-.85h-2.977zm27.267 20.568l-1.636 1.636a12.37 12.37 0 011.772-.44c.58-.098 1.15-.147 1.709-.147 1.104 0 2.268.164 3.491.492 1.223.329 1.967.493 2.233.493.447 0 1.03-.15 1.75-.45.72-.301 1.206-.452 1.458-.452.517 0 .947.2 1.29.598.342.398.513.898.513 1.5 0 .796-.472 1.474-1.415 2.033-.944.56-2.1.839-3.47.839-.937 0-2.139-.22-3.607-.66-1.467-.441-2.53-.661-3.187-.661-.992 0-2.11.272-3.354.817-1.244.546-2.013.818-2.307.818a2.14 2.14 0 01-1.53-.597c-.42-.399-.63-.878-.63-1.437 0-.391.134-.807.4-1.247.265-.44.733-1.01 1.404-1.709l2.118-2.139c-2.335-.852-4.194-2.386-5.578-4.602-1.384-2.215-2.075-4.763-2.075-7.642 0-3.802 1.104-6.909 3.312-9.32 2.209-2.411 5.053-3.617 8.534-3.617 3.467 0 6.304 1.209 8.513 3.627 2.208 2.418 3.312 5.522 3.312 9.31 0 3.774-1.097 6.884-3.291 9.33-2.195 2.446-4.977 3.67-8.345 3.67a22.5 22.5 0 01-1.384-.043zm1.195-21.03c-1.803 0-3.218.727-4.246 2.18-1.027 1.455-1.54 3.474-1.54 6.06 0 2.586.516 4.613 1.55 6.08 1.035 1.468 2.447 2.202 4.236 2.202 1.803 0 3.222-.73 4.256-2.19 1.035-1.461 1.552-3.492 1.552-6.092 0-2.586-.514-4.605-1.541-6.06-1.028-1.453-2.45-2.18-4.267-2.18z\"/></svg>"},"$:/core/images/mono-line":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-mono-line tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60.437 84.523h.908c1.922 0 3.381.489 4.378 1.468.997.979 1.495 2.411 1.495 4.298 0 2.1-.525 3.612-1.575 4.538-1.05.925-2.785 1.388-5.206 1.388h-16.07c-2.456 0-4.2-.454-5.232-1.361-1.032-.908-1.548-2.43-1.548-4.565 0-2.065.516-3.542 1.548-4.432 1.032-.89 2.776-1.334 5.232-1.334h1.869l-2.19-6.247H20.983l-2.296 6.247h1.87c2.42 0 4.155.453 5.205 1.361 1.05.908 1.575 2.376 1.575 4.405 0 2.1-.525 3.612-1.575 4.538-1.05.925-2.785 1.388-5.206 1.388H6.781c-2.456 0-4.2-.463-5.233-1.388C.516 93.9 0 92.389 0 90.289c0-1.887.498-3.32 1.495-4.298.997-.979 2.456-1.468 4.378-1.468h.908l14.308-39.83h-4.271c-2.42 0-4.156-.462-5.206-1.387-1.05-.926-1.575-2.42-1.575-4.485 0-2.1.525-3.613 1.575-4.538 1.05-.926 2.785-1.388 5.206-1.388h20.021c3.168 0 5.392 1.708 6.674 5.125v.16l16.924 46.343zm-27.976-39.83L24.72 67.225h15.483l-7.742-22.53zM89.506 68.56v16.284h8.008c5.66 0 9.646-.623 11.96-1.869 2.313-1.245 3.47-3.328 3.47-6.246 0-2.955-1.103-5.055-3.31-6.3-2.207-1.246-6.069-1.869-11.586-1.869h-8.542zm27.229-5.926c3.88 1.423 6.727 3.372 8.542 5.846 1.815 2.474 2.723 5.633 2.723 9.477 0 3.239-.783 6.193-2.35 8.862-1.565 2.67-3.808 4.859-6.726 6.567-1.709.997-3.622 1.718-5.74 2.163-2.118.445-5.116.667-8.996.667h-27.87c-2.349 0-4.03-.463-5.045-1.388-1.014-.926-1.521-2.438-1.521-4.538 0-1.887.48-3.32 1.441-4.298.961-.979 2.367-1.468 4.218-1.468h.907v-39.83h-.907c-1.851 0-3.257-.498-4.218-1.494-.961-.997-1.441-2.456-1.441-4.378 0-2.065.516-3.568 1.548-4.512 1.032-.943 2.705-1.414 5.018-1.414h24.56c7.51 0 13.214 1.459 17.111 4.377 3.898 2.92 5.847 7.19 5.847 12.814 0 2.776-.597 5.223-1.789 7.341-1.192 2.118-2.963 3.853-5.312 5.206zm-27.23-18.26v13.455h7.208c4.378 0 7.466-.516 9.264-1.549 1.797-1.032 2.696-2.776 2.696-5.232 0-2.313-.81-4.004-2.43-5.072-1.619-1.068-4.244-1.602-7.874-1.602h-8.863z\"/></svg>"},"$:/core/images/new-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 72H8.007C3.591 72 0 68.418 0 64c0-4.41 3.585-8 8.007-8H56V8.007C56 3.591 59.582 0 64 0c4.41 0 8 3.585 8 8.007V56h47.993c4.416 0 8.007 3.582 8.007 8 0 4.41-3.585 8-8.007 8H72v47.993c0 4.416-3.582 8.007-8 8.007-4.41 0-8-3.585-8-8.007V72z\"/></svg>"},"$:/core/images/new-here-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-here-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.838 20.935l-3.572.938c-3.688.968-8.23 4.43-10.136 7.731L3.37 96.738c-1.905 3.3-.771 7.524 2.534 9.432l33.717 19.466c3.297 1.904 7.53.78 9.435-2.521l38.76-67.134c1.905-3.3 2.632-8.963 1.623-12.646L83.285 20.88c-1.009-3.68-4.821-5.884-8.513-4.915l-7.603 1.995.043.287c.524 3.394 2.053 7.498 4.18 11.55.418.163.829.36 1.23.59a8.864 8.864 0 014.438 8.169c.104.132.21.264.316.395l-.386.318a8.663 8.663 0 01-1.082 3.137c-2.42 4.192-7.816 5.608-12.051 3.163-4.12-2.379-5.624-7.534-3.476-11.671-2.177-4.394-3.788-8.874-4.543-12.964z\"/><path d=\"M69.554 44.76c-5.944-7.476-10.74-17.196-11.955-25.059-1.68-10.875 3.503-18.216 15.082-18.04 10.407.158 19.975 5.851 24.728 13.785 5.208 8.695 2.95 17.868-6.855 20.496l-2.037-7.601c4.232-1.134 4.999-4.248 2.24-8.853-3.37-5.626-10.465-9.848-18.146-9.965-6.392-.097-8.31 2.62-7.323 9.01.999 6.465 5.318 15.138 10.582 21.65l-.072.06c.559 1.553-4.17 6.44-5.938 4.888l-.005.004-.028-.034a1.323 1.323 0 01-.124-.135 2.618 2.618 0 01-.149-.205z\"/><rect width=\"16\" height=\"48\" x=\"96\" y=\"80\" rx=\"8\"/><rect width=\"48\" height=\"16\" x=\"80\" y=\"96\" rx=\"8\"/></g></svg>"},"$:/core/images/new-image-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-image-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M81.362 73.627l15.826-27.41a2.626 2.626 0 00-.962-3.59l-50.01-28.872a2.626 2.626 0 00-3.588.961L30.058 36.49l10.04-5.261c3.042-1.595 6.771.114 7.55 3.46l3.607 17.702 9.88.85a5.25 5.25 0 014.571 3.77c.034.115.1.344.199.671.165.553.353 1.172.562 1.843.595 1.914 1.23 3.85 1.872 5.678.207.588.412 1.156.614 1.701.625 1.685 1.209 3.114 1.725 4.207.255.54.485.977.726 1.427.214.212.547.425 1.011.622 1.141.482 2.784.74 4.657.758.864.008 1.71-.034 2.492-.11.448-.043.753-.085.871-.104.315-.053.625-.077.927-.076zM37.47 2.649A5.257 5.257 0 0144.649.725l63.645 36.746a5.257 5.257 0 011.923 7.178L73.47 108.294a5.257 5.257 0 01-7.177 1.923L2.649 73.47a5.257 5.257 0 01-1.924-7.177L37.471 2.649zm42.837 50.49a5.25 5.25 0 105.25-9.092 5.25 5.25 0 00-5.25 9.093zM96 112h-7.993c-4.419 0-8.007-3.582-8.007-8 0-4.41 3.585-8 8.007-8H96v-7.993C96 83.588 99.582 80 104 80c4.41 0 8 3.585 8 8.007V96h7.993c4.419 0 8.007 3.582 8.007 8 0 4.41-3.585 8-8.007 8H112v7.993c0 4.419-3.582 8.007-8 8.007-4.41 0-8-3.585-8-8.007V112zM33.347 51.791c7.428 7.948 9.01 10.69 7.449 13.394-1.56 2.703-13.838-2.328-16.094 1.58-2.256 3.908-.907 3.258-2.437 5.908l19.73 11.39s-5.605-8.255-4.235-10.628c2.515-4.356 8.77-1.256 10.365-4.019 2.414-4.181-5.103-9.639-14.778-17.625z\"/></svg>"},"$:/core/images/new-journal-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-journal-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M102.545 112.818v11.818c0 1.306 1.086 2.364 2.425 2.364h6.06c1.34 0 2.425-1.058 2.425-2.364v-11.818h12.12c1.34 0 2.425-1.058 2.425-2.363v-5.91c0-1.305-1.085-2.363-2.424-2.363h-12.121V90.364c0-1.306-1.086-2.364-2.425-2.364h-6.06c-1.34 0-2.425 1.058-2.425 2.364v11.818h-12.12c-1.34 0-2.425 1.058-2.425 2.363v5.91c0 1.305 1.085 2.363 2.424 2.363h12.121zM60.016 4.965c-4.781-2.76-10.897-1.118-13.656 3.66L5.553 79.305A9.993 9.993 0 009.21 92.963l51.04 29.468c4.78 2.76 10.897 1.118 13.655-3.66l40.808-70.681a9.993 9.993 0 00-3.658-13.656L60.016 4.965zm-3.567 27.963a6 6 0 106-10.393 6 6 0 00-6 10.393zm31.697 17.928a6 6 0 106-10.392 6 6 0 00-6 10.392z\"/><text class=\"tc-fill-background\" font-family=\"Helvetica\" font-size=\"47.172\" font-weight=\"bold\" transform=\"rotate(30 25.742 95.82)\"><tspan x=\"42\" y=\"77.485\" text-anchor=\"middle\"><<now \"DD\">></tspan></text></g></svg>"},"$:/core/images/opacity":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-opacity tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M102.362 65a51.595 51.595 0 01-1.942 6H82.584a35.867 35.867 0 002.997-6h16.78zm.472-2c.423-1.961.734-3.963.929-6H87.656a35.78 35.78 0 01-1.368 6h16.546zm-3.249 10a51.847 51.847 0 01-3.135 6H75.812a36.205 36.205 0 005.432-6h18.341zm-4.416 8c-1.424 2.116-3 4.12-4.71 6H60.46a35.843 35.843 0 0012.874-6h21.834zm-7.513-34h16.107C101.247 20.627 79.033 0 52 0 23.281 0 0 23.281 0 52c0 25.228 17.965 46.26 41.8 51h20.4a51.66 51.66 0 0015.875-6H39v-2h42.25a52.257 52.257 0 007.288-6H39v-2h4.539C27.739 83.194 16 68.968 16 52c0-19.882 16.118-36 36-36 18.186 0 33.222 13.484 35.656 31zm.22 2h16.039a52.823 52.823 0 010 6H87.877a36.483 36.483 0 000-6z\"/><path d=\"M76 128c28.719 0 52-23.281 52-52s-23.281-52-52-52-52 23.281-52 52 23.281 52 52 52zm0-16c19.882 0 36-16.118 36-36S95.882 40 76 40 40 56.118 40 76s16.118 36 36 36z\"/><path d=\"M37 58h53v4H37v-4zm3-8h53v4H40v-4zm0-8h53v4H40v-4zm-8 24h53v4H32v-4zm-2 8h53v4H30v-4zm-3 8h53v4H27v-4z\"/></g></svg>"},"$:/core/images/open-window":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-open-window tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M16 112h88.994c3.87 0 7.006 3.59 7.006 8 0 4.418-3.142 8-7.006 8H7.006C3.136 128 0 124.41 0 120a9.321 9.321 0 010-.01V24.01C0 19.586 3.59 16 8 16c4.418 0 8 3.584 8 8.01V112z\"/><path d=\"M96 43.196V56a8 8 0 1016 0V24c0-4.41-3.585-8-8.007-8H72.007C67.588 16 64 19.582 64 24c0 4.41 3.585 8 8.007 8H84.57l-36.3 36.299a8 8 0 00-.001 11.316c3.117 3.117 8.19 3.123 11.316-.003L96 43.196zM32 7.999C32 3.581 35.588 0 40 0h80c4.419 0 8 3.588 8 8v80c0 4.419-3.588 8-8 8H40c-4.419 0-8-3.588-8-8V8z\"/></g></svg>"},"$:/core/images/options-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-options-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M110.488 76a47.712 47.712 0 01-5.134 12.384l6.724 6.724c3.123 3.123 3.132 8.192.011 11.313l-5.668 5.668c-3.12 3.12-8.186 3.117-11.313-.01l-6.724-6.725c-3.82 2.258-7.98 4-12.384 5.134v9.505c0 4.417-3.578 8.007-7.992 8.007h-8.016C55.58 128 52 124.415 52 119.993v-9.505a47.712 47.712 0 01-12.384-5.134l-6.724 6.725c-3.123 3.122-8.192 3.131-11.313.01l-5.668-5.668c-3.12-3.12-3.116-8.186.01-11.313l6.725-6.724c-2.257-3.82-4-7.98-5.134-12.384H8.007C3.591 76 0 72.422 0 68.01v-8.017C0 55.58 3.585 52 8.007 52h9.505a47.712 47.712 0 015.134-12.383l-6.724-6.725c-3.123-3.122-3.132-8.191-.011-11.312l5.668-5.669c3.12-3.12 8.186-3.116 11.313.01l6.724 6.725c3.82-2.257 7.98-4 12.384-5.134V8.007C52 3.591 55.578 0 59.992 0h8.016C72.42 0 76 3.585 76 8.007v9.505a47.712 47.712 0 0112.384 5.134l6.724-6.724c3.123-3.123 8.192-3.132 11.313-.01l5.668 5.668c3.12 3.12 3.116 8.186-.01 11.312l-6.725 6.725c2.257 3.82 4 7.979 5.134 12.383h9.505c4.416 0 8.007 3.578 8.007 7.992v8.017c0 4.411-3.585 7.991-8.007 7.991h-9.505zM64 96c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32z\"/></svg>"},"$:/core/images/paint":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-paint tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M83.527 76.19C90.43 69.287 91.892 59 87.91 50.665l37.903-37.902c2.919-2.92 2.913-7.659 0-10.572a7.474 7.474 0 00-10.572 0L77.338 40.093c-8.335-3.982-18.622-2.521-25.526 4.383l31.715 31.715zm-2.643 2.644L49.169 47.119S8.506 81.243 0 80.282c0 0 3.782 5.592 6.827 8.039 14.024-5.69 37.326-24.6 37.326-24.6l.661.66S19.45 90.222 9.18 92.047c1.222 1.44 4.354 4.053 6.247 5.776 5.417-1.488 34.733-28.57 34.733-28.57l.661.66-32.407 31.022 5.285 5.286L56.106 75.2l.662.66s-27.864 30.536-28.684 32.432c0 0 6.032 6.853 7.569 7.824.702-2.836 27.884-33.485 27.884-33.485l.661.66s-20.597 23.755-24.964 36.732c3.21 3.549 7.5 5.137 10.926 6.298-2.19-11.817 30.724-47.487 30.724-47.487z\"/></svg>"},"$:/core/images/palette":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-palette tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M80.247 39.182a93.52 93.52 0 00-16.228-1.4C28.662 37.781 0 57.131 0 81.002c0 9.642 4.676 18.546 12.58 25.735C23.504 91.19 26.34 72.395 36.89 63.562c15.183-12.713 26.538-7.828 26.538-7.828l16.82-16.552zm26.535 9.655c13.049 7.913 21.257 19.392 21.257 32.166 0 9.35.519 17.411-11.874 25.08-10.797 6.681-3.824-6.536-11.844-10.898s-19.946 1.308-18.213 7.906c3.2 12.181 19.422 11.455 6.314 16.658-13.107 5.202-18.202 4.476-28.403 4.476-7.821 0-15.315-.947-22.243-2.68 9.844-4.197 27.88-12.539 33.354-19.456C82.788 92.409 87.37 80 83.324 72.484c-.194-.359 11.215-11.668 23.458-23.647zM1.134 123.867l-.66.002c33.479-14.94 22.161-64.226 58.818-64.226.317 1.418.644 2.944 1.062 4.494-25.907-4.166-23.567 48.031-59.22 59.73zm.713-.007c38.872-.506 78.152-22.347 78.152-44.813-9.27 0-14.073-3.48-16.816-7.942-16.597-7.003-30.365 45.715-61.336 52.755zm65.351-64.008c-4.45 4.115 4.886 16.433 11.318 11.318l45.27-45.27c11.317-11.318 0-22.635-11.318-11.318-11.317 11.318-33.518 34.405-45.27 45.27z\"/></svg>"},"$:/core/images/permalink-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-permalink-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M80.483 48l-7.387 32h-25.58l7.388-32h25.58zm3.694-16l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L100.598 32h3.403c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8h-7.096l-7.387 32H104c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H85.824l-5.624 24.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L69.402 96h-25.58L38.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L27.402 96h-3.403C19.59 96 16 92.418 16 88c0-4.41 3.581-8 8-8h7.096l7.387-32H24C19.59 48 16 44.418 16 40c0-4.41 3.581-8 8-8h18.177l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L58.598 32h25.58z\"/></svg>"},"$:/core/images/permaview-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-permaview-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M81.483 48l-1.846 8h-5.58l1.847-8h5.58zm3.694-16l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L101.598 32h2.403c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8h-6.096l-1.847 8h7.944c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H92.364l-1.846 8H104c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H86.824l-5.624 24.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L70.402 96h-5.58L59.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L48.402 96h-5.58L37.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L26.402 96h-2.403C19.59 96 16 92.418 16 88c0-4.41 3.581-8 8-8h6.096l1.847-8h-7.944C19.59 72 16 68.418 16 64c0-4.41 3.581-8 8-8h11.637l1.846-8H24C19.59 48 16 44.418 16 40c0-4.41 3.581-8 8-8h17.177l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L57.598 32h5.58L68.8 7.642c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L79.598 32h5.58zM53.904 48l-1.847 8h5.58l1.846-8h-5.579zm22.039 24l-1.847 8h-5.58l1.847-8h5.58zm-27.58 0l-1.846 8h5.579l1.847-8h-5.58z\"/></svg>"},"$:/core/images/picture":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-picture tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M112 68.233v-48.23A4.001 4.001 0 00107.997 16H20.003A4.001 4.001 0 0016 20.003v38.31l9.241-14.593c2.8-4.422 9.023-5.008 12.6-1.186l18.247 20.613 13.687-6.407a8 8 0 018.903 1.492 264.97 264.97 0 002.92 2.739 249.44 249.44 0 006.798 6.066 166.5 166.5 0 002.106 1.778c2.108 1.747 3.967 3.188 5.482 4.237.748.518 1.383.92 2.044 1.33.444.117 1.046.144 1.809.05 1.873-.233 4.238-1.144 6.723-2.547a36.016 36.016 0 003.205-2.044c.558-.4.93-.686 1.07-.802.376-.31.765-.577 1.165-.806zM0 8.007A8.01 8.01 0 018.007 0h111.986A8.01 8.01 0 01128 8.007v111.986a8.01 8.01 0 01-8.007 8.007H8.007A8.01 8.01 0 010 119.993V8.007zM95 42a8 8 0 100-16 8 8 0 000 16zM32 76c15.859 4.83 20.035 7.244 20.035 12S32 95.471 32 102.347c0 6.876 1.285 4.99 1.285 9.653H68s-13.685-6.625-13.685-10.8c0-7.665 10.615-8.34 10.615-13.2 0-7.357-14.078-8.833-32.93-12z\"/></svg>"},"$:/core/images/plugin-generic-language":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M61.207 68.137c-4.324 2.795-6.999 6.656-6.999 10.921 0 7.906 9.19 14.424 21.042 15.336 2.162 3.902 8.598 6.785 16.318 7.01-5.126-1.125-9.117-3.742-10.62-7.01C92.805 93.487 102 86.967 102 79.059c0-8.53-10.699-15.445-23.896-15.445-6.599 0-12.572 1.729-16.897 4.524zm12.794-14.158c-4.324 2.795-10.298 4.524-16.897 4.524-2.619 0-5.14-.272-7.497-.775-3.312 2.25-8.383 3.69-14.067 3.69l-.255-.002c4.119-.892 7.511-2.747 9.478-5.13-6.925-2.704-11.555-7.617-11.555-13.228 0-8.53 10.699-15.445 23.896-15.445C70.301 27.613 81 34.528 81 43.058c0 4.265-2.675 8.126-6.999 10.921zM64 0l54.56 32v64L64 128 9.44 96V32L64 0z\"/></svg>"},"$:/core/images/plugin-generic-plugin":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M40.397 76.446V95.34h14.12l-.001-.005a6.912 6.912 0 005.364-11.593l.046-.023a6.912 6.912 0 119.979.526l.086.055a6.914 6.914 0 004.408 10.948l-.023.092h21.32V75.568l-.15.038a6.912 6.912 0 00-11.593-5.364l-.022-.046a6.912 6.912 0 11.526-9.979l.055-.086a6.914 6.914 0 0010.948-4.408c.079.018.158.038.236.059v-15.74h-21.32l.023-.094a6.914 6.914 0 01-4.408-10.947 10.23 10.23 0 00-.086-.055 6.912 6.912 0 10-9.979-.526l-.046.023a6.912 6.912 0 01-5.364 11.593l.001.005h-14.12v12.847A6.912 6.912 0 0129.5 59.843l-.054.086a6.912 6.912 0 10-.526 9.979l.023.046a6.912 6.912 0 0111.455 6.492zM64 0l54.56 32v64L64 128 9.44 96V32L64 0z\"/></svg>"},"$:/core/images/plugin-generic-theme":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M29.408 91.472L51.469 69.41l-.004-.005a2.22 2.22 0 01.004-3.146c.87-.87 2.281-.872 3.147-.005l9.465 9.464a2.22 2.22 0 01-.005 3.147c-.87.87-2.28.871-3.147.005l-.005-.005-22.061 22.062a6.686 6.686 0 11-9.455-9.455zM60.802 66.38c-2.436-2.704-4.465-5.091-5.817-6.869-6.855-9.014-10.313-4.268-14.226 0-3.913 4.268 1.03 7.726-2.683 10.741-3.713 3.015-3.484 4.06-9.752-1.455-6.267-5.516-6.7-7.034-3.823-10.181 2.877-3.147 5.281 1.808 11.159-3.785 5.877-5.593.94-10.55.94-10.55s12.237-25.014 28.588-23.167c16.351 1.848-6.186-2.392-11.792 17.226-2.4 8.4.447 6.42 4.998 9.968 1.394 1.086 6.03 4.401 11.794 8.685l20.677-20.676 1.615-4.766 7.84-4.689 3.151 3.152-4.688 7.84-4.766 1.615-20.224 20.223c12.663 9.547 28.312 22.146 28.312 26.709 0 7.217-3.071 11.526-9.535 9.164-4.693-1.715-18.768-15.192-28.753-25.897l-2.893 2.893-3.151-3.152 3.029-3.029zM63.953 0l54.56 32v64l-54.56 32-54.56-32V32l54.56-32z\"/></svg>"},"$:/core/images/preview-closed":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-preview-closed tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M.088 64a7.144 7.144 0 001.378 5.458C16.246 88.818 39.17 100.414 64 100.414c24.83 0 47.753-11.596 62.534-30.956A7.144 7.144 0 00127.912 64C110.582 78.416 88.304 87.086 64 87.086 39.696 87.086 17.418 78.416.088 64z\"/><rect width=\"4\" height=\"16\" x=\"62\" y=\"96\" rx=\"4\"/><rect width=\"4\" height=\"16\" x=\"78\" y=\"93\" rx=\"4\" transform=\"rotate(-5 80 101)\"/><rect width=\"4\" height=\"16\" x=\"46\" y=\"93\" rx=\"4\" transform=\"rotate(5 48 101)\"/><rect width=\"4\" height=\"16\" x=\"30\" y=\"88\" rx=\"4\" transform=\"rotate(10 32 96)\"/><rect width=\"4\" height=\"16\" x=\"94\" y=\"88\" rx=\"4\" transform=\"rotate(-10 96 96)\"/><rect width=\"4\" height=\"16\" x=\"110\" y=\"80\" rx=\"4\" transform=\"rotate(-20 112 88)\"/><rect width=\"4\" height=\"16\" x=\"14\" y=\"80\" rx=\"4\" transform=\"rotate(20 16 88)\"/></g></svg>"},"$:/core/images/preview-open":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-preview-open tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64.11 99.588c-24.83 0-47.754-11.596-62.534-30.957a7.148 7.148 0 010-8.675C16.356 40.596 39.28 29 64.11 29c24.83 0 47.753 11.596 62.534 30.956a7.148 7.148 0 010 8.675c-14.78 19.36-37.703 30.957-62.534 30.957zm46.104-32.007c1.44-1.524 1.44-3.638 0-5.162C99.326 50.9 82.439 44 64.147 44S28.968 50.9 18.08 62.42c-1.44 1.523-1.44 3.637 0 5.16C28.968 79.1 45.855 86 64.147 86s35.179-6.9 46.067-18.42z\"/><path d=\"M63.5 88C76.479 88 87 77.479 87 64.5S76.479 41 63.5 41 40 51.521 40 64.5 50.521 88 63.5 88z\"/></g></svg>"},"$:/core/images/print-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-print-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M112 71V30.5h-.032c-.035-2-.816-3.99-2.343-5.516L86.998 2.357A7.978 7.978 0 0081 .02V0H24a8 8 0 00-8 8v63h8V8h57v14.5c0 4.422 3.582 8 8 8h15V71h8z\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"36\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"52\" rx=\"4\"/><rect width=\"40\" height=\"8\" x=\"32\" y=\"20\" rx=\"4\"/><path d=\"M0 80.005C0 71.165 7.156 64 16 64h96c8.836 0 16 7.155 16 16.005v31.99c0 8.84-7.156 16.005-16 16.005H16c-8.836 0-16-7.155-16-16.005v-31.99zM104 96a8 8 0 100-16 8 8 0 000 16z\"/></g></svg>"},"$:/core/images/quote":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-quote tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M51.219 117.713V62.199H27.427c0-8.891 1.683-16.401 5.047-22.53 3.365-6.127 9.613-10.754 18.745-13.878V2c-7.45.961-14.36 3.184-20.728 6.669-6.368 3.484-11.835 7.87-16.401 13.157C9.524 27.113 5.98 33.241 3.456 40.21.933 47.18-.21 54.63.03 62.56v55.153H51.22zm76.781 0V62.199h-23.791c0-8.891 1.682-16.401 5.046-22.53 3.365-6.127 9.613-10.754 18.745-13.878V2c-7.45.961-14.359 3.184-20.727 6.669-6.369 3.484-11.836 7.87-16.402 13.157-4.566 5.287-8.11 11.415-10.634 18.384-2.523 6.97-3.665 14.42-3.424 22.35v55.153H128z\"/></svg>"},"$:/core/images/refresh-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-refresh-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M106.369 39.433c10.16 20.879 6.57 46.764-10.771 64.106-21.87 21.87-57.327 21.87-79.196 0-21.87-21.87-21.87-57.326 0-79.196a8 8 0 1111.314 11.314c-15.621 15.62-15.621 40.947 0 56.568 15.62 15.621 40.947 15.621 56.568 0C97.72 78.79 99.6 58.175 89.924 42.73l-6.44 12.264a8 8 0 11-14.166-7.437L84.435 18.76a8 8 0 0110.838-3.345l28.873 15.345a8 8 0 11-7.51 14.129l-10.267-5.457zm-8.222-12.368c-.167-.19-.336-.38-.506-.57l.96-.296-.454.866z\"/></svg>"},"$:/core/images/right-arrow":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-right-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M99.069 64.173c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l50.382-50.382-50.382-50.382a7.92 7.92 0 010-11.195c3.086-3.085 8.104-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.316 5.595z\"/></svg>"},"$:/core/images/rotate-left":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-rotate-left tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"32\" height=\"80\" rx=\"8\"/><rect width=\"80\" height=\"32\" x=\"48\" y=\"96\" rx=\"8\"/><path d=\"M61.32 36.65c19.743 2.45 35.023 19.287 35.023 39.693a4 4 0 01-8 0c0-15.663-11.254-28.698-26.117-31.46l3.916 3.916a4 4 0 11-5.657 5.657L49.172 43.142a4 4 0 010-5.657l11.313-11.313a4 4 0 115.657 5.656l-4.821 4.822z\"/></g></svg>"},"$:/core/images/save-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-save-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M120.783 34.33c4.641 8.862 7.266 18.948 7.266 29.646 0 35.347-28.653 64-64 64-35.346 0-64-28.653-64-64 0-35.346 28.654-64 64-64 18.808 0 35.72 8.113 47.43 21.03l2.68-2.68c3.13-3.13 8.197-3.132 11.321-.008 3.118 3.118 3.121 8.193-.007 11.32l-4.69 4.691zm-12.058 12.058a47.876 47.876 0 013.324 17.588c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48c14.39 0 27.3 6.332 36.098 16.362L58.941 73.544 41.976 56.578c-3.127-3.127-8.201-3.123-11.32-.005-3.123 3.124-3.119 8.194.006 11.319l22.617 22.617a7.992 7.992 0 005.659 2.347c2.05 0 4.101-.783 5.667-2.349l44.12-44.12z\"/></svg>"},"$:/core/images/size":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-size tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M92.343 26l-9.171 9.172a4 4 0 105.656 5.656l16-16a4 4 0 000-5.656l-16-16a4 4 0 10-5.656 5.656L92.343 18H22a4 4 0 00-4 4v70.343l-9.172-9.171a4 4 0 10-5.656 5.656l16 16a4 4 0 005.656 0l16-16a4 4 0 10-5.656-5.656L26 92.343V22l-4 4h70.343zM112 52v64l4-4H52a4 4 0 100 8h64a4 4 0 004-4V52a4 4 0 10-8 0z\"/></svg>"},"$:/core/images/spiral":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-spiral tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64.534 68.348c3.39 0 6.097-2.62 6.476-5.968l-4.755-.538 4.75.583c.377-3.07-1.194-6.054-3.89-7.78-2.757-1.773-6.34-2.01-9.566-.7-3.46 1.403-6.14 4.392-7.35 8.148l-.01.026c-1.3 4.08-.72 8.64 1.58 12.52 2.5 4.2 6.77 7.2 11.76 8.27 5.37 1.15 11.11-.05 15.83-3.31 5.04-3.51 8.46-9.02 9.45-15.3 1.05-6.7-.72-13.63-4.92-19.19l.02.02c-4.42-5.93-11.2-9.82-18.78-10.78-7.96-1.01-16.13 1.31-22.59 6.43-6.81 5.39-11.18 13.41-12.11 22.26-.98 9.27 1.87 18.65 7.93 26.02 6.32 7.69 15.6 12.56 25.74 13.48 10.54.96 21.15-2.42 29.45-9.4l.01-.01c8.58-7.25 13.94-17.78 14.86-29.21.94-11.84-2.96-23.69-10.86-32.9-8.19-9.5-19.95-15.36-32.69-16.27-13.16-.94-26.24 3.49-36.34 12.34l.01-.01c-10.41 9.08-16.78 22.1-17.68 36.15-.93 14.44 4.03 28.77 13.79 39.78 10.03 11.32 24.28 18.2 39.6 19.09 15.73.92 31.31-4.56 43.24-15.234 12.23-10.954 19.61-26.44 20.5-43.074a4.785 4.785 0 00-4.52-5.03 4.778 4.778 0 00-5.03 4.52c-.75 14.1-7 27.2-17.33 36.45-10.03 8.98-23.11 13.58-36.3 12.81-12.79-.75-24.67-6.48-33-15.89-8.07-9.11-12.17-20.94-11.41-32.827.74-11.52 5.942-22.15 14.43-29.54l.01-.01c8.18-7.17 18.74-10.75 29.35-9.998 10.21.726 19.6 5.41 26.11 12.96 6.24 7.273 9.32 16.61 8.573 25.894-.718 8.9-4.88 17.064-11.504 22.66l.01-.007c-6.36 5.342-14.44 7.92-22.425 7.19-7.604-.68-14.52-4.314-19.21-10.027-4.44-5.4-6.517-12.23-5.806-18.94.67-6.3 3.76-11.977 8.54-15.766 4.46-3.54 10.05-5.128 15.44-4.44 5.03.63 9.46 3.18 12.32 7.01l.02.024c2.65 3.5 3.75 7.814 3.1 11.92-.59 3.71-2.58 6.925-5.45 8.924-2.56 1.767-5.61 2.403-8.38 1.81-2.42-.516-4.42-1.92-5.53-3.79-.93-1.56-1.15-3.3-.69-4.75l-4.56-1.446L59.325 65c.36-1.12 1.068-1.905 1.84-2.22.25-.103.48-.14.668-.13.06.006.11.015.14.025.01 0 .01 0-.01-.01a1.047 1.047 0 01-.264-.332c-.15-.29-.23-.678-.18-1.11l-.005.04c.15-1.332 1.38-2.523 3.035-2.523-2.65 0-4.79 2.144-4.79 4.787s2.14 4.785 4.78 4.785z\"/></svg>"},"$:/core/images/stamp":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-stamp tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M49.733 64H16.01C11.584 64 8 67.583 8 72.003V97h112V72.003A8 8 0 00111.99 64H78.267A22.813 22.813 0 0175.5 53.077c0-6.475 2.687-12.324 7.009-16.497A22.818 22.818 0 0087 22.952C87 10.276 76.703 0 64 0S41 10.276 41 22.952c0 5.103 1.669 9.817 4.491 13.628 4.322 4.173 7.009 10.022 7.009 16.497 0 3.954-1.002 7.675-2.767 10.923zM8 104h112v8H8v-8z\"/></svg>"},"$:/core/images/star-filled":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-star-filled tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M61.836 96.823l37.327 27.287c2.72 1.99 6.379-.69 5.343-3.912L90.29 75.988l-1.26 3.91 37.285-27.345c2.718-1.993 1.32-6.327-2.041-6.33l-46.113-.036 3.3 2.416L67.176 4.416c-1.04-3.221-5.563-3.221-6.604 0L46.29 48.603l3.3-2.416-46.113.036c-3.362.003-4.759 4.337-2.04 6.33L38.72 79.898l-1.26-3.91-14.216 44.21c-1.036 3.223 2.622 5.901 5.343 3.912l37.326-27.287h-4.078z\"/></svg>"},"$:/core/images/storyview-classic":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-storyview-classic tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16C19.581 16 16 19.578 16 23.992v16.016C16 44.422 19.588 48 24 48h80c4.419 0 8-3.578 8-7.992V23.992c0-4.414-3.588-7.992-8-7.992H24zm0 48C19.581 64 16 67.59 16 72c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24zm0 32C19.581 96 16 99.59 16 104c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24z\"/></svg>"},"$:/core/images/storyview-pop":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-storyview-pop tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16C19.581 16 16 19.578 16 23.992v16.016C16 44.422 19.588 48 24 48h80c4.419 0 8-3.578 8-7.992V23.992c0-4.414-3.588-7.992-8-7.992H24zm-7.99 40C11.587 56 8 59.578 8 63.992v16.016C8 84.422 11.584 88 16.01 88h95.98c4.424 0 8.01-3.578 8.01-7.992V63.992c0-4.414-3.584-7.992-8.01-7.992H16.01zM24 96C19.581 96 16 99.59 16 104c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24zm0-32C19.581 64 16 67.59 16 72c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24z\"/></svg>"},"$:/core/images/storyview-zoomin":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-storyview-zoomin tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16A8 8 0 0016 24.009V71.99C16 76.414 19.588 80 24 80h80a8 8 0 008-8.009V24.01c0-4.423-3.588-8.009-8-8.009H24z\"/></svg>"},"$:/core/images/strikethrough":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-strikethrough tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M92.794 38.726h15.422c-.229-6.74-1.514-12.538-3.856-17.393-2.342-4.855-5.54-8.881-9.596-12.08-4.055-3.199-8.767-5.54-14.136-7.025C75.258.743 69.433 0 63.15 0a62.76 62.76 0 00-16.364 2.142C41.474 3.57 36.733 5.74 32.564 8.653c-4.17 2.913-7.511 6.626-10.025 11.138-2.513 4.512-3.77 9.853-3.77 16.022 0 5.597 1.115 10.252 3.342 13.965 2.228 3.712 5.198 6.74 8.91 9.081 3.713 2.342 7.911 4.227 12.595 5.655a194.641 194.641 0 0014.308 3.77c4.855 1.085 9.624 2.142 14.308 3.17 4.683 1.028 8.881 2.37 12.594 4.027 3.713 1.656 6.683 3.798 8.91 6.425 2.228 2.628 3.342 6.055 3.342 10.281 0 4.456-.914 8.111-2.742 10.967a19.953 19.953 0 01-7.197 6.768c-2.97 1.657-6.311 2.828-10.024 3.513a60.771 60.771 0 01-11.052 1.028c-4.57 0-9.025-.571-13.366-1.713-4.34-1.143-8.139-2.913-11.394-5.312-3.256-2.4-5.884-5.455-7.883-9.168-1.999-3.712-2.998-8.139-2.998-13.28H15c0 7.426 1.342 13.852 4.027 19.278 2.684 5.426 6.34 9.881 10.966 13.365 4.627 3.484 9.996 6.083 16.107 7.797 6.112 1.713 12.595 2.57 19.449 2.57 5.597 0 11.223-.657 16.878-1.97 5.655-1.314 10.767-3.428 15.336-6.34 4.57-2.914 8.31-6.683 11.224-11.31 2.913-4.626 4.37-10.195 4.37-16.707 0-6.054-1.115-11.08-3.342-15.079-2.228-3.998-5.198-7.31-8.91-9.938-3.713-2.627-7.911-4.712-12.595-6.254a170.83 170.83 0 00-14.308-4.027 549.669 549.669 0 00-14.308-3.17c-4.683-.971-8.881-2.2-12.594-3.684-3.713-1.485-6.683-3.399-8.91-5.74-2.228-2.342-3.342-5.398-3.342-9.168 0-3.998.771-7.34 2.313-10.024 1.543-2.685 3.599-4.826 6.17-6.426 2.57-1.599 5.51-2.741 8.824-3.427a49.767 49.767 0 0110.11-1.028c8.453 0 15.393 1.97 20.819 5.912 5.426 3.94 8.596 10.31 9.51 19.106z\"/><path d=\"M5 54h118v16H5z\"/></g></svg>"},"$:/core/images/subscript":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-subscript tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M2.272 16h19.91l21.649 33.675L66.414 16h18.708L53.585 61.969l33.809 49.443H67.082L43.296 74.93l-24.187 36.48H0L33.808 61.97 2.272 16zM127.91 128.412H85.328c.059-5.168 1.306-9.681 3.741-13.542 2.435-3.86 5.761-7.216 9.978-10.066a112.388 112.388 0 016.325-4.321 50.09 50.09 0 006.058-4.499c1.841-1.603 3.356-3.34 4.543-5.211 1.188-1.871 1.812-4.024 1.871-6.46 0-1.128-.133-2.33-.4-3.607a9.545 9.545 0 00-1.56-3.564c-.772-1.098-1.84-2.019-3.207-2.761-1.366-.743-3.148-1.114-5.345-1.114-2.02 0-3.697.4-5.033 1.203-1.337.801-2.406 1.9-3.208 3.296-.801 1.396-1.395 3.044-1.781 4.944-.386 1.9-.609 3.95-.668 6.147H86.486c0-3.445.46-6.637 1.38-9.577.921-2.94 2.302-5.478 4.143-7.617 1.841-2.138 4.083-3.815 6.726-5.033 2.643-1.217 5.716-1.826 9.22-1.826 3.802 0 6.979.623 9.533 1.87 2.554 1.248 4.617 2.822 6.191 4.722 1.574 1.9 2.688 3.965 3.341 6.192.653 2.227.98 4.35.98 6.37 0 2.494-.386 4.75-1.158 6.77a21.803 21.803 0 01-3.118 5.568 31.516 31.516 0 01-4.454 4.677 66.788 66.788 0 01-5.167 4.009 139.198 139.198 0 01-5.346 3.563 79.237 79.237 0 00-4.944 3.386c-1.514 1.128-2.836 2.3-3.964 3.518-1.129 1.218-1.9 2.51-2.317 3.876h30.379v9.087z\"/></svg>"},"$:/core/images/superscript":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-superscript tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M2.272 16h19.91l21.649 33.675L66.414 16h18.708L53.585 61.969l33.809 49.443H67.082L43.296 74.93l-24.187 36.48H0L33.808 61.97 2.272 16zM127.91 63.412H85.328c.059-5.168 1.306-9.681 3.741-13.542 2.435-3.86 5.761-7.216 9.978-10.066a112.388 112.388 0 016.325-4.321 50.09 50.09 0 006.058-4.499c1.841-1.603 3.356-3.34 4.543-5.211 1.188-1.871 1.812-4.024 1.871-6.46 0-1.128-.133-2.33-.4-3.607a9.545 9.545 0 00-1.56-3.564c-.772-1.098-1.84-2.019-3.207-2.761-1.366-.743-3.148-1.114-5.345-1.114-2.02 0-3.697.4-5.033 1.203-1.337.801-2.406 1.9-3.208 3.296-.801 1.396-1.395 3.044-1.781 4.944-.386 1.9-.609 3.95-.668 6.147H86.486c0-3.445.46-6.637 1.38-9.577.921-2.94 2.302-5.478 4.143-7.617 1.841-2.138 4.083-3.815 6.726-5.033 2.643-1.217 5.716-1.826 9.22-1.826 3.802 0 6.979.623 9.533 1.87 2.554 1.248 4.617 2.822 6.191 4.722 1.574 1.9 2.688 3.965 3.341 6.192.653 2.227.98 4.35.98 6.37 0 2.494-.386 4.75-1.158 6.77a21.803 21.803 0 01-3.118 5.568 31.516 31.516 0 01-4.454 4.677 66.788 66.788 0 01-5.167 4.009 139.198 139.198 0 01-5.346 3.563 79.237 79.237 0 00-4.944 3.386c-1.514 1.128-2.836 2.3-3.964 3.518-1.129 1.218-1.9 2.51-2.317 3.876h30.379v9.087z\"/></svg>"},"$:/core/images/tag-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-tag-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M18.164 47.66l.004 4.105c.003 3.823 2.19 9.097 4.885 11.792l61.85 61.85c2.697 2.697 7.068 2.69 9.769-.01L125.767 94.3a6.903 6.903 0 00.01-9.77L63.928 22.683c-2.697-2.697-7.976-4.88-11.796-4.881l-27.076-.007a6.902 6.902 0 00-6.91 6.91l.008 9.96.287.033c3.73.411 8.489-.044 13.365-1.153a9.702 9.702 0 0111.14-3.662l.291-.13.128.285a9.7 9.7 0 013.3 2.17c3.796 3.796 3.801 9.945.012 13.734-3.618 3.618-9.386 3.777-13.204.482-5.365 1.122-10.674 1.596-15.309 1.237z\"/><path d=\"M47.633 39.532l.023.051c-9.689 4.356-21.584 6.799-30.396 5.828C5.273 44.089-1.028 36.43 2.443 24.078 5.562 12.976 14.3 4.361 24.047 1.548c10.68-3.083 19.749 1.968 19.749 13.225h-8.623c0-4.859-3.078-6.573-8.735-4.94-6.91 1.995-13.392 8.383-15.694 16.577-1.915 6.818.417 9.653 7.46 10.43 7.126.785 17.531-1.352 25.917-5.121l.027.06.036-.017c1.76-.758 6.266 6.549 3.524 7.74a2.8 2.8 0 01-.075.03z\"/></g></svg>"},"$:/core/images/theme-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-theme-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.854 66.945a122.626 122.626 0 01-3.9-4.819c-11.064-14.548-16.645-6.888-22.96 0-6.315 6.888 1.664 12.47-4.33 17.335-5.993 4.866-5.623 6.552-15.737-2.35-10.115-8.9-10.815-11.351-6.172-16.43 4.644-5.08 8.524 2.918 18.01-6.108 9.485-9.026 1.517-17.026 1.517-17.026S42.03-2.824 68.42.157c26.39 2.982-9.984-3.86-19.031 27.801-3.874 13.556.72 10.362 8.066 16.087 1.707 1.33 6.428 4.732 12.671 9.318-6.129 5.879-11.157 10.669-14.273 13.582zm11.641 12.947c16.013 17.036 37.742 37.726 45.117 40.42 10.432 3.813 15.388-3.141 15.388-14.79 0-7.151-23.83-26.542-43.924-41.769-7.408 7.156-13.376 12.953-16.58 16.139z\"/><path d=\"M11.069 109.828L46.31 74.587a3.56 3.56 0 115.037-5.032l15.098 15.098a3.56 3.56 0 11-5.032 5.037l-35.24 35.241c-4.171 4.17-10.933 4.17-15.104 0-4.17-4.17-4.17-10.933 0-15.103zM124.344 6.622l5.034 5.034-7.49 12.524-7.613 2.58L61.413 79.62l-5.034-5.034 52.861-52.862 2.58-7.614 12.524-7.49z\"/></g></svg>"},"$:/core/images/timestamp-off":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-timestamp-off tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10a5 5 0 010-10H66.69a5 5 0 015 5c.006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M58.25 35.88c-18.777 0-33.998 15.224-33.998 33.998 0 18.773 15.22 34.002 33.998 34.002 18.784 0 34.002-15.23 34.002-34.002 0-18.774-15.218-33.998-34.002-33.998zm-3.03 50.123H44.196v-34H55.22v34zm16.976 0H61.17v-34h11.025v34z\"/></g></svg>"},"$:/core/images/timestamp-on":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-timestamp-on tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10a5 5 0 010-10H66.69a5 5 0 015 5c.006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M13.41 27.178a5.005 5.005 0 01-7.045-.613 5.008 5.008 0 01.616-7.047l9.95-8.348a5 5 0 016.429 7.661l-9.95 8.348zm89.573 0a5.005 5.005 0 007.045-.613 5.008 5.008 0 00-.616-7.047l-9.95-8.348a5 5 0 00-6.428 7.661l9.95 8.348zM65.097 71.072c0 3.826-3.09 6.928-6.897 6.928-3.804.006-6.9-3.102-6.903-6.928 0 0 4.76-39.072 6.903-39.072s6.897 39.072 6.897 39.072z\"/></g></svg>"},"$:/core/images/tip":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-tip tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 128.242c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64 0 35.346 28.654 64 64 64zm11.936-36.789c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349C54.33 94.05 58.824 95.82 64 95.82c5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.456c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zM64.3 24.242c11.618 0 23.699 7.82 23.699 24.2S75.92 71.754 75.92 83.576c0 5.873-5.868 9.26-11.92 9.26s-12.027-3.006-12.027-9.26C51.973 71.147 40 65.47 40 48.442s12.683-24.2 24.301-24.2z\"/></svg>"},"$:/core/images/transcludify":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-transcludify-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M0 59.482c.591 0 1.36-.089 2.306-.266a10.417 10.417 0 002.75-.932 6.762 6.762 0 002.306-1.907c.651-.828.976-1.863.976-3.104V35.709c0-2.01.414-3.74 1.242-5.19.828-1.448 1.833-2.66 3.016-3.636s2.425-1.7 3.726-2.173c1.3-.473 2.424-.71 3.37-.71h8.073v7.451h-4.88c-1.241 0-2.232.207-2.97.621-.74.414-1.302.932-1.686 1.552a4.909 4.909 0 00-.71 1.996c-.089.71-.133 1.39-.133 2.04v16.677c0 1.715-.325 3.134-.976 4.258-.65 1.123-1.434 2.025-2.35 2.705-.917.68-1.863 1.168-2.839 1.464-.976.296-1.818.473-2.528.532v.178c.71.059 1.552.207 2.528.443.976.237 1.922.68 2.839 1.33.916.651 1.7 1.583 2.35 2.795.65 1.212.976 2.853.976 4.923v16.144c0 .65.044 1.33.133 2.04.089.71.325 1.375.71 1.996.384.621.946 1.139 1.685 1.553.74.414 1.73.62 2.972.62h4.879v7.452h-8.073c-.946 0-2.07-.237-3.37-.71-1.301-.473-2.543-1.197-3.726-2.173-1.183-.976-2.188-2.188-3.016-3.637-.828-1.449-1.242-3.179-1.242-5.19V74.119c0-1.42-.325-2.572-.976-3.46-.65-.886-1.419-1.581-2.306-2.084a8.868 8.868 0 00-2.75-1.02C1.36 67.377.591 67.288 0 67.288v-7.806zm24.66 0c.591 0 1.36-.089 2.306-.266a10.417 10.417 0 002.75-.932 6.762 6.762 0 002.306-1.907c.65-.828.976-1.863.976-3.104V35.709c0-2.01.414-3.74 1.242-5.19.828-1.448 1.833-2.66 3.016-3.636s2.425-1.7 3.726-2.173c1.3-.473 2.424-.71 3.37-.71h8.073v7.451h-4.88c-1.241 0-2.232.207-2.97.621-.74.414-1.302.932-1.686 1.552a4.909 4.909 0 00-.71 1.996c-.089.71-.133 1.39-.133 2.04v16.677c0 1.715-.325 3.134-.976 4.258-.65 1.123-1.434 2.025-2.35 2.705-.917.68-1.863 1.168-2.839 1.464-.976.296-1.818.473-2.528.532v.178c.71.059 1.552.207 2.528.443.976.237 1.922.68 2.839 1.33.916.651 1.7 1.583 2.35 2.795.65 1.212.976 2.853.976 4.923v16.144c0 .65.044 1.33.133 2.04.089.71.325 1.375.71 1.996.384.621.946 1.139 1.685 1.553.74.414 1.73.62 2.972.62h4.879v7.452h-8.073c-.946 0-2.07-.237-3.37-.71-1.301-.473-2.543-1.197-3.726-2.173-1.183-.976-2.188-2.188-3.016-3.637-.828-1.449-1.242-3.179-1.242-5.19V74.119c0-1.42-.325-2.572-.976-3.46-.65-.886-1.419-1.581-2.306-2.084a8.868 8.868 0 00-2.75-1.02c-.946-.177-1.715-.266-2.306-.266v-7.806zm43.965-3.538L80.6 52.041l2.306 7.097-12.063 3.903 7.628 10.378-6.12 4.435-7.63-10.467-7.45 10.201-5.943-4.524 7.628-10.023-12.152-4.17 2.306-7.096 12.064 4.17V43.347h7.451v12.596zm34.425 11.344c-.65 0-1.449.089-2.395.266-.946.177-1.863.488-2.75.931a6.356 6.356 0 00-2.262 1.908c-.62.828-.931 1.862-.931 3.104v17.564c0 2.01-.414 3.74-1.242 5.189-.828 1.449-1.833 2.661-3.016 3.637s-2.425 1.7-3.726 2.173c-1.3.473-2.424.71-3.37.71h-8.073v-7.451h4.88c1.241 0 2.232-.207 2.97-.621.74-.414 1.302-.932 1.686-1.553a4.9 4.9 0 00.71-1.995c.089-.71.133-1.39.133-2.04V72.432c0-1.715.325-3.134.976-4.258.65-1.124 1.434-2.01 2.35-2.661.917-.65 1.863-1.124 2.839-1.42.976-.295 1.818-.502 2.528-.62v-.178c-.71-.059-1.552-.207-2.528-.443-.976-.237-1.922-.68-2.839-1.33-.916-.651-1.7-1.583-2.35-2.795-.65-1.212-.976-2.853-.976-4.923V37.66c0-.651-.044-1.331-.133-2.04a4.909 4.909 0 00-.71-1.997c-.384-.62-.946-1.138-1.685-1.552-.74-.414-1.73-.62-2.972-.62h-4.879V24h8.073c.946 0 2.07.237 3.37.71 1.301.473 2.543 1.197 3.726 2.173 1.183.976 2.188 2.188 3.016 3.637.828 1.449 1.242 3.178 1.242 5.189v16.943c0 1.419.31 2.572.931 3.46a6.897 6.897 0 002.262 2.084 8.868 8.868 0 002.75 1.02c.946.177 1.745.266 2.395.266v7.806zm24.66 0c-.65 0-1.449.089-2.395.266-.946.177-1.863.488-2.75.931a6.356 6.356 0 00-2.262 1.908c-.62.828-.931 1.862-.931 3.104v17.564c0 2.01-.414 3.74-1.242 5.189-.828 1.449-1.833 2.661-3.016 3.637s-2.425 1.7-3.726 2.173c-1.3.473-2.424.71-3.37.71h-8.073v-7.451h4.88c1.241 0 2.232-.207 2.97-.621.74-.414 1.302-.932 1.686-1.553a4.9 4.9 0 00.71-1.995c.089-.71.133-1.39.133-2.04V72.432c0-1.715.325-3.134.976-4.258.65-1.124 1.434-2.01 2.35-2.661.917-.65 1.863-1.124 2.839-1.42.976-.295 1.818-.502 2.528-.62v-.178c-.71-.059-1.552-.207-2.528-.443-.976-.237-1.922-.68-2.839-1.33-.916-.651-1.7-1.583-2.35-2.795-.65-1.212-.976-2.853-.976-4.923V37.66c0-.651-.044-1.331-.133-2.04a4.909 4.909 0 00-.71-1.997c-.384-.62-.946-1.138-1.685-1.552-.74-.414-1.73-.62-2.972-.62h-4.879V24h8.073c.946 0 2.07.237 3.37.71 1.301.473 2.543 1.197 3.726 2.173 1.183.976 2.188 2.188 3.016 3.637.828 1.449 1.242 3.178 1.242 5.189v16.943c0 1.419.31 2.572.931 3.46a6.897 6.897 0 002.262 2.084 8.868 8.868 0 002.75 1.02c.946.177 1.745.266 2.395.266v7.806z\"/></svg>"},"$:/core/images/twitter":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-twitter tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M41.626 115.803A73.376 73.376 0 012 104.235c2.022.238 4.08.36 6.166.36 12.111 0 23.258-4.117 32.105-11.023-11.312-.208-20.859-7.653-24.148-17.883a25.98 25.98 0 0011.674-.441C15.971 72.881 7.061 62.474 7.061 49.997c0-.108 0-.216.002-.323a25.824 25.824 0 0011.709 3.22c-6.936-4.617-11.5-12.5-11.5-21.433 0-4.719 1.274-9.142 3.5-12.945 12.75 15.579 31.797 25.83 53.281 26.904-.44-1.884-.67-3.85-.67-5.868 0-14.22 11.575-25.75 25.852-25.75a25.865 25.865 0 0118.869 8.132 51.892 51.892 0 0016.415-6.248c-1.93 6.012-6.029 11.059-11.366 14.246A51.844 51.844 0 00128 25.878a52.428 52.428 0 01-12.9 13.33c.05 1.104.075 2.214.075 3.33 0 34.028-26 73.265-73.549 73.265\"/></svg>"},"$:/core/images/underline":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-underline tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M7 117.421h114.248V128H7v-10.579zm97.871-18.525V0h-16.26v55.856c0 4.463-.605 8.576-1.816 12.338-1.212 3.762-3.03 7.046-5.452 9.851-2.423 2.806-5.452 4.974-9.086 6.504-3.635 1.53-7.939 2.296-12.912 2.296-6.25 0-11.159-1.786-14.73-5.356-3.57-3.571-5.356-8.417-5.356-14.538V0H23v65.038c0 5.356.542 10.234 1.626 14.633 1.084 4.4 2.965 8.194 5.643 11.382 2.678 3.188 6.185 5.643 10.52 7.365 4.337 1.721 9.756 2.582 16.26 2.582 7.27 0 13.582-1.435 18.938-4.304 5.356-2.87 9.755-7.365 13.199-13.486h.382v15.686h15.303z\"/></svg>"},"$:/core/images/unfold-all-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-unfold-all tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"64\" rx=\"8\"/><path d=\"M63.945 60.624c-2.05 0-4.101-.78-5.666-2.345L35.662 35.662c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L63.94 41.314l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.603 58.279a7.986 7.986 0 01-5.663 2.346zM64.004 124.565c-2.05 0-4.102-.78-5.666-2.345L35.721 99.603c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.191-3.122 11.318.005L64 105.255l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.662 122.22a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"},"$:/core/images/unfold-button":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-unfold tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><path d=\"M63.945 63.624c-2.05 0-4.101-.78-5.666-2.345L35.662 38.662c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L63.94 44.314l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.603 61.279a7.986 7.986 0 01-5.663 2.346zM64.004 105.682c-2.05.001-4.102-.78-5.666-2.344L35.721 80.721c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.191-3.122 11.318.005L64 86.373l16.966-16.966c3.124-3.125 8.194-3.13 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319l-22.617 22.617a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"},"$:/core/images/unlocked-padlock":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-unlocked-padlock tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M48.627 64H105v32.01C105 113.674 90.674 128 73.001 128H56C38.318 128 24 113.677 24 96.01V64h6.136c-10.455-12.651-27.364-35.788-4.3-55.142 24.636-20.672 45.835 4.353 55.777 16.201 9.943 11.85-2.676 22.437-12.457 9.892-9.78-12.545-21.167-24.146-33.207-14.043-12.041 10.104-1.757 22.36 8.813 34.958 2.467 2.94 3.641 5.732 3.865 8.134zm19.105 28.364A8.503 8.503 0 0064.5 76a8.5 8.5 0 00-3.498 16.25l-5.095 22.77H72.8l-5.07-22.656z\"/></svg>"},"$:/core/images/up-arrow":{"created":"20150316000544368","modified":"20150316000831867","tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-up-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M63.892.281c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.104 3.092-11.196 0L63.894 19.393 13.513 69.774a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l55.98-55.98A7.892 7.892 0 0163.893.28z\"/></svg>"},"$:/core/images/video":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-video tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 12c-34.91 0-55.273 2.917-58.182 5.833C2.91 20.75 0 41.167 0 64.5c0 23.333 2.91 43.75 5.818 46.667C8.728 114.083 29.091 117 64 117c34.91 0 55.273-2.917 58.182-5.833C125.09 108.25 128 87.833 128 64.5c0-23.333-2.91-43.75-5.818-46.667C119.272 14.917 98.909 12 64 12zm-9.084 32.618c-3.813-2.542-6.905-.879-6.905 3.698v31.368c0 4.585 3.099 6.235 6.905 3.698l22.168-14.779c3.813-2.542 3.806-6.669 0-9.206L54.916 44.618z\"/></svg>"},"$:/core/images/warning":{"tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-warning tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M57.072 11c3.079-5.333 10.777-5.333 13.856 0l55.426 96c3.079 5.333-.77 12-6.928 12H8.574c-6.158 0-10.007-6.667-6.928-12l55.426-96zM64 37c-4.418 0-8 3.582-8 7.994v28.012C56 77.421 59.59 81 64 81c4.418 0 8-3.582 8-7.994V44.994C72 40.579 68.41 37 64 37zm0 67a8 8 0 100-16 8 8 0 000 16z\"/></svg>"},"$:/language/Buttons/AdvancedSearch/Caption":{"text":"advanced search"},"$:/language/Buttons/AdvancedSearch/Hint":{"text":"Advanced search"},"$:/language/Buttons/Cancel/Caption":{"text":"cancel"},"$:/language/Buttons/Cancel/Hint":{"text":"Discard changes to this tiddler"},"$:/language/Buttons/Clone/Caption":{"text":"clone"},"$:/language/Buttons/Clone/Hint":{"text":"Clone this tiddler"},"$:/language/Buttons/Close/Caption":{"text":"close"},"$:/language/Buttons/Close/Hint":{"text":"Close this tiddler"},"$:/language/Buttons/CloseAll/Caption":{"text":"close all"},"$:/language/Buttons/CloseAll/Hint":{"text":"Close all tiddlers"},"$:/language/Buttons/CloseOthers/Caption":{"text":"close others"},"$:/language/Buttons/CloseOthers/Hint":{"text":"Close other tiddlers"},"$:/language/Buttons/ControlPanel/Caption":{"text":"control panel"},"$:/language/Buttons/ControlPanel/Hint":{"text":"Open control panel"},"$:/language/Buttons/CopyToClipboard/Caption":{"text":"copy to clipboard"},"$:/language/Buttons/CopyToClipboard/Hint":{"text":"Copy this text to the clipboard"},"$:/language/Buttons/Delete/Caption":{"text":"delete"},"$:/language/Buttons/Delete/Hint":{"text":"Delete this tiddler"},"$:/language/Buttons/Edit/Caption":{"text":"edit"},"$:/language/Buttons/Edit/Hint":{"text":"Edit this tiddler"},"$:/language/Buttons/Encryption/Caption":{"text":"encryption"},"$:/language/Buttons/Encryption/Hint":{"text":"Set or clear a password for saving this wiki"},"$:/language/Buttons/Encryption/ClearPassword/Caption":{"text":"clear password"},"$:/language/Buttons/Encryption/ClearPassword/Hint":{"text":"Clear the password and save this wiki without encryption"},"$:/language/Buttons/Encryption/SetPassword/Caption":{"text":"set password"},"$:/language/Buttons/Encryption/SetPassword/Hint":{"text":"Set a password for saving this wiki with encryption"},"$:/language/Buttons/ExportPage/Caption":{"text":"export all"},"$:/language/Buttons/ExportPage/Hint":{"text":"Export all tiddlers"},"$:/language/Buttons/ExportTiddler/Caption":{"text":"export tiddler"},"$:/language/Buttons/ExportTiddler/Hint":{"text":"Export tiddler"},"$:/language/Buttons/ExportTiddlers/Caption":{"text":"export tiddlers"},"$:/language/Buttons/ExportTiddlers/Hint":{"text":"Export tiddlers"},"$:/language/Buttons/SidebarSearch/Hint":{"text":"Select the sidebar search field"},"$:/language/Buttons/Fold/Caption":{"text":"fold tiddler"},"$:/language/Buttons/Fold/Hint":{"text":"Fold the body of this tiddler"},"$:/language/Buttons/Fold/FoldBar/Caption":{"text":"fold-bar"},"$:/language/Buttons/Fold/FoldBar/Hint":{"text":"Optional bars to fold and unfold tiddlers"},"$:/language/Buttons/Unfold/Caption":{"text":"unfold tiddler"},"$:/language/Buttons/Unfold/Hint":{"text":"Unfold the body of this tiddler"},"$:/language/Buttons/FoldOthers/Caption":{"text":"fold other tiddlers"},"$:/language/Buttons/FoldOthers/Hint":{"text":"Fold the bodies of other opened tiddlers"},"$:/language/Buttons/FoldAll/Caption":{"text":"fold all tiddlers"},"$:/language/Buttons/FoldAll/Hint":{"text":"Fold the bodies of all opened tiddlers"},"$:/language/Buttons/UnfoldAll/Caption":{"text":"unfold all tiddlers"},"$:/language/Buttons/UnfoldAll/Hint":{"text":"Unfold the bodies of all opened tiddlers"},"$:/language/Buttons/FullScreen/Caption":{"text":"full-screen"},"$:/language/Buttons/FullScreen/Hint":{"text":"Enter or leave full-screen mode"},"$:/language/Buttons/Help/Caption":{"text":"help"},"$:/language/Buttons/Help/Hint":{"text":"Show help panel"},"$:/language/Buttons/Import/Caption":{"text":"import"},"$:/language/Buttons/Import/Hint":{"text":"Import many types of file including text, image, TiddlyWiki or JSON"},"$:/language/Buttons/Info/Caption":{"text":"info"},"$:/language/Buttons/Info/Hint":{"text":"Show information for this tiddler"},"$:/language/Buttons/Home/Caption":{"text":"home"},"$:/language/Buttons/Home/Hint":{"text":"Open the default tiddlers"},"$:/language/Buttons/Language/Caption":{"text":"language"},"$:/language/Buttons/Language/Hint":{"text":"Choose the user interface language"},"$:/language/Buttons/Manager/Caption":{"text":"tiddler manager"},"$:/language/Buttons/Manager/Hint":{"text":"Open tiddler manager"},"$:/language/Buttons/More/Caption":{"text":"more"},"$:/language/Buttons/More/Hint":{"text":"More actions"},"$:/language/Buttons/NewHere/Caption":{"text":"new here"},"$:/language/Buttons/NewHere/Hint":{"text":"Create a new tiddler tagged with this one"},"$:/language/Buttons/NewJournal/Caption":{"text":"new journal"},"$:/language/Buttons/NewJournal/Hint":{"text":"Create a new journal tiddler"},"$:/language/Buttons/NewJournalHere/Caption":{"text":"new journal here"},"$:/language/Buttons/NewJournalHere/Hint":{"text":"Create a new journal tiddler tagged with this one"},"$:/language/Buttons/NewImage/Caption":{"text":"new image"},"$:/language/Buttons/NewImage/Hint":{"text":"Create a new image tiddler"},"$:/language/Buttons/NewMarkdown/Caption":{"text":"new Markdown tiddler"},"$:/language/Buttons/NewMarkdown/Hint":{"text":"Create a new Markdown tiddler"},"$:/language/Buttons/NewTiddler/Caption":{"text":"new tiddler"},"$:/language/Buttons/NewTiddler/Hint":{"text":"Create a new tiddler"},"$:/language/Buttons/OpenWindow/Caption":{"text":"open in new window"},"$:/language/Buttons/OpenWindow/Hint":{"text":"Open tiddler in new window"},"$:/language/Buttons/Palette/Caption":{"text":"palette"},"$:/language/Buttons/Palette/Hint":{"text":"Choose the colour palette"},"$:/language/Buttons/Permalink/Caption":{"text":"permalink"},"$:/language/Buttons/Permalink/Hint":{"text":"Set browser address bar to a direct link to this tiddler"},"$:/language/Buttons/Permaview/Caption":{"text":"permaview"},"$:/language/Buttons/Permaview/Hint":{"text":"Set browser address bar to a direct link to all the tiddlers in this story"},"$:/language/Buttons/Print/Caption":{"text":"print page"},"$:/language/Buttons/Print/Hint":{"text":"Print the current page"},"$:/language/Buttons/Refresh/Caption":{"text":"refresh"},"$:/language/Buttons/Refresh/Hint":{"text":"Perform a full refresh of the wiki"},"$:/language/Buttons/Save/Caption":{"text":"ok"},"$:/language/Buttons/Save/Hint":{"text":"Confirm changes to this tiddler"},"$:/language/Buttons/SaveWiki/Caption":{"text":"save changes"},"$:/language/Buttons/SaveWiki/Hint":{"text":"Save changes"},"$:/language/Buttons/StoryView/Caption":{"text":"storyview"},"$:/language/Buttons/StoryView/Hint":{"text":"Choose the story visualisation"},"$:/language/Buttons/HideSideBar/Caption":{"text":"hide sidebar"},"$:/language/Buttons/HideSideBar/Hint":{"text":"Hide sidebar"},"$:/language/Buttons/ShowSideBar/Caption":{"text":"show sidebar"},"$:/language/Buttons/ShowSideBar/Hint":{"text":"Show sidebar"},"$:/language/Buttons/TagManager/Caption":{"text":"tag manager"},"$:/language/Buttons/TagManager/Hint":{"text":"Open tag manager"},"$:/language/Buttons/Timestamp/Caption":{"text":"timestamps"},"$:/language/Buttons/Timestamp/Hint":{"text":"Choose whether modifications update timestamps"},"$:/language/Buttons/Timestamp/On/Caption":{"text":"timestamps are on"},"$:/language/Buttons/Timestamp/On/Hint":{"text":"Update timestamps when tiddlers are modified"},"$:/language/Buttons/Timestamp/Off/Caption":{"text":"timestamps are off"},"$:/language/Buttons/Timestamp/Off/Hint":{"text":"Don't update timestamps when tiddlers are modified"},"$:/language/Buttons/Theme/Caption":{"text":"theme"},"$:/language/Buttons/Theme/Hint":{"text":"Choose the display theme"},"$:/language/Buttons/Bold/Caption":{"text":"bold"},"$:/language/Buttons/Bold/Hint":{"text":"Apply bold formatting to selection"},"$:/language/Buttons/Clear/Caption":{"text":"clear"},"$:/language/Buttons/Clear/Hint":{"text":"Clear image to solid colour"},"$:/language/Buttons/EditorHeight/Caption":{"text":"editor height"},"$:/language/Buttons/EditorHeight/Caption/Auto":{"text":"Automatically adjust height to fit content"},"$:/language/Buttons/EditorHeight/Caption/Fixed":{"text":"Fixed height:"},"$:/language/Buttons/EditorHeight/Hint":{"text":"Choose the height of the text editor"},"$:/language/Buttons/Excise/Caption":{"text":"excise"},"$:/language/Buttons/Excise/Caption/Excise":{"text":"Perform excision"},"$:/language/Buttons/Excise/Caption/MacroName":{"text":"Macro name:"},"$:/language/Buttons/Excise/Caption/NewTitle":{"text":"Title of new tiddler:"},"$:/language/Buttons/Excise/Caption/Replace":{"text":"Replace excised text with:"},"$:/language/Buttons/Excise/Caption/Replace/Macro":{"text":"macro"},"$:/language/Buttons/Excise/Caption/Replace/Link":{"text":"link"},"$:/language/Buttons/Excise/Caption/Replace/Transclusion":{"text":"transclusion"},"$:/language/Buttons/Excise/Caption/Tag":{"text":"Tag new tiddler with the title of this tiddler"},"$:/language/Buttons/Excise/Caption/TiddlerExists":{"text":"Warning: tiddler already exists"},"$:/language/Buttons/Excise/Hint":{"text":"Excise the selected text into a new tiddler"},"$:/language/Buttons/Heading1/Caption":{"text":"heading 1"},"$:/language/Buttons/Heading1/Hint":{"text":"Apply heading level 1 formatting to lines containing selection"},"$:/language/Buttons/Heading2/Caption":{"text":"heading 2"},"$:/language/Buttons/Heading2/Hint":{"text":"Apply heading level 2 formatting to lines containing selection"},"$:/language/Buttons/Heading3/Caption":{"text":"heading 3"},"$:/language/Buttons/Heading3/Hint":{"text":"Apply heading level 3 formatting to lines containing selection"},"$:/language/Buttons/Heading4/Caption":{"text":"heading 4"},"$:/language/Buttons/Heading4/Hint":{"text":"Apply heading level 4 formatting to lines containing selection"},"$:/language/Buttons/Heading5/Caption":{"text":"heading 5"},"$:/language/Buttons/Heading5/Hint":{"text":"Apply heading level 5 formatting to lines containing selection"},"$:/language/Buttons/Heading6/Caption":{"text":"heading 6"},"$:/language/Buttons/Heading6/Hint":{"text":"Apply heading level 6 formatting to lines containing selection"},"$:/language/Buttons/Italic/Caption":{"text":"italic"},"$:/language/Buttons/Italic/Hint":{"text":"Apply italic formatting to selection"},"$:/language/Buttons/LineWidth/Caption":{"text":"line width"},"$:/language/Buttons/LineWidth/Hint":{"text":"Set line width for painting"},"$:/language/Buttons/Link/Caption":{"text":"link"},"$:/language/Buttons/Link/Hint":{"text":"Create wikitext link"},"$:/language/Buttons/Linkify/Caption":{"text":"wikilink"},"$:/language/Buttons/Linkify/Hint":{"text":"Wrap selection in square brackets"},"$:/language/Buttons/ListBullet/Caption":{"text":"bulleted list"},"$:/language/Buttons/ListBullet/Hint":{"text":"Apply bulleted list formatting to lines containing selection"},"$:/language/Buttons/ListNumber/Caption":{"text":"numbered list"},"$:/language/Buttons/ListNumber/Hint":{"text":"Apply numbered list formatting to lines containing selection"},"$:/language/Buttons/MonoBlock/Caption":{"text":"monospaced block"},"$:/language/Buttons/MonoBlock/Hint":{"text":"Apply monospaced block formatting to lines containing selection"},"$:/language/Buttons/MonoLine/Caption":{"text":"monospaced"},"$:/language/Buttons/MonoLine/Hint":{"text":"Apply monospaced character formatting to selection"},"$:/language/Buttons/Opacity/Caption":{"text":"opacity"},"$:/language/Buttons/Opacity/Hint":{"text":"Set painting opacity"},"$:/language/Buttons/Paint/Caption":{"text":"paint colour"},"$:/language/Buttons/Paint/Hint":{"text":"Set painting colour"},"$:/language/Buttons/Picture/Caption":{"text":"picture"},"$:/language/Buttons/Picture/Hint":{"text":"Insert picture"},"$:/language/Buttons/Preview/Caption":{"text":"preview"},"$:/language/Buttons/Preview/Hint":{"text":"Show preview pane"},"$:/language/Buttons/PreviewType/Caption":{"text":"preview type"},"$:/language/Buttons/PreviewType/Hint":{"text":"Choose preview type"},"$:/language/Buttons/Quote/Caption":{"text":"quote"},"$:/language/Buttons/Quote/Hint":{"text":"Apply quoted text formatting to lines containing selection"},"$:/language/Buttons/RotateLeft/Caption":{"text":"rotate left"},"$:/language/Buttons/RotateLeft/Hint":{"text":"Rotate image left by 90 degrees"},"$:/language/Buttons/Size/Caption":{"text":"image size"},"$:/language/Buttons/Size/Caption/Height":{"text":"Height:"},"$:/language/Buttons/Size/Caption/Resize":{"text":"Resize image"},"$:/language/Buttons/Size/Caption/Width":{"text":"Width:"},"$:/language/Buttons/Size/Hint":{"text":"Set image size"},"$:/language/Buttons/Stamp/Caption":{"text":"stamp"},"$:/language/Buttons/Stamp/Caption/New":{"text":"Add your own"},"$:/language/Buttons/Stamp/Hint":{"text":"Insert a preconfigured snippet of text"},"$:/language/Buttons/Stamp/New/Title":{"text":"Name as shown in menu"},"$:/language/Buttons/Stamp/New/Text":{"text":"Text of snippet. (Remember to add a descriptive title in the caption field)."},"$:/language/Buttons/Strikethrough/Caption":{"text":"strikethrough"},"$:/language/Buttons/Strikethrough/Hint":{"text":"Apply strikethrough formatting to selection"},"$:/language/Buttons/Subscript/Caption":{"text":"subscript"},"$:/language/Buttons/Subscript/Hint":{"text":"Apply subscript formatting to selection"},"$:/language/Buttons/Superscript/Caption":{"text":"superscript"},"$:/language/Buttons/Superscript/Hint":{"text":"Apply superscript formatting to selection"},"$:/language/Buttons/ToggleSidebar/Hint":{"text":"Toggle the sidebar visibility"},"$:/language/Buttons/Transcludify/Caption":{"text":"transclusion"},"$:/language/Buttons/Transcludify/Hint":{"text":"Wrap selection in curly brackets"},"$:/language/Buttons/Underline/Caption":{"text":"underline"},"$:/language/Buttons/Underline/Hint":{"text":"Apply underline formatting to selection"},"$:/language/ControlPanel/Advanced/Caption":{"text":"Advanced"},"$:/language/ControlPanel/Advanced/Hint":{"text":"Internal information about this TiddlyWiki"},"$:/language/ControlPanel/Appearance/Caption":{"text":"Appearance"},"$:/language/ControlPanel/Appearance/Hint":{"text":"Ways to customise the appearance of your TiddlyWiki."},"$:/language/ControlPanel/Basics/AnimDuration/Prompt":{"text":"Animation duration"},"$:/language/ControlPanel/Basics/AutoFocus/Prompt":{"text":"Default focus field for new tiddlers"},"$:/language/ControlPanel/Basics/Caption":{"text":"Basics"},"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint":{"text":"Use [[double square brackets]] for titles with spaces. Or you can choose to <$button set=\"$:/DefaultTiddlers\" setTo=\"[list[$:/StoryList]]\">retain story ordering</$button>"},"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt":{"text":"Default tiddlers"},"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint":{"text":"Choose which tiddlers are displayed at startup"},"$:/language/ControlPanel/Basics/Language/Prompt":{"text":"Hello! Current language:"},"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt":{"text":"Title of new journal tiddlers"},"$:/language/ControlPanel/Basics/NewJournal/Text/Prompt":{"text":"Text for new journal tiddlers"},"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt":{"text":"Tags for new journal tiddlers"},"$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt":{"text":"Title of new tiddlers"},"$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt":{"text":"Tags for new tiddlers"},"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt":{"text":"Number of overridden shadow tiddlers"},"$:/language/ControlPanel/Basics/RemoveTags":{"text":"Update to current format"},"$:/language/ControlPanel/Basics/RemoveTags/Hint":{"text":"Update the tags configuration to the latest format"},"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt":{"text":"Number of shadow tiddlers"},"$:/language/ControlPanel/Basics/Subtitle/Prompt":{"text":"Subtitle"},"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt":{"text":"Number of system tiddlers"},"$:/language/ControlPanel/Basics/Tags/Prompt":{"text":"Number of tags"},"$:/language/ControlPanel/Basics/Tiddlers/Prompt":{"text":"Number of tiddlers"},"$:/language/ControlPanel/Basics/Title/Prompt":{"text":"Title of this ~TiddlyWiki"},"$:/language/ControlPanel/Basics/Username/Prompt":{"text":"Username for signing edits"},"$:/language/ControlPanel/Basics/Version/Prompt":{"text":"~TiddlyWiki version"},"$:/language/ControlPanel/EditorTypes/Caption":{"text":"Editor Types"},"$:/language/ControlPanel/EditorTypes/Editor/Caption":{"text":"Editor"},"$:/language/ControlPanel/EditorTypes/Hint":{"text":"These tiddlers determine which editor is used to edit specific tiddler types."},"$:/language/ControlPanel/EditorTypes/Type/Caption":{"text":"Type"},"$:/language/ControlPanel/Info/Caption":{"text":"Info"},"$:/language/ControlPanel/Info/Hint":{"text":"Information about this TiddlyWiki"},"$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt":{"text":"Type shortcut here"},"$:/language/ControlPanel/KeyboardShortcuts/Add/Caption":{"text":"add shortcut"},"$:/language/ControlPanel/KeyboardShortcuts/Caption":{"text":"Keyboard Shortcuts"},"$:/language/ControlPanel/KeyboardShortcuts/Hint":{"text":"Manage keyboard shortcut assignments"},"$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption":{"text":"No keyboard shortcuts assigned"},"$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint":{"text":"remove keyboard shortcut"},"$:/language/ControlPanel/KeyboardShortcuts/Platform/All":{"text":"All platforms"},"$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac":{"text":"Macintosh platform only"},"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac":{"text":"Non-Macintosh platforms only"},"$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux":{"text":"Linux platform only"},"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux":{"text":"Non-Linux platforms only"},"$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows":{"text":"Windows platform only"},"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows":{"text":"Non-Windows platforms only"},"$:/language/ControlPanel/LayoutSwitcher/Caption":{"text":"Layout"},"$:/language/ControlPanel/LoadedModules/Caption":{"text":"Loaded Modules"},"$:/language/ControlPanel/LoadedModules/Hint":{"text":"These are the currently loaded tiddler modules linked to their source tiddlers. Any italicised modules lack a source tiddler, typically because they were setup during the boot process."},"$:/language/ControlPanel/Palette/Caption":{"text":"Palette"},"$:/language/ControlPanel/Palette/Editor/Clone/Caption":{"text":"clone"},"$:/language/ControlPanel/Palette/Editor/Clone/Prompt":{"text":"It is recommended that you clone this shadow palette before editing it"},"$:/language/ControlPanel/Palette/Editor/Delete/Hint":{"text":"delete this entry from the current palette"},"$:/language/ControlPanel/Palette/Editor/Names/External/Show":{"text":"Show color names that are not part of the current palette"},"$:/language/ControlPanel/Palette/Editor/Prompt/Modified":{"text":"This shadow palette has been modified"},"$:/language/ControlPanel/Palette/Editor/Prompt":{"text":"Editing"},"$:/language/ControlPanel/Palette/Editor/Reset/Caption":{"text":"reset"},"$:/language/ControlPanel/Palette/HideEditor/Caption":{"text":"hide editor"},"$:/language/ControlPanel/Palette/Prompt":{"text":"Current palette:"},"$:/language/ControlPanel/Palette/ShowEditor/Caption":{"text":"show editor"},"$:/language/ControlPanel/Parsing/Caption":{"text":"Parsing"},"$:/language/ControlPanel/Parsing/Hint":{"text":"Here you can globally disable/enable wiki parser rules. For changes to take effect, save and reload your wiki. Disabling certain parser rules can prevent <$text text=\"TiddlyWiki\"/> from functioning correctly. Use [[safe mode|https://tiddlywiki.com/#SafeMode]] to restore normal operation."},"$:/language/ControlPanel/Parsing/Block/Caption":{"text":"Block Parse Rules"},"$:/language/ControlPanel/Parsing/Inline/Caption":{"text":"Inline Parse Rules"},"$:/language/ControlPanel/Parsing/Pragma/Caption":{"text":"Pragma Parse Rules"},"$:/language/ControlPanel/Plugins/Add/Caption":{"text":"Get more plugins"},"$:/language/ControlPanel/Plugins/Add/Hint":{"text":"Install plugins from the official library"},"$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint":{"text":"This plugin is already installed at version <$text text=<<installedVersion>>/>"},"$:/language/ControlPanel/Plugins/AlsoRequires":{"text":"Also requires:"},"$:/language/ControlPanel/Plugins/Caption":{"text":"Plugins"},"$:/language/ControlPanel/Plugins/Disable/Caption":{"text":"disable"},"$:/language/ControlPanel/Plugins/Disable/Hint":{"text":"Disable this plugin when reloading page"},"$:/language/ControlPanel/Plugins/Disabled/Status":{"text":"(disabled)"},"$:/language/ControlPanel/Plugins/Downgrade/Caption":{"text":"downgrade"},"$:/language/ControlPanel/Plugins/Empty/Hint":{"text":"None"},"$:/language/ControlPanel/Plugins/Enable/Caption":{"text":"enable"},"$:/language/ControlPanel/Plugins/Enable/Hint":{"text":"Enable this plugin when reloading page"},"$:/language/ControlPanel/Plugins/Install/Caption":{"text":"install"},"$:/language/ControlPanel/Plugins/Installed/Hint":{"text":"Currently installed plugins:"},"$:/language/ControlPanel/Plugins/Languages/Caption":{"text":"Languages"},"$:/language/ControlPanel/Plugins/Languages/Hint":{"text":"Language pack plugins"},"$:/language/ControlPanel/Plugins/NoInfoFound/Hint":{"text":"No ''\"<$text text=<<currentTab>>/>\"'' found"},"$:/language/ControlPanel/Plugins/NotInstalled/Hint":{"text":"This plugin is not currently installed"},"$:/language/ControlPanel/Plugins/OpenPluginLibrary":{"text":"open plugin library"},"$:/language/ControlPanel/Plugins/ClosePluginLibrary":{"text":"close plugin library"},"$:/language/ControlPanel/Plugins/PluginWillRequireReload":{"text":"(requires reload)"},"$:/language/ControlPanel/Plugins/Plugins/Caption":{"text":"Plugins"},"$:/language/ControlPanel/Plugins/Plugins/Hint":{"text":"Plugins"},"$:/language/ControlPanel/Plugins/Reinstall/Caption":{"text":"reinstall"},"$:/language/ControlPanel/Plugins/Themes/Caption":{"text":"Themes"},"$:/language/ControlPanel/Plugins/Themes/Hint":{"text":"Theme plugins"},"$:/language/ControlPanel/Plugins/Update/Caption":{"text":"update"},"$:/language/ControlPanel/Plugins/Updates/Caption":{"text":"Updates"},"$:/language/ControlPanel/Plugins/Updates/Hint":{"text":"Available updates to installed plugins"},"$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption":{"text":"Update <<update-count>> plugins"},"$:/language/ControlPanel/Plugins/SubPluginPrompt":{"text":"With <<count>> sub-plugins available"},"$:/language/ControlPanel/Saving/Caption":{"text":"Saving"},"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description":{"text":"Permit automatic saving for the download saver"},"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint":{"text":"Enable Autosave for Download Saver"},"$:/language/ControlPanel/Saving/DownloadSaver/Caption":{"text":"Download Saver"},"$:/language/ControlPanel/Saving/DownloadSaver/Hint":{"text":"These settings apply to the HTML5-compatible download saver"},"$:/language/ControlPanel/Saving/General/Caption":{"text":"General"},"$:/language/ControlPanel/Saving/General/Hint":{"text":"These settings apply to all the loaded savers"},"$:/language/ControlPanel/Saving/Hint":{"text":"Settings used for saving the entire TiddlyWiki as a single file via a saver module"},"$:/language/ControlPanel/Saving/GitService/Branch":{"text":"Target branch for saving"},"$:/language/ControlPanel/Saving/GitService/CommitMessage":{"text":"Saved by TiddlyWiki"},"$:/language/ControlPanel/Saving/GitService/Description":{"text":"These settings are only used when saving to <<service-name>>"},"$:/language/ControlPanel/Saving/GitService/Filename":{"text":"Filename of target file (e.g. `index.html`)"},"$:/language/ControlPanel/Saving/GitService/Path":{"text":"Path to target file (e.g. `/wiki/`)"},"$:/language/ControlPanel/Saving/GitService/Repo":{"text":"Target repository (e.g. `Jermolene/TiddlyWiki5`)"},"$:/language/ControlPanel/Saving/GitService/ServerURL":{"text":"Server API URL"},"$:/language/ControlPanel/Saving/GitService/UserName":{"text":"Username"},"$:/language/ControlPanel/Saving/GitService/GitHub/Caption":{"text":"~GitHub Saver"},"$:/language/ControlPanel/Saving/GitService/GitHub/Password":{"text":"Password, OAUTH token, or personal access token (see [[GitHub help page|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] for details)"},"$:/language/ControlPanel/Saving/GitService/GitLab/Caption":{"text":"~GitLab Saver"},"$:/language/ControlPanel/Saving/GitService/GitLab/Password":{"text":"Personal access token for API (see [[GitLab help page|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] for details)"},"$:/language/ControlPanel/Saving/GitService/Gitea/Caption":{"text":"Gitea Saver"},"$:/language/ControlPanel/Saving/GitService/Gitea/Password":{"text":"Personal access token for API (via Gitea’s web interface: `Settings | Applications | Generate New Token`)"},"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading":{"text":"Advanced Settings"},"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir":{"text":"Backup Directory"},"$:/language/ControlPanel/Saving/TiddlySpot/ControlPanel":{"text":"~TiddlySpot Control Panel"},"$:/language/ControlPanel/Saving/TiddlySpot/Backups":{"text":"Backups"},"$:/language/ControlPanel/Saving/TiddlySpot/Caption":{"text":"~TiddlySpot Saver"},"$:/language/ControlPanel/Saving/TiddlySpot/Description":{"text":"These settings are only used when saving to http://tiddlyspot.com or a compatible remote server"},"$:/language/ControlPanel/Saving/TiddlySpot/Filename":{"text":"Upload Filename"},"$:/language/ControlPanel/Saving/TiddlySpot/Heading":{"text":"~TiddlySpot"},"$:/language/ControlPanel/Saving/TiddlySpot/Hint":{"text":"//The server URL defaults to `http://<wikiname>.tiddlyspot.com/store.cgi` and can be changed to use a custom server address, e.g. `http://example.com/store.php`.//"},"$:/language/ControlPanel/Saving/TiddlySpot/Password":{"text":"Password"},"$:/language/ControlPanel/Saving/TiddlySpot/ReadOnly":{"text":"The ~TiddlySpot service is currently only available in read-only form. Please see http://tiddlyspot.com/ for the latest details. The ~TiddlySpot saver can still be used to save to compatible servers."},"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL":{"text":"Server URL"},"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir":{"text":"Upload Directory"},"$:/language/ControlPanel/Saving/TiddlySpot/UserName":{"text":"Wiki Name"},"$:/language/ControlPanel/Settings/AutoSave/Caption":{"text":"Autosave"},"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description":{"text":"Do not save changes automatically"},"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description":{"text":"Save changes automatically"},"$:/language/ControlPanel/Settings/AutoSave/Hint":{"text":"Attempt to automatically save changes during editing when using a supporting saver"},"$:/language/ControlPanel/Settings/CamelCase/Caption":{"text":"Camel Case Wiki Links"},"$:/language/ControlPanel/Settings/CamelCase/Hint":{"text":"You can globally disable automatic linking of ~CamelCase phrases. Requires reload to take effect"},"$:/language/ControlPanel/Settings/CamelCase/Description":{"text":"Enable automatic ~CamelCase linking"},"$:/language/ControlPanel/Settings/Caption":{"text":"Settings"},"$:/language/ControlPanel/Settings/EditorToolbar/Caption":{"text":"Editor Toolbar"},"$:/language/ControlPanel/Settings/EditorToolbar/Hint":{"text":"Enable or disable the editor toolbar:"},"$:/language/ControlPanel/Settings/EditorToolbar/Description":{"text":"Show editor toolbar"},"$:/language/ControlPanel/Settings/InfoPanelMode/Caption":{"text":"Tiddler Info Panel Mode"},"$:/language/ControlPanel/Settings/InfoPanelMode/Hint":{"text":"Control when the tiddler info panel closes:"},"$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description":{"text":"Tiddler info panel closes automatically"},"$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description":{"text":"Tiddler info panel stays open until explicitly closed"},"$:/language/ControlPanel/Settings/Hint":{"text":"These settings let you customise the behaviour of TiddlyWiki."},"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption":{"text":"Navigation Address Bar"},"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint":{"text":"Behaviour of the browser address bar when navigating to a tiddler:"},"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description":{"text":"Do not update the address bar"},"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description":{"text":"Include the target tiddler"},"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description":{"text":"Include the target tiddler and the current story sequence"},"$:/language/ControlPanel/Settings/NavigationHistory/Caption":{"text":"Navigation History"},"$:/language/ControlPanel/Settings/NavigationHistory/Hint":{"text":"Update browser history when navigating to a tiddler:"},"$:/language/ControlPanel/Settings/NavigationHistory/No/Description":{"text":"Do not update history"},"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description":{"text":"Update history"},"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption":{"text":"Permalink/permaview Mode"},"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint":{"text":"Choose how permalink/permaview is handled:"},"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description":{"text":"Copy permalink/permaview URL to clipboard"},"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description":{"text":"Update address bar with permalink/permaview URL"},"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption":{"text":"Performance Instrumentation"},"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint":{"text":"Displays performance statistics in the browser developer console. Requires reload to take effect"},"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description":{"text":"Enable performance instrumentation"},"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption":{"text":"Toolbar Button Style"},"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint":{"text":"Choose the style for toolbar buttons:"},"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless":{"text":"Borderless"},"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed":{"text":"Boxed"},"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded":{"text":"Rounded"},"$:/language/ControlPanel/Settings/ToolbarButtons/Caption":{"text":"Toolbar Buttons"},"$:/language/ControlPanel/Settings/ToolbarButtons/Hint":{"text":"Default toolbar button appearance:"},"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description":{"text":"Include icon"},"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description":{"text":"Include text"},"$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption":{"text":"Default Sidebar Tab"},"$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint":{"text":"Specify which sidebar tab is displayed by default"},"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption":{"text":"Default More Sidebar Tab"},"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint":{"text":"Specify which More sidebar tab is displayed by default"},"$:/language/ControlPanel/Settings/LinkToBehaviour/Caption":{"text":"Tiddler Opening Behaviour"},"$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint":{"text":"Navigation from //within// the story river"},"$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint":{"text":"Navigation from //outside// the story river"},"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove":{"text":"Open above the current tiddler"},"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow":{"text":"Open below the current tiddler"},"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop":{"text":"Open at the top of the story river"},"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom":{"text":"Open at the bottom of the story river"},"$:/language/ControlPanel/Settings/TitleLinks/Caption":{"text":"Tiddler Titles"},"$:/language/ControlPanel/Settings/TitleLinks/Hint":{"text":"Optionally display tiddler titles as links"},"$:/language/ControlPanel/Settings/TitleLinks/No/Description":{"text":"Do not display tiddler titles as links"},"$:/language/ControlPanel/Settings/TitleLinks/Yes/Description":{"text":"Display tiddler titles as links"},"$:/language/ControlPanel/Settings/MissingLinks/Caption":{"text":"Wiki Links"},"$:/language/ControlPanel/Settings/MissingLinks/Hint":{"text":"Choose whether to link to tiddlers that do not exist yet"},"$:/language/ControlPanel/Settings/MissingLinks/Description":{"text":"Enable links to missing tiddlers"},"$:/language/ControlPanel/StoryView/Caption":{"text":"Story View"},"$:/language/ControlPanel/StoryView/Prompt":{"text":"Current view:"},"$:/language/ControlPanel/Stylesheets/Caption":{"text":"Stylesheets"},"$:/language/ControlPanel/Stylesheets/Expand/Caption":{"text":"Expand All"},"$:/language/ControlPanel/Stylesheets/Hint":{"text":"This is the rendered CSS of the current stylesheet tiddlers tagged with <<tag \"$:/tags/Stylesheet\">>"},"$:/language/ControlPanel/Stylesheets/Restore/Caption":{"text":"Restore"},"$:/language/ControlPanel/Theme/Caption":{"text":"Theme"},"$:/language/ControlPanel/Theme/Prompt":{"text":"Current theme:"},"$:/language/ControlPanel/TiddlerFields/Caption":{"text":"Tiddler Fields"},"$:/language/ControlPanel/TiddlerFields/Hint":{"text":"This is the full set of TiddlerFields in use in this wiki (including system tiddlers but excluding shadow tiddlers)."},"$:/language/ControlPanel/Toolbars/Caption":{"text":"Toolbars"},"$:/language/ControlPanel/Toolbars/EditToolbar/Caption":{"text":"Edit Toolbar"},"$:/language/ControlPanel/Toolbars/EditToolbar/Hint":{"text":"Choose which buttons are displayed for tiddlers in edit mode. Drag and drop to change the ordering"},"$:/language/ControlPanel/Toolbars/Hint":{"text":"Select which toolbar buttons are displayed"},"$:/language/ControlPanel/Toolbars/PageControls/Caption":{"text":"Page Toolbar"},"$:/language/ControlPanel/Toolbars/PageControls/Hint":{"text":"Choose which buttons are displayed on the main page toolbar. Drag and drop to change the ordering"},"$:/language/ControlPanel/Toolbars/EditorToolbar/Caption":{"text":"Editor Toolbar"},"$:/language/ControlPanel/Toolbars/EditorToolbar/Hint":{"text":"Choose which buttons are displayed in the editor toolbar. Note that some buttons will only appear when editing tiddlers of a certain type. Drag and drop to change the ordering"},"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption":{"text":"View Toolbar"},"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint":{"text":"Choose which buttons are displayed for tiddlers in view mode. Drag and drop to change the ordering"},"$:/language/ControlPanel/Tools/Download/Full/Caption":{"text":"Download full wiki"},"$:/language/Date/DaySuffix/1":{"text":"st"},"$:/language/Date/DaySuffix/2":{"text":"nd"},"$:/language/Date/DaySuffix/3":{"text":"rd"},"$:/language/Date/DaySuffix/4":{"text":"th"},"$:/language/Date/DaySuffix/5":{"text":"th"},"$:/language/Date/DaySuffix/6":{"text":"th"},"$:/language/Date/DaySuffix/7":{"text":"th"},"$:/language/Date/DaySuffix/8":{"text":"th"},"$:/language/Date/DaySuffix/9":{"text":"th"},"$:/language/Date/DaySuffix/10":{"text":"th"},"$:/language/Date/DaySuffix/11":{"text":"th"},"$:/language/Date/DaySuffix/12":{"text":"th"},"$:/language/Date/DaySuffix/13":{"text":"th"},"$:/language/Date/DaySuffix/14":{"text":"th"},"$:/language/Date/DaySuffix/15":{"text":"th"},"$:/language/Date/DaySuffix/16":{"text":"th"},"$:/language/Date/DaySuffix/17":{"text":"th"},"$:/language/Date/DaySuffix/18":{"text":"th"},"$:/language/Date/DaySuffix/19":{"text":"th"},"$:/language/Date/DaySuffix/20":{"text":"th"},"$:/language/Date/DaySuffix/21":{"text":"st"},"$:/language/Date/DaySuffix/22":{"text":"nd"},"$:/language/Date/DaySuffix/23":{"text":"rd"},"$:/language/Date/DaySuffix/24":{"text":"th"},"$:/language/Date/DaySuffix/25":{"text":"th"},"$:/language/Date/DaySuffix/26":{"text":"th"},"$:/language/Date/DaySuffix/27":{"text":"th"},"$:/language/Date/DaySuffix/28":{"text":"th"},"$:/language/Date/DaySuffix/29":{"text":"th"},"$:/language/Date/DaySuffix/30":{"text":"th"},"$:/language/Date/DaySuffix/31":{"text":"st"},"$:/language/Date/Long/Day/0":{"text":"Sunday"},"$:/language/Date/Long/Day/1":{"text":"Monday"},"$:/language/Date/Long/Day/2":{"text":"Tuesday"},"$:/language/Date/Long/Day/3":{"text":"Wednesday"},"$:/language/Date/Long/Day/4":{"text":"Thursday"},"$:/language/Date/Long/Day/5":{"text":"Friday"},"$:/language/Date/Long/Day/6":{"text":"Saturday"},"$:/language/Date/Long/Month/1":{"text":"January"},"$:/language/Date/Long/Month/2":{"text":"February"},"$:/language/Date/Long/Month/3":{"text":"March"},"$:/language/Date/Long/Month/4":{"text":"April"},"$:/language/Date/Long/Month/5":{"text":"May"},"$:/language/Date/Long/Month/6":{"text":"June"},"$:/language/Date/Long/Month/7":{"text":"July"},"$:/language/Date/Long/Month/8":{"text":"August"},"$:/language/Date/Long/Month/9":{"text":"September"},"$:/language/Date/Long/Month/10":{"text":"October"},"$:/language/Date/Long/Month/11":{"text":"November"},"$:/language/Date/Long/Month/12":{"text":"December"},"$:/language/Date/Period/am":{"text":"am"},"$:/language/Date/Period/pm":{"text":"pm"},"$:/language/Date/Short/Day/0":{"text":"Sun"},"$:/language/Date/Short/Day/1":{"text":"Mon"},"$:/language/Date/Short/Day/2":{"text":"Tue"},"$:/language/Date/Short/Day/3":{"text":"Wed"},"$:/language/Date/Short/Day/4":{"text":"Thu"},"$:/language/Date/Short/Day/5":{"text":"Fri"},"$:/language/Date/Short/Day/6":{"text":"Sat"},"$:/language/Date/Short/Month/1":{"text":"Jan"},"$:/language/Date/Short/Month/2":{"text":"Feb"},"$:/language/Date/Short/Month/3":{"text":"Mar"},"$:/language/Date/Short/Month/4":{"text":"Apr"},"$:/language/Date/Short/Month/5":{"text":"May"},"$:/language/Date/Short/Month/6":{"text":"Jun"},"$:/language/Date/Short/Month/7":{"text":"Jul"},"$:/language/Date/Short/Month/8":{"text":"Aug"},"$:/language/Date/Short/Month/9":{"text":"Sep"},"$:/language/Date/Short/Month/10":{"text":"Oct"},"$:/language/Date/Short/Month/11":{"text":"Nov"},"$:/language/Date/Short/Month/12":{"text":"Dec"},"$:/language/RelativeDate/Future/Days":{"text":"<<period>> days from now"},"$:/language/RelativeDate/Future/Hours":{"text":"<<period>> hours from now"},"$:/language/RelativeDate/Future/Minutes":{"text":"<<period>> minutes from now"},"$:/language/RelativeDate/Future/Months":{"text":"<<period>> months from now"},"$:/language/RelativeDate/Future/Second":{"text":"1 second from now"},"$:/language/RelativeDate/Future/Seconds":{"text":"<<period>> seconds from now"},"$:/language/RelativeDate/Future/Years":{"text":"<<period>> years from now"},"$:/language/RelativeDate/Past/Days":{"text":"<<period>> days ago"},"$:/language/RelativeDate/Past/Hours":{"text":"<<period>> hours ago"},"$:/language/RelativeDate/Past/Minutes":{"text":"<<period>> minutes ago"},"$:/language/RelativeDate/Past/Months":{"text":"<<period>> months ago"},"$:/language/RelativeDate/Past/Second":{"text":"1 second ago"},"$:/language/RelativeDate/Past/Seconds":{"text":"<<period>> seconds ago"},"$:/language/RelativeDate/Past/Years":{"text":"<<period>> years ago"},"$:/language/Docs/ModuleTypes/allfilteroperator":{"text":"A sub-operator for the ''all'' filter operator."},"$:/language/Docs/ModuleTypes/animation":{"text":"Animations that may be used with the RevealWidget."},"$:/language/Docs/ModuleTypes/authenticator":{"text":"Defines how requests are authenticated by the built-in HTTP server."},"$:/language/Docs/ModuleTypes/bitmapeditoroperation":{"text":"A bitmap editor toolbar operation."},"$:/language/Docs/ModuleTypes/command":{"text":"Commands that can be executed under Node.js."},"$:/language/Docs/ModuleTypes/config":{"text":"Data to be inserted into `$tw.config`."},"$:/language/Docs/ModuleTypes/filteroperator":{"text":"Individual filter operator methods."},"$:/language/Docs/ModuleTypes/global":{"text":"Global data to be inserted into `$tw`."},"$:/language/Docs/ModuleTypes/info":{"text":"Publishes system information via the [[$:/temp/info-plugin]] pseudo-plugin."},"$:/language/Docs/ModuleTypes/isfilteroperator":{"text":"Operands for the ''is'' filter operator."},"$:/language/Docs/ModuleTypes/library":{"text":"Generic module type for general purpose JavaScript modules."},"$:/language/Docs/ModuleTypes/macro":{"text":"JavaScript macro definitions."},"$:/language/Docs/ModuleTypes/parser":{"text":"Parsers for different content types."},"$:/language/Docs/ModuleTypes/route":{"text":"Defines how individual URL patterns are handled by the built-in HTTP server."},"$:/language/Docs/ModuleTypes/saver":{"text":"Savers handle different methods for saving files from the browser."},"$:/language/Docs/ModuleTypes/startup":{"text":"Startup functions."},"$:/language/Docs/ModuleTypes/storyview":{"text":"Story views customise the animation and behaviour of list widgets."},"$:/language/Docs/ModuleTypes/texteditoroperation":{"text":"A text editor toolbar operation."},"$:/language/Docs/ModuleTypes/tiddlerdeserializer":{"text":"Converts different content types into tiddlers."},"$:/language/Docs/ModuleTypes/tiddlerfield":{"text":"Defines the behaviour of an individual tiddler field."},"$:/language/Docs/ModuleTypes/tiddlermethod":{"text":"Adds methods to the `$tw.Tiddler` prototype."},"$:/language/Docs/ModuleTypes/upgrader":{"text":"Applies upgrade processing to tiddlers during an upgrade/import."},"$:/language/Docs/ModuleTypes/utils":{"text":"Adds methods to `$tw.utils`."},"$:/language/Docs/ModuleTypes/utils-node":{"text":"Adds Node.js-specific methods to `$tw.utils`."},"$:/language/Docs/ModuleTypes/widget":{"text":"Widgets encapsulate DOM rendering and refreshing."},"$:/language/Docs/ModuleTypes/wikimethod":{"text":"Adds methods to `$tw.Wiki`."},"$:/language/Docs/ModuleTypes/wikirule":{"text":"Individual parser rules for the main WikiText parser."},"$:/language/Docs/PaletteColours/alert-background":{"text":"Alert background"},"$:/language/Docs/PaletteColours/alert-border":{"text":"Alert border"},"$:/language/Docs/PaletteColours/alert-highlight":{"text":"Alert highlight"},"$:/language/Docs/PaletteColours/alert-muted-foreground":{"text":"Alert muted foreground"},"$:/language/Docs/PaletteColours/background":{"text":"General background"},"$:/language/Docs/PaletteColours/blockquote-bar":{"text":"Blockquote bar"},"$:/language/Docs/PaletteColours/button-background":{"text":"Default button background"},"$:/language/Docs/PaletteColours/button-border":{"text":"Default button border"},"$:/language/Docs/PaletteColours/button-foreground":{"text":"Default button foreground"},"$:/language/Docs/PaletteColours/dirty-indicator":{"text":"Unsaved changes indicator"},"$:/language/Docs/PaletteColours/code-background":{"text":"Code background"},"$:/language/Docs/PaletteColours/code-border":{"text":"Code border"},"$:/language/Docs/PaletteColours/code-foreground":{"text":"Code foreground"},"$:/language/Docs/PaletteColours/download-background":{"text":"Download button background"},"$:/language/Docs/PaletteColours/download-foreground":{"text":"Download button foreground"},"$:/language/Docs/PaletteColours/dragger-background":{"text":"Dragger background"},"$:/language/Docs/PaletteColours/dragger-foreground":{"text":"Dragger foreground"},"$:/language/Docs/PaletteColours/dropdown-background":{"text":"Dropdown background"},"$:/language/Docs/PaletteColours/dropdown-border":{"text":"Dropdown border"},"$:/language/Docs/PaletteColours/dropdown-tab-background-selected":{"text":"Dropdown tab background for selected tabs"},"$:/language/Docs/PaletteColours/dropdown-tab-background":{"text":"Dropdown tab background"},"$:/language/Docs/PaletteColours/dropzone-background":{"text":"Dropzone background"},"$:/language/Docs/PaletteColours/external-link-background-hover":{"text":"External link background hover"},"$:/language/Docs/PaletteColours/external-link-background-visited":{"text":"External link background visited"},"$:/language/Docs/PaletteColours/external-link-background":{"text":"External link background"},"$:/language/Docs/PaletteColours/external-link-foreground-hover":{"text":"External link foreground hover"},"$:/language/Docs/PaletteColours/external-link-foreground-visited":{"text":"External link foreground visited"},"$:/language/Docs/PaletteColours/external-link-foreground":{"text":"External link foreground"},"$:/language/Docs/PaletteColours/foreground":{"text":"General foreground"},"$:/language/Docs/PaletteColours/menubar-background":{"text":"Menu bar background"},"$:/language/Docs/PaletteColours/menubar-foreground":{"text":"Menu bar foreground"},"$:/language/Docs/PaletteColours/message-background":{"text":"Message box background"},"$:/language/Docs/PaletteColours/message-border":{"text":"Message box border"},"$:/language/Docs/PaletteColours/message-foreground":{"text":"Message box foreground"},"$:/language/Docs/PaletteColours/modal-backdrop":{"text":"Modal backdrop"},"$:/language/Docs/PaletteColours/modal-background":{"text":"Modal background"},"$:/language/Docs/PaletteColours/modal-border":{"text":"Modal border"},"$:/language/Docs/PaletteColours/modal-footer-background":{"text":"Modal footer background"},"$:/language/Docs/PaletteColours/modal-footer-border":{"text":"Modal footer border"},"$:/language/Docs/PaletteColours/modal-header-border":{"text":"Modal header border"},"$:/language/Docs/PaletteColours/muted-foreground":{"text":"General muted foreground"},"$:/language/Docs/PaletteColours/notification-background":{"text":"Notification background"},"$:/language/Docs/PaletteColours/notification-border":{"text":"Notification border"},"$:/language/Docs/PaletteColours/page-background":{"text":"Page background"},"$:/language/Docs/PaletteColours/pre-background":{"text":"Preformatted code background"},"$:/language/Docs/PaletteColours/pre-border":{"text":"Preformatted code border"},"$:/language/Docs/PaletteColours/primary":{"text":"General primary"},"$:/language/Docs/PaletteColours/select-tag-background":{"text":"`<select>` element background"},"$:/language/Docs/PaletteColours/select-tag-foreground":{"text":"`<select>` element text"},"$:/language/Docs/PaletteColours/sidebar-button-foreground":{"text":"Sidebar button foreground"},"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover":{"text":"Sidebar controls foreground hover"},"$:/language/Docs/PaletteColours/sidebar-controls-foreground":{"text":"Sidebar controls foreground"},"$:/language/Docs/PaletteColours/sidebar-foreground-shadow":{"text":"Sidebar foreground shadow"},"$:/language/Docs/PaletteColours/sidebar-foreground":{"text":"Sidebar foreground"},"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover":{"text":"Sidebar muted foreground hover"},"$:/language/Docs/PaletteColours/sidebar-muted-foreground":{"text":"Sidebar muted foreground"},"$:/language/Docs/PaletteColours/sidebar-tab-background-selected":{"text":"Sidebar tab background for selected tabs"},"$:/language/Docs/PaletteColours/sidebar-tab-background":{"text":"Sidebar tab background"},"$:/language/Docs/PaletteColours/sidebar-tab-border-selected":{"text":"Sidebar tab border for selected tabs"},"$:/language/Docs/PaletteColours/sidebar-tab-border":{"text":"Sidebar tab border"},"$:/language/Docs/PaletteColours/sidebar-tab-divider":{"text":"Sidebar tab divider"},"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected":{"text":"Sidebar tab foreground for selected tabs"},"$:/language/Docs/PaletteColours/sidebar-tab-foreground":{"text":"Sidebar tab foreground"},"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover":{"text":"Sidebar tiddler link foreground hover"},"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground":{"text":"Sidebar tiddler link foreground"},"$:/language/Docs/PaletteColours/site-title-foreground":{"text":"Site title foreground"},"$:/language/Docs/PaletteColours/static-alert-foreground":{"text":"Static alert foreground"},"$:/language/Docs/PaletteColours/tab-background-selected":{"text":"Tab background for selected tabs"},"$:/language/Docs/PaletteColours/tab-background":{"text":"Tab background"},"$:/language/Docs/PaletteColours/tab-border-selected":{"text":"Tab border for selected tabs"},"$:/language/Docs/PaletteColours/tab-border":{"text":"Tab border"},"$:/language/Docs/PaletteColours/tab-divider":{"text":"Tab divider"},"$:/language/Docs/PaletteColours/tab-foreground-selected":{"text":"Tab foreground for selected tabs"},"$:/language/Docs/PaletteColours/tab-foreground":{"text":"Tab foreground"},"$:/language/Docs/PaletteColours/table-border":{"text":"Table border"},"$:/language/Docs/PaletteColours/table-footer-background":{"text":"Table footer background"},"$:/language/Docs/PaletteColours/table-header-background":{"text":"Table header background"},"$:/language/Docs/PaletteColours/tag-background":{"text":"Tag background"},"$:/language/Docs/PaletteColours/tag-foreground":{"text":"Tag foreground"},"$:/language/Docs/PaletteColours/tiddler-background":{"text":"Tiddler background"},"$:/language/Docs/PaletteColours/tiddler-border":{"text":"Tiddler border"},"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover":{"text":"Tiddler controls foreground hover"},"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected":{"text":"Tiddler controls foreground for selected controls"},"$:/language/Docs/PaletteColours/tiddler-controls-foreground":{"text":"Tiddler controls foreground"},"$:/language/Docs/PaletteColours/tiddler-editor-background":{"text":"Tiddler editor background"},"$:/language/Docs/PaletteColours/tiddler-editor-border-image":{"text":"Tiddler editor border image"},"$:/language/Docs/PaletteColours/tiddler-editor-border":{"text":"Tiddler editor border"},"$:/language/Docs/PaletteColours/tiddler-editor-fields-even":{"text":"Tiddler editor background for even fields"},"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd":{"text":"Tiddler editor background for odd fields"},"$:/language/Docs/PaletteColours/tiddler-info-background":{"text":"Tiddler info panel background"},"$:/language/Docs/PaletteColours/tiddler-info-border":{"text":"Tiddler info panel border"},"$:/language/Docs/PaletteColours/tiddler-info-tab-background":{"text":"Tiddler info panel tab background"},"$:/language/Docs/PaletteColours/tiddler-link-background":{"text":"Tiddler link background"},"$:/language/Docs/PaletteColours/tiddler-link-foreground":{"text":"Tiddler link foreground"},"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground":{"text":"Tiddler subtitle foreground"},"$:/language/Docs/PaletteColours/tiddler-title-foreground":{"text":"Tiddler title foreground"},"$:/language/Docs/PaletteColours/toolbar-new-button":{"text":"Toolbar 'new tiddler' button foreground"},"$:/language/Docs/PaletteColours/toolbar-options-button":{"text":"Toolbar 'options' button foreground"},"$:/language/Docs/PaletteColours/toolbar-save-button":{"text":"Toolbar 'save' button foreground"},"$:/language/Docs/PaletteColours/toolbar-info-button":{"text":"Toolbar 'info' button foreground"},"$:/language/Docs/PaletteColours/toolbar-edit-button":{"text":"Toolbar 'edit' button foreground"},"$:/language/Docs/PaletteColours/toolbar-close-button":{"text":"Toolbar 'close' button foreground"},"$:/language/Docs/PaletteColours/toolbar-delete-button":{"text":"Toolbar 'delete' button foreground"},"$:/language/Docs/PaletteColours/toolbar-cancel-button":{"text":"Toolbar 'cancel' button foreground"},"$:/language/Docs/PaletteColours/toolbar-done-button":{"text":"Toolbar 'done' button foreground"},"$:/language/Docs/PaletteColours/untagged-background":{"text":"Untagged pill background"},"$:/language/Docs/PaletteColours/very-muted-foreground":{"text":"Very muted foreground"},"$:/language/EditTemplate/Body/External/Hint":{"text":"This tiddler shows content stored outside of the main TiddlyWiki file. You can edit the tags and fields but cannot directly edit the content itself"},"$:/language/EditTemplate/Body/Placeholder":{"text":"Type the text for this tiddler"},"$:/language/EditTemplate/Body/Preview/Type/Output":{"text":"output"},"$:/language/EditTemplate/Field/Remove/Caption":{"text":"remove field"},"$:/language/EditTemplate/Field/Remove/Hint":{"text":"Remove field"},"$:/language/EditTemplate/Field/Dropdown/Caption":{"text":"field list"},"$:/language/EditTemplate/Field/Dropdown/Hint":{"text":"Show field list"},"$:/language/EditTemplate/Fields/Add/Button":{"text":"add"},"$:/language/EditTemplate/Fields/Add/Button/Hint":{"text":"Add the new field to the tiddler"},"$:/language/EditTemplate/Fields/Add/Name/Placeholder":{"text":"field name"},"$:/language/EditTemplate/Fields/Add/Prompt":{"text":"Add a new field:"},"$:/language/EditTemplate/Fields/Add/Value/Placeholder":{"text":"field value"},"$:/language/EditTemplate/Fields/Add/Dropdown/System":{"text":"System fields"},"$:/language/EditTemplate/Fields/Add/Dropdown/User":{"text":"User fields"},"$:/language/EditTemplate/Shadow/Warning":{"text":"This is a shadow tiddler. Any changes you make will override the default version from the plugin <<pluginLink>>"},"$:/language/EditTemplate/Shadow/OverriddenWarning":{"text":"This is a modified shadow tiddler. You can revert to the default version in the plugin <<pluginLink>> by deleting this tiddler"},"$:/language/EditTemplate/Tags/Add/Button":{"text":"add"},"$:/language/EditTemplate/Tags/Add/Button/Hint":{"text":"add tag"},"$:/language/EditTemplate/Tags/Add/Placeholder":{"text":"tag name"},"$:/language/EditTemplate/Tags/ClearInput/Caption":{"text":"clear input"},"$:/language/EditTemplate/Tags/ClearInput/Hint":{"text":"Clear tag input"},"$:/language/EditTemplate/Tags/Dropdown/Caption":{"text":"tag list"},"$:/language/EditTemplate/Tags/Dropdown/Hint":{"text":"Show tag list"},"$:/language/EditTemplate/Title/BadCharacterWarning":{"text":"Warning: avoid using any of the characters <<bad-chars>> in tiddler titles"},"$:/language/EditTemplate/Title/Exists/Prompt":{"text":"Target tiddler already exists"},"$:/language/EditTemplate/Title/Relink/Prompt":{"text":"Update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' in the //tags// and //list// fields of other tiddlers"},"$:/language/EditTemplate/Title/References/Prompt":{"text":"The following references to this tiddler will not be automatically updated:"},"$:/language/EditTemplate/Type/Dropdown/Caption":{"text":"content type list"},"$:/language/EditTemplate/Type/Dropdown/Hint":{"text":"Show content type list"},"$:/language/EditTemplate/Type/Delete/Caption":{"text":"delete content type"},"$:/language/EditTemplate/Type/Delete/Hint":{"text":"Delete content type"},"$:/language/EditTemplate/Type/Placeholder":{"text":"content type"},"$:/language/EditTemplate/Type/Prompt":{"text":"Type:"},"$:/language/Exporters/StaticRiver":{"text":"Static HTML"},"$:/language/Exporters/JsonFile":{"text":"JSON file"},"$:/language/Exporters/CsvFile":{"text":"CSV file"},"$:/language/Exporters/TidFile":{"text":"\".tid\" file"},"$:/language/Docs/Fields/_canonical_uri":{"text":"The full URI of an external image tiddler"},"$:/language/Docs/Fields/bag":{"text":"The name of the bag from which a tiddler came"},"$:/language/Docs/Fields/caption":{"text":"The text to be displayed on a tab or button"},"$:/language/Docs/Fields/color":{"text":"The CSS color value associated with a tiddler"},"$:/language/Docs/Fields/component":{"text":"The name of the component responsible for an [[alert tiddler|AlertMechanism]]"},"$:/language/Docs/Fields/current-tiddler":{"text":"Used to cache the top tiddler in a [[history list|HistoryMechanism]]"},"$:/language/Docs/Fields/created":{"text":"The date a tiddler was created"},"$:/language/Docs/Fields/creator":{"text":"The name of the person who created a tiddler"},"$:/language/Docs/Fields/dependents":{"text":"For a plugin, lists the dependent plugin titles"},"$:/language/Docs/Fields/description":{"text":"The descriptive text for a plugin, or a modal dialogue"},"$:/language/Docs/Fields/draft.of":{"text":"For draft tiddlers, contains the title of the tiddler of which this is a draft"},"$:/language/Docs/Fields/draft.title":{"text":"For draft tiddlers, contains the proposed new title of the tiddler"},"$:/language/Docs/Fields/footer":{"text":"The footer text for a wizard"},"$:/language/Docs/Fields/hide-body":{"text":"The view template will hide bodies of tiddlers if set to: ''yes''"},"$:/language/Docs/Fields/icon":{"text":"The title of the tiddler containing the icon associated with a tiddler"},"$:/language/Docs/Fields/library":{"text":"Indicates that a tiddler should be saved as a JavaScript library if set to: ''yes''"},"$:/language/Docs/Fields/list":{"text":"An ordered list of tiddler titles associated with a tiddler"},"$:/language/Docs/Fields/list-before":{"text":"If set, the title of a tiddler before which this tiddler should be added to the ordered list of tiddler titles, or at the start of the list if this field is present but empty"},"$:/language/Docs/Fields/list-after":{"text":"If set, the title of the tiddler after which this tiddler should be added to the ordered list of tiddler titles, or at the end of the list if this field is present but empty"},"$:/language/Docs/Fields/modified":{"text":"The date and time at which a tiddler was last modified"},"$:/language/Docs/Fields/modifier":{"text":"The tiddler title associated with the person who last modified a tiddler"},"$:/language/Docs/Fields/name":{"text":"The human readable name associated with a plugin tiddler"},"$:/language/Docs/Fields/plugin-priority":{"text":"A numerical value indicating the priority of a plugin tiddler"},"$:/language/Docs/Fields/plugin-type":{"text":"The type of plugin in a plugin tiddler"},"$:/language/Docs/Fields/revision":{"text":"The revision of the tiddler held at the server"},"$:/language/Docs/Fields/released":{"text":"Date of a TiddlyWiki release"},"$:/language/Docs/Fields/source":{"text":"The source URL associated with a tiddler"},"$:/language/Docs/Fields/subtitle":{"text":"The subtitle text for a wizard"},"$:/language/Docs/Fields/tags":{"text":"A list of tags associated with a tiddler"},"$:/language/Docs/Fields/text":{"text":"The body text of a tiddler"},"$:/language/Docs/Fields/throttle.refresh":{"text":"If present, throttles refreshes of this tiddler"},"$:/language/Docs/Fields/title":{"text":"The unique name of a tiddler"},"$:/language/Docs/Fields/toc-link":{"text":"Suppresses the tiddler's link in a Table of Contents tree if set to: ''no''"},"$:/language/Docs/Fields/type":{"text":"The content type of a tiddler"},"$:/language/Docs/Fields/version":{"text":"Version information for a plugin"},"$:/language/Docs/Fields/_is_skinny":{"text":"If present, indicates that the tiddler text field must be loaded from the server"},"$:/language/Filters/AllTiddlers":{"text":"All tiddlers except system tiddlers"},"$:/language/Filters/RecentSystemTiddlers":{"text":"Recently modified tiddlers, including system tiddlers"},"$:/language/Filters/RecentTiddlers":{"text":"Recently modified tiddlers"},"$:/language/Filters/AllTags":{"text":"All tags except system tags"},"$:/language/Filters/Missing":{"text":"Missing tiddlers"},"$:/language/Filters/Drafts":{"text":"Draft tiddlers"},"$:/language/Filters/Orphans":{"text":"Orphan tiddlers"},"$:/language/Filters/SystemTiddlers":{"text":"System tiddlers"},"$:/language/Filters/ShadowTiddlers":{"text":"Shadow tiddlers"},"$:/language/Filters/OverriddenShadowTiddlers":{"text":"Overridden shadow tiddlers"},"$:/language/Filters/SessionTiddlers":{"text":"Tiddlers modified since the wiki was loaded"},"$:/language/Filters/SystemTags":{"text":"System tags"},"$:/language/Filters/StoryList":{"text":"Tiddlers in the story river, excluding <$text text=\"$:/AdvancedSearch\"/>"},"$:/language/Filters/TypedTiddlers":{"text":"Non wiki-text tiddlers"},"GettingStarted":{"text":"\\define lingo-base() $:/language/ControlPanel/Basics/\nWelcome to ~TiddlyWiki and the ~TiddlyWiki community\n\nBefore you start storing important information in ~TiddlyWiki it is vital to make sure that you can reliably save changes. See https://tiddlywiki.com/#GettingStarted for details\n\n!! Set up this ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"},"$:/language/Help/build":{"description":"Automatically run configured commands","text":"Build the specified build targets for the current wiki. If no build targets are specified then all available targets will be built.\n\n```\n--build <target> [<target> ...]\n```\n\nBuild targets are defined in the `tiddlywiki.info` file of a wiki folder.\n\n"},"$:/language/Help/clearpassword":{"description":"Clear a password for subsequent crypto operations","text":"Clear the password for subsequent crypto operations\n\n```\n--clearpassword\n```\n"},"$:/language/Help/default":{"text":"\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nAvailable commands:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nTo get detailed help on a command:\n\n```\ntiddlywiki --help <command>\n```\n"},"$:/language/Help/deletetiddlers":{"description":"Deletes a group of tiddlers","text":"<<.from-version \"5.1.20\">> Deletes a group of tiddlers identified by a filter.\n\n```\n--deletetiddlers <filter>\n```\n"},"$:/language/Help/editions":{"description":"Lists the available editions of TiddlyWiki","text":"Lists the names and descriptions of the available editions. You can create a new wiki of a specified edition with the `--init` command.\n\n```\n--editions\n```\n"},"$:/language/Help/fetch":{"description":"Fetch tiddlers from wiki by URL","text":"Fetch one or more files over HTTP/HTTPS, and import the tiddlers matching a filter, optionally transforming the incoming titles.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\nThe \"file\" and \"files\" variants fetch the specified files and attempt to import the tiddlers within them (the same processing as if the files were dragged into the browser window). The \"raw-file\" and \"raw-files\" variants fetch the specified files and then store the raw file data in tiddlers, without applying the import logic.\n\nWith the \"file\" and \"raw-file\" variants only a single file is fetched and the first parameter is the URL of the file to read.\n\nWith the \"files\" and \"raw-files\" variants, multiple files are fetched and the first parameter is a filter yielding a list of URLs of the files to read. For example, given a set of tiddlers tagged \"remote-server\" that have a field \"url\" the filter `[tag[remote-server]get[url]]` will retrieve all the available URLs.\n\nFor the \"file\" and \"files\" variants, the `<import-filter>` parameter specifies a filter determining which tiddlers are imported. It defaults to `[all[tiddlers]]` if not provided.\n\nFor all variants, the `<transform-filter>` parameter specifies an optional filter that transforms the titles of the imported tiddlers. For example, `[addprefix[$:/myimports/]]` would add the prefix `$:/myimports/` to each title.\n\nPreceding the `--fetch` command with `--verbose` will output progress information during the import.\n\nNote that TiddlyWiki will not fetch an older version of an already loaded plugin.\n\nThe following example retrieves all the non-system tiddlers from https://tiddlywiki.com and saves them to a JSON file:\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\nThe following example retrieves the \"favicon\" file from tiddlywiki.com and saves it in a file called \"output.ico\". Note that the intermediate tiddler \"Icon Tiddler\" is quoted in the \"--fetch\" command because it is being used as a transformation filter to replace the default title, while there are no quotes for the \"--savetiddler\" command because it is being used directly as a title.\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n\n"},"$:/language/Help/help":{"description":"Display help for TiddlyWiki commands","text":"Displays help text for a command:\n\n```\n--help [<command>]\n```\n\nIf the command name is omitted then a list of available commands is displayed.\n"},"$:/language/Help/import":{"description":"Import tiddlers from a file","text":"Import tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The deserializer must be explicitly specified, unlike the `load` command which infers the deserializer from the file extension.\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\nThe deserializers in the core include:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nThe title of the imported tiddler defaults to the filename.\n\nThe encoding defaults to \"utf8\", but can be \"base64\" for importing binary files.\n\nNote that TiddlyWiki will not import an older version of an already loaded plugin.\n"},"$:/language/Help/init":{"description":"Initialise a new wiki folder","text":"Initialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition.\n\n```\n--init <edition> [<edition> ...]\n```\n\nFor example:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNote:\n\n* The wiki folder directory will be created if necessary\n* The \"edition\" defaults to ''empty''\n* The init command will fail if the wiki folder is not empty\n* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file\n* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)\n* `--editions` returns a list of available editions\n"},"$:/language/Help/listen":{"description":"Provides an HTTP server interface to TiddlyWiki","text":"Serves a wiki over HTTP.\n\nThe listen command uses NamedCommandParameters:\n\n```\n--listen [<name>=<value>]...\n```\n\nAll parameters are optional with safe defaults, and can be specified in any order. The recognised parameters are:\n\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''credentials'' - pathname of credentials CSV file (relative to wiki folder)\n* ''anon-username'' - the username for signing edits for anonymous users\n* ''username'' - optional username for basic authentication\n* ''password'' - optional password for basic authentication\n* ''authenticated-user-header'' - optional name of header to be used for trusted authentication\n* ''readers'' - comma separated list of principals allowed to read from this wiki\n* ''writers'' - comma separated list of principals allowed to write to this wiki\n* ''csrf-disable'' - set to \"yes\" to disable CSRF checks (defaults to \"no\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''tls-cert'' - pathname of TLS certificate file (relative to wiki folder)\n* ''tls-key'' - pathname of TLS key file (relative to wiki folder)\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n* ''gzip'' - set to \"yes\" to enable gzip compression for some http endpoints (defaults to \"no\")\n\nFor information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\n"},"$:/language/Help/load":{"description":"Load tiddlers from a file","text":"Load tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The processing applied to incoming files is determined by the file extension. Use the alternative `import` command if you need to specify the deserializer and encoding explicitly.\n\n```\n--load <filepath> [noerror]\n--load <dirpath> [noerror]\n```\n\nBy default, the load command raises an error if no tiddlers are found. The error can be suppressed by providing the optional \"noerror\" parameter.\n\nTo load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nNote that TiddlyWiki will not load an older version of an already loaded plugin.\n"},"$:/language/Help/makelibrary":{"description":"Construct library plugin required by upgrade process","text":"Constructs the `$:/UpgradeLibrary` tiddler for the upgrade process.\n\nThe upgrade library is formatted as an ordinary plugin tiddler with the plugin type `library`. It contains a copy of each of the plugins, themes and language packs available within the TiddlyWiki5 repository.\n\nThis command is intended for internal use; it is only relevant to users constructing a custom upgrade procedure.\n\n```\n--makelibrary <title>\n```\n\nThe title argument defaults to `$:/UpgradeLibrary`.\n"},"$:/language/Help/notfound":{"text":"No such help item"},"$:/language/Help/output":{"description":"Set the base output directory for subsequent commands","text":"Sets the base output directory for subsequent commands. The default output directory is the `output` subdirectory of the edition directory.\n\n```\n--output <pathname>\n```\n\nIf the specified pathname is relative then it is resolved relative to the current working directory. For example `--output .` sets the output directory to the current working directory.\n\n"},"$:/language/Help/password":{"description":"Set a password for subsequent crypto operations","text":"Set a password for subsequent crypto operations\n\n```\n--password <password>\n```\n\n''Note'': This should not be used for serving TiddlyWiki with password protection. Instead, see the password option under the [[ServerCommand]].\n"},"$:/language/Help/render":{"description":"Renders individual tiddlers to files","text":"Render individual tiddlers identified by a filter and save the results to the specified files.\n\nOptionally, the title of a template tiddler can be specified. In this case, instead of directly rendering each tiddler, the template tiddler is rendered with the \"currentTiddler\" variable set to the title of the tiddler that is being rendered.\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [<name>] [<value>]\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be rendered\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]addsuffix[.html]]`, which uses the unchanged tiddler title as the filename\n* ''render-type'': Optional render type: `text/html` (the default) returns the full HTML text and `text/plain` just returns the text content (ie it ignores HTML tags and other unprintable material)\n* ''template'': Optional template through which each tiddler is rendered\n* ''name'': Name of optional variable\n* ''value'': Value of optional variable\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When referring to a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets : `--render \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being rendered, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* The `--render` command is a more flexible replacement for both the `--rendertiddler` and `--rendertiddlers` commands, which are deprecated\n\nExamples:\n\n* `--render \"[!is[system]]\" \"[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]\"` -- renders all non-system tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles and the extension HTML\n\n"},"$:/language/Help/rendertiddler":{"description":"Render an individual tiddler as a specified ContentType","text":"(Note: The `--rendertiddler` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender an individual tiddler as a specified ContentType, defaulting to `text/html` and save it to the specified filename.\n\nOptionally the title of a template tiddler can be specified, in which case the template tiddler is rendered with the \"currentTiddler\" variable set to the tiddler that is being rendered (the first parameter value).\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n\nFor example, the following command saves all tiddlers matching the filter `[tag[done]]` to a JSON file titled `output.json` by employing the core template `$:/core/templates/exporters/JsonFile`.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n"},"$:/language/Help/rendertiddlers":{"description":"Render tiddlers matching a filter to a specified ContentType","text":"(Note: The `--rendertiddlers` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).\n\n```\n--rendertiddlers '<filter>' <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nFor example:\n\n```\n--rendertiddlers '[!is[system]]' $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny files in the target directory are deleted unless the ''noclean'' flag is specified. The target directory is recursively created if it is missing.\n"},"$:/language/Help/save":{"description":"Saves individual raw tiddlers to files","text":"Saves individual tiddlers identified by a filter in their raw text or binary format to the specified files.\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be saved\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]]`, which uses the unchanged tiddler title as the filename\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When saving a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets : `--save \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being saved, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* The `--save` command is a more flexible replacement for both the `--savetiddler` and `--savetiddlers` commands, which are deprecated\n\nExamples:\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- saves all non-system image tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles\n"},"$:/language/Help/savetiddler":{"description":"Saves a raw tiddler to a file","text":"(Note: The `--savetiddler` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves an individual tiddler in its raw text or binary format to the specified filename.\n\n```\n--savetiddler <title> <filename>\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n"},"$:/language/Help/savetiddlers":{"description":"Saves a group of raw tiddlers to a directory","text":"(Note: The `--savetiddlers` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves a group of tiddlers in their raw text or binary format to the specified directory.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nThe output directory is cleared of existing files before saving the specified files. The deletion can be disabled by specifying the ''noclean'' flag.\n\nAny missing directories in the pathname are automatically created.\n"},"$:/language/Help/savewikifolder":{"description":"Saves a wiki to a new wiki folder","text":"<<.from-version \"5.1.20\">> Saves the current wiki as a wiki folder, including tiddlers, plugins and configuration:\n\n```\n--savewikifolder <wikifolderpath> [<filter>]\n```\n\n* The target wiki folder must be empty or non-existent\n* The filter specifies which tiddlers should be included. It is optional, defaulting to `[all[tiddlers]]`\n* Plugins from the official plugin library are replaced with references to those plugins in the `tiddlywiki.info` file\n* Custom plugins are unpacked into their own folder\n\nA common usage is to convert a TiddlyWiki HTML file into a wiki folder:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```\n"},"$:/language/Help/server":{"description":"Provides an HTTP server interface to TiddlyWiki (deprecated in favour of the new listen command)","text":"Legacy command to serve a wiki over HTTP.\n\n```\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\n```\n\nThe parameters are:\n\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''username'' - the default username for signing edits\n* ''password'' - optional password for basic authentication\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n\nIf the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation should only be used on a trusted network or over HTTPS.\n\nFor example:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nThe username and password can be specified as empty strings if you need to set the hostname or pathprefix and don't want to require a password.\n\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nUsing an address like this exposes your system to the local network. For information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\nTo run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port. It can be useful to use an environment variable to pass the port number to the Node.js process. This example references an environment variable called \"MY_PORT_NUMBER\":\n\n```\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n"},"$:/language/Help/setfield":{"description":"Prepares external tiddlers for use","text":"//Note that this command is experimental and may change or be replaced before being finalised//\n\nSets the specified field of a group of tiddlers to the result of wikifying a template tiddler with the `currentTiddler` variable set to the tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''filter'' - filter identifying the tiddlers to be affected\n* ''fieldname'' - the field to modify (defaults to \"text\")\n* ''templatetitle'' - the tiddler to wikify into the specified field. If blank or missing then the specified field is deleted\n* ''rendertype'' - the text type to render (defaults to \"text/plain\"; \"text/html\" can be used to include HTML tags)\n"},"$:/language/Help/unpackplugin":{"description":"Unpack the payload tiddlers from a plugin","text":"Extract the payload tiddlers from a plugin, creating them as ordinary tiddlers:\n\n```\n--unpackplugin <title>\n```\n"},"$:/language/Help/verbose":{"description":"Triggers verbose output mode","text":"Triggers verbose output, useful for debugging\n\n```\n--verbose\n```\n"},"$:/language/Help/version":{"description":"Displays the version number of TiddlyWiki","text":"Displays the version number of TiddlyWiki.\n\n```\n--version\n```\n"},"$:/language/Import/Imported/Hint":{"text":"The following tiddlers were imported:"},"$:/language/Import/Listing/Cancel/Caption":{"text":"Cancel"},"$:/language/Import/Listing/Hint":{"text":"These tiddlers are ready to import:"},"$:/language/Import/Listing/Import/Caption":{"text":"Import"},"$:/language/Import/Listing/Select/Caption":{"text":"Select"},"$:/language/Import/Listing/Status/Caption":{"text":"Status"},"$:/language/Import/Listing/Title/Caption":{"text":"Title"},"$:/language/Import/Listing/Preview":{"text":"Preview:"},"$:/language/Import/Listing/Preview/Text":{"text":"Text"},"$:/language/Import/Listing/Preview/TextRaw":{"text":"Text (Raw)"},"$:/language/Import/Listing/Preview/Fields":{"text":"Fields"},"$:/language/Import/Listing/Preview/Diff":{"text":"Diff"},"$:/language/Import/Listing/Preview/DiffFields":{"text":"Diff (Fields)"},"$:/language/Import/Listing/Rename/Tooltip":{"text":"Rename tiddler before importing"},"$:/language/Import/Listing/Rename/Prompt":{"text":"Rename to:"},"$:/language/Import/Listing/Rename/ConfirmRename":{"text":"Rename tiddler"},"$:/language/Import/Listing/Rename/CancelRename":{"text":"Cancel"},"$:/language/Import/Listing/Rename/OverwriteWarning":{"text":"A tiddler with this title already exists."},"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible":{"text":"Blocked incompatible or obsolete plugin."},"$:/language/Import/Upgrader/Plugins/Suppressed/Version":{"text":"Blocked plugin (due to incoming <<incoming>> not being newer than existing <<existing>>)."},"$:/language/Import/Upgrader/Plugins/Upgraded":{"text":"Upgraded plugin from <<incoming>> to <<upgraded>>."},"$:/language/Import/Upgrader/State/Suppressed":{"text":"Blocked temporary state tiddler."},"$:/language/Import/Upgrader/System/Suppressed":{"text":"Blocked system tiddler."},"$:/language/Import/Upgrader/System/Warning":{"text":"Core module tiddler."},"$:/language/Import/Upgrader/System/Alert":{"text":"You are about to import a tiddler that will overwrite a core module tiddler. This is not recommended as it may make the system unstable."},"$:/language/Import/Upgrader/ThemeTweaks/Created":{"text":"Migrated theme tweak from <$text text=<<from>>/>."},"$:/language/AboveStory/ClassicPlugin/Warning":{"text":"It looks like you are trying to load a plugin designed for ~TiddlyWiki Classic. Please note that [[these plugins do not work with TiddlyWiki version 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. ~TiddlyWiki Classic plugins detected:"},"$:/language/BinaryWarning/Prompt":{"text":"This tiddler contains binary data"},"$:/language/ClassicWarning/Hint":{"text":"This tiddler is written in TiddlyWiki Classic wiki text format, which is not fully compatible with TiddlyWiki version 5. See https://tiddlywiki.com/static/Upgrading.html for more details."},"$:/language/ClassicWarning/Upgrade/Caption":{"text":"upgrade"},"$:/language/CloseAll/Button":{"text":"close all"},"$:/language/ColourPicker/Recent":{"text":"Recent:"},"$:/language/ConfirmCancelTiddler":{"text":"Do you wish to discard changes to the tiddler \"<$text text=<<title>>/>\"?"},"$:/language/ConfirmDeleteTiddler":{"text":"Do you wish to delete the tiddler \"<$text text=<<title>>/>\"?"},"$:/language/ConfirmOverwriteTiddler":{"text":"Do you wish to overwrite the tiddler \"<$text text=<<title>>/>\"?"},"$:/language/ConfirmEditShadowTiddler":{"text":"You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit \"<$text text=<<title>>/>\"?"},"$:/language/ConfirmAction":{"text":"Do you wish to proceed?"},"$:/language/Count":{"text":"count"},"$:/language/DefaultNewTiddlerTitle":{"text":"New Tiddler"},"$:/language/Diffs/CountMessage":{"text":"<<diff-count>> differences"},"$:/language/DropMessage":{"text":"Drop here (or use the 'Escape' key to cancel)"},"$:/language/Encryption/Cancel":{"text":"Cancel"},"$:/language/Encryption/ConfirmClearPassword":{"text":"Do you wish to clear the password? This will remove the encryption applied when saving this wiki"},"$:/language/Encryption/PromptSetPassword":{"text":"Set a new password for this TiddlyWiki"},"$:/language/Encryption/Username":{"text":"Username"},"$:/language/Encryption/Password":{"text":"Password"},"$:/language/Encryption/RepeatPassword":{"text":"Repeat password"},"$:/language/Encryption/PasswordNoMatch":{"text":"Passwords do not match"},"$:/language/Encryption/SetPassword":{"text":"Set password"},"$:/language/Error/Caption":{"text":"Error"},"$:/language/Error/EditConflict":{"text":"File changed on server"},"$:/language/Error/Filter":{"text":"Filter error"},"$:/language/Error/FilterSyntax":{"text":"Syntax error in filter expression"},"$:/language/Error/FilterRunPrefix":{"text":"Filter Error: Unknown prefix for filter run"},"$:/language/Error/IsFilterOperator":{"text":"Filter Error: Unknown operand for the 'is' filter operator"},"$:/language/Error/FormatFilterOperator":{"text":"Filter Error: Unknown suffix for the 'format' filter operator"},"$:/language/Error/LoadingPluginLibrary":{"text":"Error loading plugin library"},"$:/language/Error/NetworkErrorAlert":{"text":"`<h2>''Network Error''</h2>It looks like the connection to the server has been lost. This may indicate a problem with your network connection. Please attempt to restore network connectivity before continuing.<br><br>''Any unsaved changes will be automatically synchronised when connectivity is restored''.`"},"$:/language/Error/RecursiveTransclusion":{"text":"Recursive transclusion error in transclude widget"},"$:/language/Error/RetrievingSkinny":{"text":"Error retrieving skinny tiddler list"},"$:/language/Error/SavingToTWEdit":{"text":"Error saving to TWEdit"},"$:/language/Error/WhileSaving":{"text":"Error while saving"},"$:/language/Error/XMLHttpRequest":{"text":"XMLHttpRequest error code"},"$:/language/InternalJavaScriptError/Title":{"text":"Internal JavaScript Error"},"$:/language/InternalJavaScriptError/Hint":{"text":"Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser"},"$:/language/InvalidFieldName":{"text":"Illegal characters in field name \"<$text text=<<fieldName>>/>\". Fields can only contain lowercase letters, digits and the characters underscore (`_`), hyphen (`-`) and period (`.`)"},"$:/language/LayoutSwitcher/Description":{"text":"Open the layout switcher"},"$:/language/LazyLoadingWarning":{"text":"<p>Trying to load external content from ''<$text text={{!!_canonical_uri}}/>''</p><p>If this message doesn't disappear, either the tiddler content type doesn't match the type of the external content, or you may be using a browser that doesn't support external content for wikis loaded as standalone files. See https://tiddlywiki.com/#ExternalText</p>"},"$:/language/LoginToTiddlySpace":{"text":"Login to TiddlySpace"},"$:/language/Manager/Controls/FilterByTag/None":{"text":"(none)"},"$:/language/Manager/Controls/FilterByTag/Prompt":{"text":"Filter by tag:"},"$:/language/Manager/Controls/Order/Prompt":{"text":"Reverse order"},"$:/language/Manager/Controls/Search/Placeholder":{"text":"Search"},"$:/language/Manager/Controls/Search/Prompt":{"text":"Search:"},"$:/language/Manager/Controls/Show/Option/Tags":{"text":"tags"},"$:/language/Manager/Controls/Show/Option/Tiddlers":{"text":"tiddlers"},"$:/language/Manager/Controls/Show/Prompt":{"text":"Show:"},"$:/language/Manager/Controls/Sort/Prompt":{"text":"Sort by:"},"$:/language/Manager/Item/Colour":{"text":"Colour"},"$:/language/Manager/Item/Fields":{"text":"Fields"},"$:/language/Manager/Item/Icon/None":{"text":"(none)"},"$:/language/Manager/Item/Icon":{"text":"Icon"},"$:/language/Manager/Item/RawText":{"text":"Raw text"},"$:/language/Manager/Item/Tags":{"text":"Tags"},"$:/language/Manager/Item/Tools":{"text":"Tools"},"$:/language/Manager/Item/WikifiedText":{"text":"Wikified text"},"$:/language/MissingTiddler/Hint":{"text":"Missing tiddler \"<$text text=<<currentTiddler>>/>\" -- click {{||$:/core/ui/Buttons/edit}} to create"},"$:/language/No":{"text":"No"},"$:/language/OfficialPluginLibrary":{"text":"Official ~TiddlyWiki Plugin Library"},"$:/language/OfficialPluginLibrary/Hint":{"text":"The official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team."},"$:/language/PageTemplate/Description":{"text":"the default ~TiddlyWiki layout"},"$:/language/PageTemplate/Name":{"text":"Default ~PageTemplate"},"$:/language/PluginReloadWarning":{"text":"Please save {{$:/core/ui/Buttons/save-wiki}} and reload {{$:/core/ui/Buttons/refresh}} to allow changes to ~JavaScript plugins to take effect"},"$:/language/RecentChanges/DateFormat":{"text":"DDth MMM YYYY"},"$:/language/Shortcuts/Input/AdvancedSearch/Hint":{"text":"Open the ~AdvancedSearch panel from within the sidebar search field"},"$:/language/Shortcuts/Input/Accept/Hint":{"text":"Accept the selected item"},"$:/language/Shortcuts/Input/AcceptVariant/Hint":{"text":"Accept the selected item (variant)"},"$:/language/Shortcuts/Input/Cancel/Hint":{"text":"Clear the input field"},"$:/language/Shortcuts/Input/Down/Hint":{"text":"Select the next item"},"$:/language/Shortcuts/Input/Tab-Left/Hint":{"text":"Select the previous Tab"},"$:/language/Shortcuts/Input/Tab-Right/Hint":{"text":"Select the next Tab"},"$:/language/Shortcuts/Input/Up/Hint":{"text":"Select the previous item"},"$:/language/Shortcuts/SidebarLayout/Hint":{"text":"Change the sidebar layout"},"$:/language/Switcher/Subtitle/theme":{"text":"Switch Theme"},"$:/language/Switcher/Subtitle/layout":{"text":"Switch Layout"},"$:/language/Switcher/Subtitle/language":{"text":"Switch Language"},"$:/language/Switcher/Subtitle/palette":{"text":"Switch Palette"},"$:/language/SystemTiddler/Tooltip":{"text":"This is a system tiddler"},"$:/language/SystemTiddlers/Include/Prompt":{"text":"Include system tiddlers"},"$:/language/TagManager/Colour/Heading":{"text":"Colour"},"$:/language/TagManager/Count/Heading":{"text":"Count"},"$:/language/TagManager/Icon/Heading":{"text":"Icon"},"$:/language/TagManager/Icons/None":{"text":"None"},"$:/language/TagManager/Info/Heading":{"text":"Info"},"$:/language/TagManager/Tag/Heading":{"text":"Tag"},"$:/language/Tiddler/DateFormat":{"text":"DDth MMM YYYY at hh12:0mmam"},"$:/language/UnsavedChangesWarning":{"text":"You have unsaved changes in TiddlyWiki"},"$:/language/Yes":{"text":"Yes"},"$:/language/Modals/Download":{"subtitle":"Download changes","footer":"<$button message=\"tm-close-tiddler\">Close</$button>","help":"https://tiddlywiki.com/static/DownloadingChanges.html","text":"Your browser only supports manual saving.\n\nTo save your modified wiki, right click on the download link below and select \"Download file\" or \"Save file\", and then choose the folder and filename.\n\n//You can marginally speed things up by clicking the link with the control key (Windows) or the options/alt key (Mac OS X). You will not be prompted for the folder or filename, but your browser is likely to give it an unrecognisable name -- you may need to rename the file to include an `.html` extension before you can do anything useful with it.//\n\nOn smartphones that do not allow files to be downloaded you can instead bookmark the link, and then sync your bookmarks to a desktop computer from where the wiki can be saved normally.\n"},"$:/language/Modals/SaveInstructions":{"subtitle":"Save your work","footer":"<$button message=\"tm-close-tiddler\">Close</$button>","help":"https://tiddlywiki.com/static/SavingChanges.html","text":"Your changes to this wiki need to be saved as a ~TiddlyWiki HTML file.\n\n!!! Desktop browsers\n\n# Select ''Save As'' from the ''File'' menu\n# Choose a filename and location\n#* Some browsers also require you to explicitly specify the file saving format as ''Webpage, HTML only'' or similar\n# Close this tab\n\n!!! Smartphone browsers\n\n# Create a bookmark to this page\n#* If you've got iCloud or Google Sync set up then the bookmark will automatically sync to your desktop where you can open it and save it as above\n# Close this tab\n\n//If you open the bookmark again in Mobile Safari you will see this message again. If you want to go ahead and use the file, just click the ''close'' button below//\n"},"$:/config/NewJournal/Title":{"text":"DDth MMM YYYY"},"$:/config/NewJournal/Text":{"text":""},"$:/config/NewJournal/Tags":{"text":"Journal\n"},"$:/language/Notifications/Save/Done":{"text":"Saved wiki"},"$:/language/Notifications/Save/Starting":{"text":"Starting to save wiki"},"$:/language/Notifications/CopiedToClipboard/Succeeded":{"text":"Copied to clipboard!"},"$:/language/Notifications/CopiedToClipboard/Failed":{"text":"Failed to copy to clipboard!"},"$:/language/Search/DefaultResults/Caption":{"text":"List"},"$:/language/Search/Filter/Caption":{"text":"Filter"},"$:/language/Search/Filter/Hint":{"text":"Search via a [[filter expression|https://tiddlywiki.com/static/Filters.html]]"},"$:/language/Search/Filter/Matches":{"text":"//<small><<resultCount>> matches</small>//"},"$:/language/Search/Matches":{"text":"//<small><<resultCount>> matches</small>//"},"$:/language/Search/Matches/All":{"text":"All matches:"},"$:/language/Search/Matches/Title":{"text":"Title matches:"},"$:/language/Search/Search":{"text":"Search"},"$:/language/Search/Search/TooShort":{"text":"Search text too short"},"$:/language/Search/Shadows/Caption":{"text":"Shadows"},"$:/language/Search/Shadows/Hint":{"text":"Search for shadow tiddlers"},"$:/language/Search/Shadows/Matches":{"text":"//<small><<resultCount>> matches</small>//"},"$:/language/Search/Standard/Caption":{"text":"Standard"},"$:/language/Search/Standard/Hint":{"text":"Search for standard tiddlers"},"$:/language/Search/Standard/Matches":{"text":"//<small><<resultCount>> matches</small>//"},"$:/language/Search/System/Caption":{"text":"System"},"$:/language/Search/System/Hint":{"text":"Search for system tiddlers"},"$:/language/Search/System/Matches":{"text":"//<small><<resultCount>> matches</small>//"},"$:/language/SideBar/All/Caption":{"text":"All"},"$:/language/SideBar/Contents/Caption":{"text":"Contents"},"$:/language/SideBar/Drafts/Caption":{"text":"Drafts"},"$:/language/SideBar/Explorer/Caption":{"text":"Explorer"},"$:/language/SideBar/Missing/Caption":{"text":"Missing"},"$:/language/SideBar/More/Caption":{"text":"More"},"$:/language/SideBar/Open/Caption":{"text":"Open"},"$:/language/SideBar/Orphans/Caption":{"text":"Orphans"},"$:/language/SideBar/Recent/Caption":{"text":"Recent"},"$:/language/SideBar/Shadows/Caption":{"text":"Shadows"},"$:/language/SideBar/System/Caption":{"text":"System"},"$:/language/SideBar/Tags/Caption":{"text":"Tags"},"$:/language/SideBar/Tags/Untagged/Caption":{"text":"untagged"},"$:/language/SideBar/Tools/Caption":{"text":"Tools"},"$:/language/SideBar/Types/Caption":{"text":"Types"},"$:/SiteSubtitle":{"text":"a non-linear personal web notebook"},"$:/SiteTitle":{"text":"My ~TiddlyWiki"},"$:/language/Snippets/ListByTag":{"tags":"$:/tags/TextEditor/Snippet","caption":"List of tiddlers by tag","text":"<<list-links \"[tag[task]sort[title]]\">>\n"},"$:/language/Snippets/MacroDefinition":{"tags":"$:/tags/TextEditor/Snippet","caption":"Macro definition","text":"\\define macroName(param1:\"default value\",param2)\nText of the macro\n\\end\n"},"$:/language/Snippets/Table4x3":{"tags":"$:/tags/TextEditor/Snippet","caption":"Table with 4 columns by 3 rows","text":"|! |!Alpha |!Beta |!Gamma |!Delta |\n|!One | | | | |\n|!Two | | | | |\n|!Three | | | | |\n"},"$:/language/Snippets/TableOfContents":{"tags":"$:/tags/TextEditor/Snippet","caption":"Table of Contents","text":"<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"},"$:/language/ThemeTweaks/ThemeTweaks":{"text":"Theme Tweaks"},"$:/language/ThemeTweaks/ThemeTweaks/Hint":{"text":"You can tweak certain aspects of the ''Vanilla'' theme."},"$:/language/ThemeTweaks/Options":{"text":"Options"},"$:/language/ThemeTweaks/Options/SidebarLayout":{"text":"Sidebar layout"},"$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid":{"text":"Fixed story, fluid sidebar"},"$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed":{"text":"Fluid story, fixed sidebar"},"$:/language/ThemeTweaks/Options/StickyTitles":{"text":"Sticky titles"},"$:/language/ThemeTweaks/Options/StickyTitles/Hint":{"text":"Causes tiddler titles to \"stick\" to the top of the browser window"},"$:/language/ThemeTweaks/Options/CodeWrapping":{"text":"Wrap long lines in code blocks"},"$:/language/ThemeTweaks/Settings":{"text":"Settings"},"$:/language/ThemeTweaks/Settings/FontFamily":{"text":"Font family"},"$:/language/ThemeTweaks/Settings/CodeFontFamily":{"text":"Code font family"},"$:/language/ThemeTweaks/Settings/EditorFontFamily":{"text":"Editor font family"},"$:/language/ThemeTweaks/Settings/BackgroundImage":{"text":"Page background image"},"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment":{"text":"Page background image attachment"},"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll":{"text":"Scroll with tiddlers"},"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed":{"text":"Fixed to window"},"$:/language/ThemeTweaks/Settings/BackgroundImageSize":{"text":"Page background image size"},"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto":{"text":"Auto"},"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover":{"text":"Cover"},"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain":{"text":"Contain"},"$:/language/ThemeTweaks/Metrics":{"text":"Sizes"},"$:/language/ThemeTweaks/Metrics/FontSize":{"text":"Font size"},"$:/language/ThemeTweaks/Metrics/LineHeight":{"text":"Line height"},"$:/language/ThemeTweaks/Metrics/BodyFontSize":{"text":"Font size for tiddler body"},"$:/language/ThemeTweaks/Metrics/BodyLineHeight":{"text":"Line height for tiddler body"},"$:/language/ThemeTweaks/Metrics/StoryLeft":{"text":"Story left position"},"$:/language/ThemeTweaks/Metrics/StoryLeft/Hint":{"text":"how far the left margin of the story river<br>(tiddler area) is from the left of the page"},"$:/language/ThemeTweaks/Metrics/StoryTop":{"text":"Story top position"},"$:/language/ThemeTweaks/Metrics/StoryTop/Hint":{"text":"how far the top margin of the story river<br>is from the top of the page"},"$:/language/ThemeTweaks/Metrics/StoryRight":{"text":"Story right"},"$:/language/ThemeTweaks/Metrics/StoryRight/Hint":{"text":"how far the left margin of the sidebar <br>is from the left of the page"},"$:/language/ThemeTweaks/Metrics/StoryWidth":{"text":"Story width"},"$:/language/ThemeTweaks/Metrics/StoryWidth/Hint":{"text":"the overall width of the story river"},"$:/language/ThemeTweaks/Metrics/TiddlerWidth":{"text":"Tiddler width"},"$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint":{"text":"within the story river"},"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint":{"text":"Sidebar breakpoint"},"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint":{"text":"the minimum page width at which the story<br>river and sidebar will appear side by side"},"$:/language/ThemeTweaks/Metrics/SidebarWidth":{"text":"Sidebar width"},"$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint":{"text":"the width of the sidebar in fluid-fixed layout"},"$:/language/TiddlerInfo/Advanced/Caption":{"text":"Advanced"},"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint":{"text":"none"},"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading":{"text":"Plugin Details"},"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint":{"text":"This plugin contains the following shadow tiddlers:"},"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading":{"text":"Shadow Status"},"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint":{"text":"The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is not a shadow tiddler"},"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint":{"text":"The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is a shadow tiddler"},"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source":{"text":"It is defined in the plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>"},"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint":{"text":"It is overridden by an ordinary tiddler"},"$:/language/TiddlerInfo/Fields/Caption":{"text":"Fields"},"$:/language/TiddlerInfo/List/Caption":{"text":"List"},"$:/language/TiddlerInfo/List/Empty":{"text":"This tiddler does not have a list"},"$:/language/TiddlerInfo/Listed/Caption":{"text":"Listed"},"$:/language/TiddlerInfo/Listed/Empty":{"text":"This tiddler is not listed by any others"},"$:/language/TiddlerInfo/References/Caption":{"text":"Backlinks"},"$:/language/TiddlerInfo/References/Empty":{"text":"No tiddlers link to this one"},"$:/language/TiddlerInfo/Tagging/Caption":{"text":"Tagging"},"$:/language/TiddlerInfo/Tagging/Empty":{"text":"No tiddlers are tagged with this one"},"$:/language/TiddlerInfo/Tools/Caption":{"text":"Tools"},"$:/language/Docs/Types/application/javascript":{"description":"JavaScript code","name":"application/javascript","group":"Developer","group-sort":"2"},"$:/language/Docs/Types/application/json":{"description":"JSON data","name":"application/json","group":"Developer","group-sort":"2"},"$:/language/Docs/Types/application/x-tiddler-dictionary":{"description":"Data dictionary","name":"application/x-tiddler-dictionary","group":"Developer","group-sort":"2"},"$:/language/Docs/Types/image/gif":{"description":"GIF image","name":"image/gif","group":"Image","group-sort":"1"},"$:/language/Docs/Types/image/jpeg":{"description":"JPEG image","name":"image/jpeg","group":"Image","group-sort":"1"},"$:/language/Docs/Types/image/png":{"description":"PNG image","name":"image/png","group":"Image","group-sort":"1"},"$:/language/Docs/Types/image/svg+xml":{"description":"Structured Vector Graphics image","name":"image/svg+xml","group":"Image","group-sort":"1"},"$:/language/Docs/Types/image/x-icon":{"description":"ICO format icon file","name":"image/x-icon","group":"Image","group-sort":"1"},"$:/language/Docs/Types/text/css":{"description":"Static stylesheet","name":"text/css","group":"Developer","group-sort":"2"},"$:/language/Docs/Types/text/html":{"description":"HTML markup","name":"text/html","group":"Text","group-sort":"0"},"$:/language/Docs/Types/text/plain":{"description":"Plain text","name":"text/plain","group":"Text","group-sort":"0"},"$:/language/Docs/Types/text/vnd.tiddlywiki":{"description":"TiddlyWiki 5","name":"text/vnd.tiddlywiki","group":"Text","group-sort":"0"},"$:/language/Docs/Types/text/x-tiddlywiki":{"description":"TiddlyWiki Classic","name":"text/x-tiddlywiki","group":"Text","group-sort":"0"},"$:/languages/en-GB/icon":{"type":"image/svg+xml","text":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 60 30\" width=\"1200\" height=\"600\">\n<clipPath id=\"t\">\n\t<path d=\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\"/>\n</clipPath>\n<path d=\"M0,0 v30 h60 v-30 z\" fill=\"#00247d\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" stroke=\"#fff\" stroke-width=\"6\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" clip-path=\"url(#t)\" stroke=\"#cf142b\" stroke-width=\"4\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#fff\" stroke-width=\"10\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#cf142b\" stroke-width=\"6\"/>\n</svg>\n"},"$:/languages/en-GB":{"name":"en-GB","description":"English (British)","author":"JeremyRuston","core-version":">=5.0.0\"","text":"Stub pseudo-plugin for the default language"},"$:/core/modules/commander.js":{"text":"!function(){'use strict';function t(t,e,n,o){var s=require('path');this.commandTokens=t,this.nextToken=0,this.callback=e,this.wiki=n,this.streams=o,this.outputPath=s.resolve($tw.boot.wikiPath,$tw.config.wikiOutputSubDir)}t.prototype.log=function(t){this.verbose&&this.streams.output.write(t+'\\n')},t.prototype.write=function(t){this.verbose&&this.streams.output.write(t)},t.prototype.addCommandTokens=function(t){t=t.slice(0);t.unshift(0),t.unshift(this.nextToken),Array.prototype.splice.apply(this.commandTokens,t)},t.prototype.execute=function(){this.executeNextCommand()},t.prototype.executeNextCommand=function(){var e=this;if(this.nextToken>=this.commandTokens.length)this.callback(null);else{var t=this.commandTokens[this.nextToken++];if('--'!==t.substr(0,2))this.callback('Missing command: '+t);else{t=t.substr(2);for(var n=[];this.nextToken<this.commandTokens.length&&'--'!==this.commandTokens[this.nextToken].substr(0,2);)n.push(this.commandTokens[this.nextToken++]);var o,s=$tw.commands[t];if(s){if(this.verbose&&this.streams.output.write('Executing command: '+t+' '+n.join(' ')+'\\n'),s.info.namedParameterMode&&'string'==typeof(n=this.extractNamedParameters(n,s.info.mandatoryParameters)))return this.callback(n);s.info.synchronous?(o=new s.Command(n,this).execute())?this.callback(o):this.executeNextCommand():(o=new s.Command(n,this,function(t){t?e.callback(t):e.executeNextCommand()}).execute())&&this.callback(o)}else this.callback('Unknown command: '+t)}}},t.prototype.extractNamedParameters=function(t,e){e=e||[];var n=[],o=Object.create(null);return $tw.utils.each(t,function(t){var e=t.indexOf('=');e<1&&n.push('malformed named parameter: \\''+t+'\\''),o[t.slice(0,e)]=$tw.utils.trim(t.slice(e+1))}),$tw.utils.each(e,function(t){$tw.utils.hop(o,t)||n.push('missing mandatory parameter: \\''+t+'\\'')}),0<n.length?n.join(' and\\n'):o},t.initCommands=function(t){t=t||'command',$tw.commands={},$tw.modules.forEachModuleOfType(t,function(t,e){var n,o=$tw.commands[e.info.name]={};for(n in e)$tw.utils.hop(e,n)&&(o[n]=e[n])})},exports.Commander=t}();","type":"application/javascript","module-type":"global"},"$:/core/modules/commands/build.js":{"text":"!function(){'use strict';function t(t,n){this.params=t,this.commander=n}exports.info={name:'build',synchronous:!0},t.prototype.execute=function(){var t,n=$tw.boot.wikiInfo.build;if(!n)return'No build targets defined';t=0<this.params.length?this.params:Object.keys(n);for(var e=0;e<t.length;e++){var o=t[e],r=n[o];if(!r)return'Build target \\''+o+'\\' not found';this.commander.addCommandTokens(r)}return null},exports.Command=t}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/clearpassword.js":{"text":"!function(){'use strict';function t(t,n,o){this.params=t,this.commander=n,this.callback=o}exports.info={name:'clearpassword',synchronous:!0},t.prototype.execute=function(){return $tw.crypto.setPassword(null),null},exports.Command=t}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/deletetiddlers.js":{"text":"!function(){'use strict';function t(t,e,i){this.params=t,this.commander=e,this.callback=i}exports.info={name:'deletetiddlers',synchronous:!0},t.prototype.execute=function(){if(this.params.length<1)return'Missing filter';var e=this.commander.wiki,t=this.params[0],t=e.filterTiddlers(t);return $tw.utils.each(t,function(t){e.deleteTiddler(t)}),null},exports.Command=t}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/editions.js":{"text":"!function(){'use strict';function t(t,n){this.params=t,this.commander=n}exports.info={name:'editions',synchronous:!0},t.prototype.execute=function(){var e=this;this.commander.streams.output.write('Available editions:\\n\\n');var t=$tw.utils.getEditionInfo();return $tw.utils.each(t,function(t,n){e.commander.streams.output.write(' '+n+': '+t.description+'\\n')}),this.commander.streams.output.write('\\n'),null},exports.Command=t}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/fetch.js":{"text":"!function(){'use strict';function t(t,r,e){this.params=t,this.commander=r,this.callback=e}exports.info={name:'fetch',synchronous:!1},t.prototype.execute=function(){if(this.params.length<2)return'Missing subcommand and url';switch(this.params[0]){case'raw-file':return this.fetchFiles({raw:!0,url:this.params[1],transformFilter:this.params[2]||'',callback:this.callback});case'file':return this.fetchFiles({url:this.params[1],importFilter:this.params[2],transformFilter:this.params[3]||'',callback:this.callback});case'raw-files':return this.fetchFiles({raw:!0,urlFilter:this.params[1],transformFilter:this.params[2]||'',callback:this.callback});case'files':return this.fetchFiles({urlFilter:this.params[1],importFilter:this.params[2],transformFilter:this.params[3]||'',callback:this.callback})}return null},t.prototype.fetchFiles=function(r){var e,i=this;if(r.url)e=[r.url];else{if(!r.urlFilter)return'Missing URL';e=this.commander.wiki.filterTiddlers(r.urlFilter)}var a=0,s=function(t){if(t)return r.callback(t);a<e.length?i.fetchFile(e[a++],r,s):r.callback(null)};return s(null),null},t.prototype.fetchFile=function(i,a,s,n){if(10<n)return s('Error too many redirects retrieving '+i);var l=this;return('https://'===i.substr(0,8)?require('https'):require('http')).get(i).on('response',function(t){var r=(t.headers['content-type']||'').split(';')[0],e=[];l.commander.write('Reading '+i+': '),t.on('data',function(t){e.push(t),l.commander.write('.')}),t.on('end',function(){return l.commander.write('\\n'),200!==t.statusCode?302===t.statusCode||303===t.statusCode||307===t.statusCode?l.fetchFile(t.headers.location,a,s,n+1):s('Error '+t.statusCode+' retrieving '+i):(l.processBody(Buffer.concat(e),r,a,i),void s(null))}),t.on('error',function(t){console.log('Error on GET request: '+t),s(t)})}),null},t.prototype.processBody=function(t,r,a,e){var i,s=this,n=new $tw.Wiki;a.raw?(i=(i=r?$tw.config.contentTypeInfo[r]:null)?i.encoding:'utf8',n.addTiddler(new $tw.Tiddler({title:e,type:r,text:t.toString(i)}))):(t=this.commander.wiki.deserializeTiddlers(r||'text/html',t.toString('utf8'),{}),$tw.utils.each(t,function(t){n.addTiddler(new $tw.Tiddler(t))}));var l=n.filterTiddlers(a.importFilter||'[all[tiddlers]]'),o=0;n.each(function(t,r){var e,i;-1!==l.indexOf(r)&&(a.transformFilter?(i=(n.filterTiddlers(a.transformFilter,null,s.commander.wiki.makeTiddlerIterator([r]))||[''])[0])&&(s.commander.log('Importing '+r+' as '+i),e=new $tw.Tiddler(t,{title:i})):(s.commander.log('Importing '+r),e=t),s.commander.wiki.importTiddler(e),o++)}),s.commander.log('Imported '+o+' tiddlers')},exports.Command=t}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/help.js":{"text":"!function(){'use strict';function e(e,t){this.params=e,this.commander=t}exports.info={name:'help',synchronous:!0},e.prototype.execute=function(){var e=this.params[0]||'default',t='$:/language/Help/';this.commander.wiki.getTiddler(t+e)||(e='notfound'),e=(e=this.commander.wiki.renderTiddler('text/plain-formatted',t+e)).replace(/^(\\r?\\n)*/g,''),this.commander.streams.output.write(e)},exports.Command=e}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/import.js":{"text":"!function(){'use strict';function e(e,r,i){this.params=e,this.commander=r,this.callback=i}exports.info={name:'import',synchronous:!0},e.prototype.execute=function(){var r=this,e=require('fs');require('path');if(this.params.length<2)return'Missing parameters';var i=r.params[0],t=r.params[1],a=r.params[2]||i,s=r.params[3]||'utf8',s=e.readFileSync(i,s),t=this.commander.wiki.deserializeTiddlers(null,s,{title:a},{deserializer:t});return $tw.utils.each(t,function(e){r.commander.wiki.importTiddler(new $tw.Tiddler(e))}),this.commander.log(t.length+' tiddler(s) imported'),null},exports.Command=e}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/init.js":{"text":"!function(){'use strict';function t(t,i){this.params=t,this.commander=i}exports.info={name:'init',synchronous:!0},t.prototype.execute=function(){var t=require('fs');require('path');if($tw.boot.wikiTiddlersPath||$tw.utils.isDirectory($tw.boot.wikiPath)&&!$tw.utils.isDirectoryEmpty($tw.boot.wikiPath))return'Wiki folder is not empty';for(var i=0<this.params.length?this.params:['empty'],e=0;e<i.length;e++){var r=i[e],o=$tw.findLibraryItem(r,$tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar));if(!$tw.utils.isDirectory(o))return'Edition \\''+r+'\\' not found';o=$tw.utils.copyDirectory(o,$tw.boot.wikiPath);if(o)return o;this.commander.streams.output.write('Copied edition \\''+r+'\\' to '+$tw.boot.wikiPath+'\\n')}var n=$tw.boot.wikiPath+'/tiddlywiki.info',s=JSON.parse(t.readFileSync(n));return delete s.includeWikis,t.writeFileSync(n,JSON.stringify(s,null,$tw.config.preferences.jsonSpaces)),null},exports.Command=t}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/listen.js":{"text":"!function(){'use strict';var i=require('$:/core/modules/server/server.js').Server;function e(e,i,r){this.params=e,this.commander=i,this.callback=r}exports.info={name:'listen',synchronous:!0,namedParameterMode:!0,mandatoryParameters:[]},e.prototype.execute=function(){$tw.boot.wikiTiddlersPath||$tw.utils.warning('Warning: Wiki folder \\''+$tw.boot.wikiPath+'\\' does not exist or is missing a tiddlywiki.info file'),this.server=new i({wiki:this.commander.wiki,variables:this.params});var e=this.server.listen();return $tw.hooks.invokeHook('th-server-command-post-start',this.server,e,'tiddlywiki'),null},exports.Command=e}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/load.js":{"text":"!function(){'use strict';function r(r,t,i){this.params=r,this.commander=t,this.callback=i}exports.info={name:'load',synchronous:!1},r.prototype.execute=function(){var t=this;require('fs'),require('path');if(this.params.length<1)return'Missing filename';var r=$tw.loadTiddlersFromPath(t.params[0]),i=0;return $tw.utils.each(r,function(r){$tw.utils.each(r.tiddlers,function(r){t.commander.wiki.importTiddler(new $tw.Tiddler(r)),i++})}),i||'noerror'===t.params[1]?t.callback(null):t.callback('No tiddlers found in file \"'+t.params[0]+'\"'),null},exports.Command=r}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/makelibrary.js":{"text":"!function(){'use strict';function t(t,e,i){this.params=t,this.commander=e,this.callback=i}exports.info={name:'makelibrary',synchronous:!0},t.prototype.execute=function(){function r(t){for(var e=$tw.utils.getSubdirectories(t)||[],i=0;i<e.length;i++)$tw.boot.excludeRegExp.test(e[i])||(s=$tw.loadPluginFolder(a.resolve(t,'./'+e[i])))&&s.title&&(n[s.title]=s)}function t(t){for(var e=$tw.utils.getSubdirectories(t)||[],i=0;i<e.length;i++)$tw.boot.excludeRegExp.test(e[i])||r(a.resolve(t,'./'+e[i]))}var e=this.commander.wiki,a=(require('fs'),require('path')),i=this.params[0]||'$:/UpgradeLibrary',n={};$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.pluginsPath,$tw.config.pluginsEnvVar),t),$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.themesPath,$tw.config.themesEnvVar),t),$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.languagesPath,$tw.config.languagesEnvVar),r);var s={title:i,type:'application/json','plugin-type':'library',text:JSON.stringify({tiddlers:n})};return e.addTiddler(new $tw.Tiddler(s)),null},exports.Command=t}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/output.js":{"text":"!function(){'use strict';function t(t,s,e){this.params=t,this.commander=s,this.callback=e}exports.info={name:'output',synchronous:!0},t.prototype.execute=function(){require('fs');var t=require('path');return this.params.length<1?'Missing output path':(this.commander.outputPath=t.resolve(process.cwd(),this.params[0]),null)},exports.Command=t}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/password.js":{"text":"!function(){'use strict';function s(s,t,n){this.params=s,this.commander=t,this.callback=n}exports.info={name:'password',synchronous:!0},s.prototype.execute=function(){return this.params.length<1?'Missing password':($tw.crypto.setPassword(this.params[0]),null)},exports.Command=s}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/render.js":{"text":"!function(){'use strict';function e(e,t,r){this.params=e,this.commander=t,this.callback=r}require('$:/core/modules/widgets/widget.js'),exports.info={name:'render',synchronous:!0},e.prototype.execute=function(){if(this.params.length<1)return'Missing tiddler filter';var i=this,s=require('fs'),a=require('path'),n=this.commander.wiki,e=this.params[0],o=this.params[1]||'[is[tiddler]addsuffix[.html]]',d=this.params[2]||'text/html',l=this.params[3],m=this.params[4],u=this.params[5],e=n.filterTiddlers(e);return $tw.utils.each(e,function(e){var t=n.parseTiddler(l||e),r={currentTiddler:e};m&&(r[m]=u||'');t=n.makeWidget(t,{variables:r}),r=$tw.fakeDocument.createElement('div');t.render(r,null);t='text/html'===d?r.innerHTML:r.textContent,r=a.resolve(i.commander.outputPath,n.filterTiddlers(o,$tw.rootWidget,n.makeTiddlerIterator([e]))[0]);i.commander.verbose&&console.log('Rendering \"'+e+'\" to \"'+r+'\"'),$tw.utils.createFileDirectories(r),s.writeFileSync(r,t,'utf8')}),null},exports.Command=e}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/rendertiddler.js":{"text":"!function(){'use strict';function t(t,r,e){this.params=t,this.commander=r,this.callback=e}exports.info={name:'rendertiddler',synchronous:!1},t.prototype.execute=function(){if(this.params.length<2)return'Missing filename';var r=this,t=require('fs'),e=require('path'),i=this.params[0],s=e.resolve(this.commander.outputPath,this.params[1]),a=this.params[2]||'text/html',n=this.params[3],m=this.params[4],h=this.params[5],e={};return $tw.utils.createFileDirectories(s),n&&(e.currentTiddler=i,i=n),m&&h&&(e[m]=h),t.writeFile(s,this.commander.wiki.renderTiddler(a,i,{variables:e}),'utf8',function(t){r.callback(t)}),null},exports.Command=t}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/rendertiddlers.js":{"text":"!function(){'use strict';function e(e,t,r){this.params=e,this.commander=t,this.callback=r}require('$:/core/modules/widgets/widget.js'),exports.info={name:'rendertiddlers',synchronous:!0},e.prototype.execute=function(){if(this.params.length<2)return'Missing filename';var s=this,a=require('fs'),n=require('path'),o=this.commander.wiki,e=this.params[0],l=this.params[1],m=this.commander.outputPath,u=n.resolve(m,this.params[2]),c=this.params[3]||'text/html',h=this.params[4]||'.html',t='noclean'!==(this.params[5]||'').toLowerCase(),e=o.filterTiddlers(e);return t&&$tw.utils.deleteDirectory(u),$tw.utils.each(e,function(e){var t=o.parseTiddler(l),r=o.makeWidget(t,{variables:{currentTiddler:e}}),i=$tw.fakeDocument.createElement('div');r.render(i,null);t='text/html'===c?i.innerHTML:i.textContent,r=null;!$tw.utils.hop($tw.macros,'tv-get-export-path')||(i=$tw.macros['tv-get-export-path'].run.apply(s,[e]))&&(r=n.resolve(m,i+h));e=r||n.resolve(u,encodeURIComponent(e)+h);$tw.utils.createFileDirectories(e),a.writeFileSync(e,t,'utf8')}),null},exports.Command=e}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/save.js":{"text":"!function(){'use strict';function e(e,t,i){this.params=e,this.commander=t,this.callback=i}exports.info={name:'save',synchronous:!0},e.prototype.execute=function(){if(this.params.length<1)return'Missing filename filter';var n=this,o=require('fs'),s=require('path'),a=this.commander.wiki,e=this.params[0],d=this.params[1]||'[is[tiddler]]',e=a.filterTiddlers(e);return $tw.utils.each(e,function(e){var t=n.commander.wiki.getTiddler(e),i=t.fields.type||'text/vnd.tiddlywiki',r=$tw.config.contentTypeInfo[i]||{encoding:'utf8'},i=s.resolve(n.commander.outputPath,a.filterTiddlers(d,$tw.rootWidget,a.makeTiddlerIterator([e]))[0]);n.commander.verbose&&console.log('Saving \"'+e+'\" to \"'+i+'\"'),$tw.utils.createFileDirectories(i),o.writeFileSync(i,t.fields.text,r.encoding)}),null},exports.Command=e}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/savelibrarytiddlers.js":{"text":"!function(){'use strict';function e(e,t,i){this.params=e,this.commander=t,this.callback=i}exports.info={name:'savelibrarytiddlers',synchronous:!0},e.prototype.execute=function(){if(this.params.length<2)return'Missing filename';var n=this,d=require('fs'),o=require('path'),e=this.params[0],t=this.params[1],l=this.params[2],i=this.params[3],m=n.commander.wiki.getTiddlerDataCached(e,void 0);if(!m)return'\\''+e+'\\' is not a tiddler bundle';var r=[];$tw.utils.each(m.tiddlers,function(e,t){r.push(t)}),t=t?n.commander.wiki.filterTiddlers(t,null,n.commander.wiki.makeTiddlerIterator(r)):r;var u=[];return $tw.utils.each(t,function(e){var t=m.tiddlers[e],i=o.resolve(n.commander.outputPath,l+encodeURIComponent(e)+'.json');$tw.utils.createFileDirectories(i),d.writeFileSync(i,JSON.stringify(t),'utf8');var r,a=JSON.parse(t.text),s=(a.tiddlers[e+'/readme']||{}).text,i=!!n.commander.wiki.doesPluginInfoRequireReload(a),a=a.tiddlers[e+'/icon']||{},e=a.type,a=a.text;e&&a&&(r=$tw.utils.makeDataUri(a,e)),u.push($tw.utils.extend({},t,{text:void 0,readme:s,'requires-reload':i?'yes':'no',icon:r}))}),i&&n.commander.wiki.setTiddlerData(i,u),null},exports.Command=e}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/savetiddler.js":{"text":"!function(){'use strict';function t(t,e,i){this.params=t,this.commander=e,this.callback=i}exports.info={name:'savetiddler',synchronous:!1},t.prototype.execute=function(){if(this.params.length<2)return'Missing filename';var e=this,t=require('fs'),i=require('path'),n=this.params[0],r=i.resolve(this.commander.outputPath,this.params[1]),i=this.commander.wiki.getTiddler(n);if(!i)return'Missing tiddler: '+n;n=i.fields.type||'text/vnd.tiddlywiki',n=$tw.config.contentTypeInfo[n]||{encoding:'utf8'};return $tw.utils.createFileDirectories(r),t.writeFile(r,i.fields.text,n.encoding,function(t){e.callback(t)}),null},exports.Command=t}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/savetiddlers.js":{"text":"!function(){'use strict';function e(e,t,i){this.params=e,this.commander=t,this.callback=i}require('$:/core/modules/widgets/widget.js'),exports.info={name:'savetiddlers',synchronous:!0},e.prototype.execute=function(){if(this.params.length<1)return'Missing filename';var r=this,n=require('fs'),s=require('path'),e=this.commander.wiki,t=this.params[0],o=s.resolve(this.commander.outputPath,this.params[1]),i='noclean'!==(this.params[2]||'').toLowerCase(),t=e.filterTiddlers(t);return i&&$tw.utils.deleteDirectory(o),$tw.utils.createDirectory(o),$tw.utils.each(t,function(e){var t=r.commander.wiki.getTiddler(e),i=t.fields.type||'text/vnd.tiddlywiki',i=$tw.config.contentTypeInfo[i]||{encoding:'utf8'},e=s.resolve(o,encodeURIComponent(e));n.writeFileSync(e,t.fields.text,i.encoding)}),null},exports.Command=e}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/savewikifolder.js":{"text":"!function(){'use strict';var r,o;function i(i,e,t){this.params=i,this.commander=e,this.callback=t}function e(i,e,t){this.wikiFolderPath=i,this.wikiFilter=e||'[all[tiddlers]]',this.commander=t,this.wiki=t.wiki,this.savedPaths=[]}exports.info={name:'savewikifolder',synchronous:!0},$tw.node&&(r=require('fs'),o=require('path')),i.prototype.execute=function(){return this.params.length<1?'Missing wiki folder path':new e(this.params[0],this.params[1],this.commander).save()},e.prototype.log=function(i){this.commander.verbose&&console.log(i)},e.prototype.tiddlersToIgnore=['$:/boot/boot.css','$:/boot/boot.js','$:/boot/bootprefix.js','$:/core','$:/library/sjcl.js','$:/temp/info-plugin'],e.prototype.save=function(){var o=this;if(r.existsSync(this.wikiFolderPath)&&!$tw.utils.isDirectoryEmpty(this.wikiFolderPath))return'The unpackwiki command requires that the output wiki folder be empty';var i=this.wiki.filterTiddlers(this.wikiFilter),n={};return $tw.utils.each(i,function(i){var e,t,s=o.wiki.getTiddler(i);s&&(-1!==o.tiddlersToIgnore.indexOf(i)?o.log('Ignoring tiddler: '+i):(e=s.fields.type,t=s.fields['plugin-type'],'application/json'===e&&t?(t=o.findPluginInLibrary(i))?(o.log('Adding built-in plugin: '+t.name),n[t.type]=n[t.type]||[],$tw.utils.pushTop(n[t.type],t.name)):(o.log('Processing custom plugin: '+i),o.saveCustomPlugin(s)):o.saveTiddler('tiddlers',s)))}),this.saveJSONFile('tiddlywiki.info',n),o.log('Writing tiddlywiki.info: '+JSON.stringify(n,null,$tw.config.preferences.jsonSpaces)),null},e.prototype.findPluginInLibrary=function(i){var e,t,s,i=i.split('/');return'$:'===i[0]&&('languages'===i[1]&&3===i.length?(e='languages'+o.sep+i[2],t=i[1],s=i[2]):('plugins'===i[1]||'themes'===i[1]&&4===i.length)&&(e=i[1]+o.sep+i[2]+o.sep+i[3],t=i[1],s=i[2]+'/'+i[3])),!!(e&&t&&s&&(e=o.resolve($tw.boot.bootPath,'..',e),r.existsSync(e)))&&{pluginPath:e,type:t,name:s}},e.prototype.saveCustomPlugin=function(i){var e=this,t=i.fields.title.split('/'),s=$tw.utils.generateTiddlerFilepath(t[t.length-1],{directory:o.resolve(this.wikiFolderPath,i.fields['plugin-type']+'s')}),t=i.getFieldStrings({exclude:['text','type']});this.saveJSONFile(s+o.sep+'plugin.info',t),e.log('Writing '+s+o.sep+'plugin.info: '+JSON.stringify(t,null,$tw.config.preferences.jsonSpaces));i=JSON.parse(i.fields.text).tiddlers;$tw.utils.each(i,function(i){e.saveTiddler(s,new $tw.Tiddler(i))})},e.prototype.saveTiddler=function(i,e){i=$tw.utils.generateTiddlerFileInfo(e,{directory:o.resolve(this.wikiFolderPath,i),wiki:this.wiki});$tw.utils.saveTiddlerToFileSync(e,i)},e.prototype.saveJSONFile=function(i,e){this.saveTextFile(i,JSON.stringify(e,null,$tw.config.preferences.jsonSpaces))},e.prototype.saveTextFile=function(i,e){this.saveFile(i,'utf8',e)},e.prototype.saveFile=function(i,e,t){i=o.resolve(this.wikiFolderPath,i);$tw.utils.createFileDirectories(i),r.writeFileSync(i,t,e)},exports.Command=i}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/server.js":{"text":"!function(){'use strict';var s=require('$:/core/modules/server/server.js').Server;function r(r,s,t){this.params=r,this.commander=s,this.callback=t}exports.info={name:'server',synchronous:!0},r.prototype.execute=function(){$tw.boot.wikiTiddlersPath||$tw.utils.warning('Warning: Wiki folder \\''+$tw.boot.wikiPath+'\\' does not exist or is missing a tiddlywiki.info file'),this.server=new s({wiki:this.commander.wiki,variables:{port:this.params[0],host:this.params[6],'root-tiddler':this.params[1],'root-render-type':this.params[2],'root-serve-type':this.params[3],username:this.params[4],password:this.params[5],'path-prefix':this.params[7],'debug-level':this.params[8]}});var r=this.server.listen();return $tw.hooks.invokeHook('th-server-command-post-start',this.server,r,'tiddlywiki'),null},exports.Command=r}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/setfield.js":{"text":"!function(){'use strict';function e(e,t,r){this.params=e,this.commander=t,this.callback=r}require('$:/core/modules/widgets/widget.js'),exports.info={name:'setfield',synchronous:!0},e.prototype.execute=function(){if(this.params.length<4)return'Missing parameters';var s=this.commander.wiki,e=this.params[0],a=this.params[1]||'text',n=this.params[2],d=this.params[3]||'text/plain',e=s.filterTiddlers(e);return $tw.utils.each(e,function(e){var t=s.parseTiddler(n),r={},i=s.getTiddler(e);t?(t=s.makeWidget(t,{variables:{currentTiddler:e}}),e=$tw.fakeDocument.createElement('div'),t.render(e,null),r[a]='text/html'===d?e.innerHTML:e.textContent):r[a]=void 0,s.addTiddler(new $tw.Tiddler(i,r))}),null},exports.Command=e}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/unpackplugin.js":{"text":"!function(){'use strict';function n(n,i,t){this.params=n,this.commander=i,this.callback=t}exports.info={name:'unpackplugin',synchronous:!0},n.prototype.execute=function(){if(this.params.length<1)return'Missing plugin name';var i=this,n=this.params[0],t=this.commander.wiki.getTiddlerDataCached(n);return t?($tw.utils.each(t.tiddlers,function(n){i.commander.wiki.addTiddler(new $tw.Tiddler(n))}),null):'Plugin \\''+n+'\\' not found'},exports.Command=n}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/verbose.js":{"text":"!function(){'use strict';function o(o,t){this.params=o,this.commander=t}exports.info={name:'verbose',synchronous:!0},o.prototype.execute=function(){return this.commander.verbose=!0,this.commander.streams.output.write('Boot log:\\n '+$tw.boot.logMessages.join('\\n ')+'\\n'),null},exports.Command=o}();","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/version.js":{"text":"!function(){'use strict';function t(t,n){this.params=t,this.commander=n}exports.info={name:'version',synchronous:!0},t.prototype.execute=function(){return this.commander.streams.output.write($tw.version+'\\n'),null},exports.Command=t}();","type":"application/javascript","module-type":"command"},"$:/core/modules/config.js":{"text":"!function(){'use strict';exports.preferences={},exports.preferences.notificationDuration=3e3,exports.preferences.jsonSpaces=4,exports.textPrimitives={upperLetter:'[A-ZÀ-ÖØ-ÞŐŰ]',lowerLetter:'[a-zß-öø-ÿőű]',anyLetter:'[A-Za-z0-9À-ÖØ-Þß-öø-ÿŐŰőű]',blockPrefixLetters:'[A-Za-z0-9-_À-ÖØ-Þß-öø-ÿŐŰőű]'},exports.textPrimitives.unWikiLink='~',exports.textPrimitives.wikiLink=exports.textPrimitives.upperLetter+'+'+exports.textPrimitives.lowerLetter+'+'+exports.textPrimitives.upperLetter+exports.textPrimitives.anyLetter+'*',exports.htmlEntities={quot:34,amp:38,apos:39,lt:60,gt:62,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,Agrave:192,Aacute:193,Acirc:194,Atilde:195,Auml:196,Aring:197,AElig:198,Ccedil:199,Egrave:200,Eacute:201,Ecirc:202,Euml:203,Igrave:204,Iacute:205,Icirc:206,Iuml:207,ETH:208,Ntilde:209,Ograve:210,Oacute:211,Ocirc:212,Otilde:213,Ouml:214,times:215,Oslash:216,Ugrave:217,Uacute:218,Ucirc:219,Uuml:220,Yacute:221,THORN:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},exports.htmlVoidElements='area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr'.split(','),exports.htmlBlockElements='address,article,aside,audio,blockquote,canvas,dd,div,dl,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,li,noscript,ol,output,p,pre,section,table,tfoot,ul,video'.split(','),exports.htmlUnsafeElements='script'.split(',')}();","type":"application/javascript","module-type":"config"},"$:/core/modules/deserializers.js":{"text":"!function(){'use strict';function c(t){var e={};if(1<arguments.length)for(var r=1;r<arguments.length;r++){var i,n=arguments[r];for(i in n)e[i]=n[i]}var s=/^\\s*<div\\s+([^>]*)>(\\s*<pre>)?/gi.exec(t);if(s){var a=(s[2]?/<\\/pre>\\s*<\\/div>\\s*$/gi:/<\\/div>\\s*$/gi).exec(t);if(a){e.text=t.substring(s.index+s[0].length,a.index);var l,o,d,u=/\\s*([^=\\s]+)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/gi;do{}while((d=u.exec(s[1]))&&(l=d[1],o=void 0!==d[2]?d[2]:d[3],e[l]=o),d);return e}}}function a(t,e,r,i){var n=[],s=/(<\\/div>\\s*)/gi,a=e,l=r?void 0:'text/x-tiddlywiki';s.lastIndex=a;for(var o=s.exec(t);o;){var d=s.lastIndex,u=c(t.substring(a,d),i,{type:l});if(!u)break;$tw.utils.each(u,function(t,e){'string'==typeof t&&(u[e]=$tw.utils.htmlDecode(t))}),null!==u.text&&n.push(u),a=d,o=s.exec(t)}return n}exports['application/x-tiddler-html-div']=function(t,e){return[c(t,e)]},exports['application/json']=function(t,e){var r,i=[];try{r=JSON.parse(t)}catch(t){r=[{title:'JSON error: '+t,text:''}]}$tw.utils.isArray(r)||(r=[r]);for(var n=0;n<r.length;n++){var s,a=r[n],e={};for(s in a)'string'==typeof a[s]&&(e[s]=a[s]);i.push(e)}return i},exports['text/html']=function(t,e){var r=/<div id=[\"']?storeArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,i=r.exec(t);if(i){var n=a(t,r.lastIndex,!!i[1],e),r=/<div id=[\"']?systemArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,i=r.exec(t);return i&&n.push.apply(n,a(t,r.lastIndex,!!i[1],e)),n}var s,n=$tw.utils.extractEncryptedStoreArea(t);return n?$tw.utils.decryptStoreArea(n):(t=t,e=e,s={},$tw.utils.each(e,function(t,e){s[e]=t}),s.text=t,s.type='text/html',[s])}}();","type":"application/javascript","module-type":"tiddlerdeserializer"},"$:/core/modules/editor/engines/framed.js":{"text":"!function(){'use strict';function e(e){e=e||{},this.widget=e.widget,this.value=e.value,this.parentNode=e.parentNode,this.nextSibling=e.nextSibling,this.dummyTextArea=this.widget.document.createElement('textarea'),this.widget.editClass&&(this.dummyTextArea.className=this.widget.editClass),this.dummyTextArea.setAttribute('hidden','true'),this.parentNode.insertBefore(this.dummyTextArea,this.nextSibling),this.widget.domNodes.push(this.dummyTextArea),this.iframeNode=this.widget.document.createElement('iframe'),this.parentNode.insertBefore(this.iframeNode,this.nextSibling),this.iframeDoc=this.iframeNode.contentWindow.document,this.iframeDoc.open(),this.iframeDoc.write(''),this.iframeDoc.close(),this.iframeNode.className=this.dummyTextArea.className,this.iframeNode.style.border='none',this.iframeNode.style.padding='0',this.iframeNode.style.resize='none',this.iframeDoc.body.style.margin='0',this.iframeDoc.body.style.padding='0',this.widget.domNodes.push(this.iframeNode);e=this.widget.editTag;-1!==$tw.config.htmlUnsafeElements.indexOf(e)&&(e='input'),this.domNode=this.iframeDoc.createElement(e),'textarea'===this.widget.editTag?this.domNode.appendChild(this.iframeDoc.createTextNode(this.value)):this.domNode.value=this.value,this.widget.editType&&this.domNode.setAttribute('type',this.widget.editType),this.widget.editPlaceholder&&this.domNode.setAttribute('placeholder',this.widget.editPlaceholder),this.widget.editSize&&this.domNode.setAttribute('size',this.widget.editSize),this.widget.editRows&&this.domNode.setAttribute('rows',this.widget.editRows),this.widget.editTabIndex&&this.iframeNode.setAttribute('tabindex',this.widget.editTabIndex),this.widget.editAutoComplete&&this.domNode.setAttribute('autocomplete',this.widget.editAutoComplete),'yes'===this.widget.isDisabled&&this.domNode.setAttribute('disabled',!0),this.copyStyles(),$tw.utils.addEventListeners(this.domNode,[{name:'click',handlerObject:this,handlerMethod:'handleClickEvent'},{name:'input',handlerObject:this,handlerMethod:'handleInputEvent'},{name:'keydown',handlerObject:this.widget,handlerMethod:'handleKeydownEvent'},{name:'focus',handlerObject:this,handlerMethod:'handleFocusEvent'}]),this.iframeDoc.body.appendChild(this.domNode)}e.prototype.copyStyles=function(){$tw.utils.copyStyles(this.dummyTextArea,this.domNode),this.domNode.style.display='block',this.domNode.style.width='100%',this.domNode.style.margin='0',this.domNode.style['-webkit-text-fill-color']='currentcolor'},e.prototype.setText=function(e,t){this.domNode.isTiddlyWikiFakeDom||(this.domNode.ownerDocument.activeElement!==this.domNode&&this.updateDomNodeText(e),this.fixHeight())},e.prototype.updateDomNodeText=function(e){this.domNode.value=e},e.prototype.getText=function(){return this.domNode.value},e.prototype.fixHeight=function(){var e;this.copyStyles(),'textarea'===this.widget.editTag&&(this.widget.editAutoHeight?this.domNode&&!this.domNode.isTiddlyWikiFakeDom&&(e=$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight),this.iframeNode.style.height=e+14+'px'):(e=parseInt(this.widget.wiki.getTiddlerText('$:/config/TextEditor/EditorHeight/Height','400px'),10),e=Math.max(e,20),this.domNode.style.height=e+'px',this.iframeNode.style.height=e+14+'px'))},e.prototype.focus=function(){this.domNode.focus&&this.domNode.select&&(this.domNode.focus(),this.domNode.select())},e.prototype.handleFocusEvent=function(e){this.widget.editCancelPopups&&$tw.popup.cancel(0)},e.prototype.handleClickEvent=function(e){return this.fixHeight(),!0},e.prototype.handleInputEvent=function(e){return this.widget.saveChanges(this.getText()),this.fixHeight(),this.widget.editInputActions&&this.widget.invokeActionString(this.widget.editInputActions),!0},e.prototype.createTextOperation=function(){var e={text:this.domNode.value,selStart:this.domNode.selectionStart,selEnd:this.domNode.selectionEnd,cutStart:null,cutEnd:null,replacement:null,newSelStart:null,newSelEnd:null};return e.selection=e.text.substring(e.selStart,e.selEnd),e},e.prototype.executeTextOperation=function(e){var t=e.text;return null!==e.replacement&&(t=e.text.substring(0,e.cutStart)+e.replacement+e.text.substring(e.cutEnd),this.iframeDoc.queryCommandSupported('insertText')&&this.iframeDoc.queryCommandSupported('delete')&&!$tw.browser.isFirefox?(this.domNode.focus(),this.domNode.setSelectionRange(e.cutStart,e.cutEnd),''===e.replacement?this.iframeDoc.execCommand('delete',!1,''):this.iframeDoc.execCommand('insertText',!1,e.replacement)):this.domNode.value=t,this.domNode.focus(),this.domNode.setSelectionRange(e.newSelStart,e.newSelEnd)),this.domNode.focus(),t},exports.FramedEngine=e}();","type":"application/javascript","module-type":"library"},"$:/core/modules/editor/engines/simple.js":{"text":"!function(){'use strict';function t(t){t=t||{},this.widget=t.widget,this.value=t.value,this.parentNode=t.parentNode,this.nextSibling=t.nextSibling;t=this.widget.editTag;-1!==$tw.config.htmlUnsafeElements.indexOf(t)&&(t='input'),this.domNode=this.widget.document.createElement(t),'textarea'===this.widget.editTag?this.domNode.appendChild(this.widget.document.createTextNode(this.value)):this.domNode.value=this.value,this.widget.editType&&this.domNode.setAttribute('type',this.widget.editType),this.widget.editPlaceholder&&this.domNode.setAttribute('placeholder',this.widget.editPlaceholder),this.widget.editSize&&this.domNode.setAttribute('size',this.widget.editSize),this.widget.editRows&&this.domNode.setAttribute('rows',this.widget.editRows),this.widget.editClass&&(this.domNode.className=this.widget.editClass),this.widget.editTabIndex&&this.domNode.setAttribute('tabindex',this.widget.editTabIndex),this.widget.editAutoComplete&&this.domNode.setAttribute('autocomplete',this.widget.editAutoComplete),'yes'===this.widget.isDisabled&&this.domNode.setAttribute('disabled',!0),$tw.utils.addEventListeners(this.domNode,[{name:'focus',handlerObject:this,handlerMethod:'handleFocusEvent'},{name:'input',handlerObject:this,handlerMethod:'handleInputEvent'}]),this.parentNode.insertBefore(this.domNode,this.nextSibling),this.widget.domNodes.push(this.domNode)}t.prototype.setText=function(t,e){this.domNode.isTiddlyWikiFakeDom||(this.domNode.ownerDocument.activeElement===this.domNode&&''!==t||this.updateDomNodeText(t),this.fixHeight())},t.prototype.updateDomNodeText=function(t){this.domNode.value=t},t.prototype.getText=function(){return this.domNode.value},t.prototype.fixHeight=function(){var t;'textarea'===this.widget.editTag&&(this.widget.editAutoHeight?this.domNode&&!this.domNode.isTiddlyWikiFakeDom&&$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight):(t=parseInt(this.widget.wiki.getTiddlerText('$:/config/TextEditor/EditorHeight/Height','400px'),10),t=Math.max(t,20),this.domNode.style.height=t+'px'))},t.prototype.focus=function(){this.domNode.focus&&this.domNode.select&&(this.domNode.focus(),this.domNode.select())},t.prototype.handleInputEvent=function(t){return this.widget.saveChanges(this.getText()),this.fixHeight(),this.widget.editInputActions&&this.widget.invokeActionString(this.widget.editInputActions),!0},t.prototype.handleFocusEvent=function(t){return this.widget.editCancelPopups&&$tw.popup.cancel(0),this.widget.editFocusPopup&&$tw.popup.triggerPopup({domNode:this.domNode,title:this.widget.editFocusPopup,wiki:this.widget.wiki,force:!0}),!0},t.prototype.createTextOperation=function(){return null},t.prototype.executeTextOperation=function(t){},exports.SimpleEngine=t}();","type":"application/javascript","module-type":"library"},"$:/core/modules/editor/factory.js":{"text":"!function(){'use strict';var s='$:/config/TextEditor/EditorHeight/Mode',r='$:/config/TextEditor/EnableToolbar',t=require('$:/core/modules/widgets/widget.js').widget;exports.editTextWidgetFactory=function(d,o){var i=function(t,e){this.editorOperations||(i.prototype.editorOperations={},$tw.modules.applyMethods('texteditoroperation',this.editorOperations)),this.initialise(t,e)};return i.prototype=new t,i.prototype.render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute(),this.editShowToolbar&&(this.toolbarNode=this.document.createElement('div'),this.toolbarNode.className='tc-editor-toolbar',t.insertBefore(this.toolbarNode,e),this.renderChildren(this.toolbarNode,null),this.domNodes.push(this.toolbarNode));var i=this.getEditInfo(),s=this.editShowToolbar?d:o;this.engine=new s({widget:this,value:i.value,type:i.type,parentNode:t,nextSibling:e}),this.postRender&&this.postRender(),this.engine.fixHeight(),'true'!==this.editFocus&&'yes'!==this.editFocus||this.engine.focus(),this.addEventListeners([{type:'tm-edit-text-operation',handler:'handleEditTextOperationMessage'}])},i.prototype.getEditInfo=function(){var t,e,s=this,i='text/plain';if(this.editIndex)t=this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault),e=function(t){var e=s.wiki.getTiddlerData(s.editTitle,{});e[s.editIndex]!==t&&(e[s.editIndex]=t,s.wiki.setTiddlerData(s.editTitle,e))};else{var d=this.wiki.getTiddler(this.editTitle);if(d)t=d.getFieldString(this.editField),'text'===this.editField&&(i=d.fields.type||'text/vnd.tiddlywiki');else{switch(this.editField){case'text':t='Type the text for the tiddler \\''+this.editTitle+'\\'',i='text/vnd.tiddlywiki';break;case'title':t=this.editTitle;break;default:t=''}void 0!==this.editDefault&&(t=this.editDefault)}e=function(t){var e=s.wiki.getTiddler(s.editTitle),i={title:s.editTitle};i[s.editField]=t,s.wiki.addTiddler(new $tw.Tiddler(s.wiki.getCreationFields(),e,i,s.wiki.getModificationFields()))}}return this.editType&&(i=this.editType),{value:t||'',type:i,update:e}},i.prototype.handleEditTextOperationMessage=function(t){var e=this.engine.createTextOperation(),i=this.editorOperations[t.param];i&&i.call(this,t,e);e=this.engine.executeTextOperation(e);this.engine.fixHeight(),this.saveChanges(e)},i.prototype.execute=function(){var t,e,i;this.editTitle=this.getAttribute('tiddler',this.getVariable('currentTiddler')),this.editField=this.getAttribute('field','text'),this.editIndex=this.getAttribute('index'),this.editDefault=this.getAttribute('default'),this.editClass=this.getAttribute('class'),this.editPlaceholder=this.getAttribute('placeholder'),this.editSize=this.getAttribute('size'),this.editRows=this.getAttribute('rows'),this.editAutoHeight=this.wiki.getTiddlerText(s,'auto'),this.editAutoHeight='yes'===this.getAttribute('autoHeight','auto'===this.editAutoHeight?'yes':'no'),this.editMinHeight=this.getAttribute('minHeight','100px'),this.editFocusPopup=this.getAttribute('focusPopup'),this.editFocus=this.getAttribute('focus'),this.editTabIndex=this.getAttribute('tabindex'),this.editCancelPopups='yes'===this.getAttribute('cancelPopups',''),this.editInputActions=this.getAttribute('inputActions'),this.editRefreshTitle=this.getAttribute('refreshTitle'),this.editAutoComplete=this.getAttribute('autocomplete'),this.isDisabled=this.getAttribute('disabled','no'),'text'===this.editField?t='textarea':(t='input',(i=$tw.Tiddler.fieldModules[this.editField])&&i.editTag&&(t=i.editTag),i&&i.editType&&(e=i.editType),e=e||'text'),this.editTag=this.getAttribute('tag',t)||'input',this.editType=this.getAttribute('type',e),this.makeChildWidgets(),this.editShowToolbar=this.wiki.getTiddlerText(r,'yes'),this.editShowToolbar='yes'===this.editShowToolbar&&!!(this.children&&0<this.children.length)&&!this.document.isTiddlyWikiFakeDom},i.prototype.refresh=function(t){var e=this.computeAttributes();return e.tiddler||e.field||e.index||e.default||e.class||e.placeholder||e.size||e.autoHeight||e.minHeight||e.focusPopup||e.rows||e.tabindex||e.cancelPopups||e.inputActions||e.refreshTitle||e.autocomplete||t[s]||t[r]||e.disabled?(this.refreshSelf(),!0):(t[this.editRefreshTitle]?this.engine.updateDomNodeText(this.getEditInfo().value):t[this.editTitle]&&(e=this.getEditInfo(),this.updateEditor(e.value,e.type)),this.engine.fixHeight(),!!this.editShowToolbar&&this.refreshChildren(t))},i.prototype.updateEditor=function(t,e){this.updateEditorDomNode(t,e)},i.prototype.updateEditorDomNode=function(t,e){this.engine.setText(t,e)},i.prototype.saveChanges=function(t){var e=this.getEditInfo();t!==e.value&&e.update(t)},i.prototype.handleKeydownEvent=function(t){if(this.toolbarNode)for(var e=this.toolbarNode.querySelectorAll('[data-tw-keyboard-shortcut]'),i=0;i<e.length;i++){var s=e[i],d=s.getAttribute('data-tw-keyboard-shortcut'),d=$tw.keyboardManager.parseKeyDescriptors(d,{wiki:this.wiki});if($tw.keyboardManager.checkKeyDescriptors(t,d)){d=this.document.createEvent('Events');return d.initEvent('click',!0,!1),s.dispatchEvent(d),t.preventDefault(),t.stopPropagation(),!0}}return!!this.propogateKeydownEvent(t)&&(t.preventDefault(),t.stopPropagation(),!0)},i.prototype.propogateKeydownEvent=function(t){var e=this.document.createEventObject?this.document.createEventObject():this.document.createEvent('Events');return e.initEvent&&e.initEvent('keydown',!0,!0),e.keyCode=t.keyCode,e.which=t.which,e.metaKey=t.metaKey,e.ctrlKey=t.ctrlKey,e.altKey=t.altKey,e.shiftKey=t.shiftKey,!this.parentDomNode.dispatchEvent(e)},i}}();","type":"application/javascript","module-type":"library"},"$:/core/modules/editor/operations/bitmap/clear.js":{"text":"!function(){'use strict';exports.clear=function(t){var e=this.canvasDomNode.getContext('2d');e.globalAlpha=1,e.fillStyle=t.paramObject.colour||'white',e.fillRect(0,0,this.canvasDomNode.width,this.canvasDomNode.height),this.strokeEnd()}}();","type":"application/javascript","module-type":"bitmapeditoroperation"},"$:/core/modules/editor/operations/bitmap/resize.js":{"text":"!function(){'use strict';exports.resize=function(t){var a=parseInt(t.paramObject.width||this.canvasDomNode.width,10),t=parseInt(t.paramObject.height||this.canvasDomNode.height,10);0<a&&0<t&&(a!==this.currCanvas.width||t!==this.currCanvas.height)&&this.changeCanvasSize(a,t),this.refreshToolbar(),this.saveChanges()}}();","type":"application/javascript","module-type":"bitmapeditoroperation"},"$:/core/modules/editor/operations/bitmap/rotate-left.js":{"text":"!function(){'use strict';exports['rotate-left']=function(t){this.rotateCanvasLeft(),this.refreshToolbar(),this.saveChanges()}}();","type":"application/javascript","module-type":"bitmapeditoroperation"},"$:/core/modules/editor/operations/text/excise.js":{"text":"!function(){'use strict';exports.excise=function(e,t){var i=this.wiki.getTiddler(this.editTitle),a=this.editTitle;i&&i.fields['draft.of']&&(a=i.fields['draft.of']);i=e.paramObject.title||this.wiki.generateNewTitle('New Excision');switch(this.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),this.wiki.getModificationFields(),{title:i,text:t.selection,tags:'yes'===e.paramObject.tagnew?[a]:[]})),t.replacement=i,e.paramObject.type||'transclude'){case'transclude':t.replacement='{{'+t.replacement+'}}';break;case'link':t.replacement='[['+t.replacement+']]';break;case'macro':t.replacement='<<'+(e.paramObject.macro||'translink')+' \"\"\"'+t.replacement+'\"\"\">>'}t.cutStart=t.selStart,t.cutEnd=t.selEnd,t.newSelStart=t.selStart,t.newSelEnd=t.selStart+t.replacement.length}}();","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/editor/operations/text/make-link.js":{"text":"!function(){'use strict';exports['make-link']=function(e,t){t.selection?t.replacement='[['+t.selection+'|'+e.paramObject.text+']]':t.replacement='[['+e.paramObject.text+']]',t.cutStart=t.selStart,t.cutEnd=t.selEnd,t.newSelStart=t.selStart+t.replacement.length,t.newSelEnd=t.newSelStart}}();","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/editor/operations/text/prefix-lines.js":{"text":"!function(){'use strict';exports['prefix-lines']=function(r,t){var a=parseInt(r.paramObject.count+'',10);t.cutStart=$tw.utils.findPrecedingLineBreak(t.text,t.selStart),t.cutEnd=$tw.utils.findFollowingLineBreak(t.text,t.selEnd);var c=$tw.utils.repeat(r.paramObject.character,a),l=t.text.substring(t.cutStart,t.cutEnd).split(/\\r?\\n/gm);$tw.utils.each(l,function(t,e){for(var n=0;t.charAt(0)===r.paramObject.character;)t=t.substring(1),n++;for(;' '===t.charAt(0);)t=t.substring(1);n!==a&&(t=c+' '+t),l[e]=t}),t.replacement=l.join('\\n'),1===l.length?(t.newSelStart=t.cutStart+t.replacement.length,t.newSelEnd=t.newSelStart):(t.newSelStart=t.cutStart,t.newSelEnd=t.newSelStart+t.replacement.length)}}();","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/editor/operations/text/replace-all.js":{"text":"!function(){'use strict';exports['replace-all']=function(t,e){e.cutStart=0,e.cutEnd=e.text.length,e.replacement=t.paramObject.text,e.newSelStart=0,e.newSelEnd=e.replacement.length}}();","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/editor/operations/text/replace-selection.js":{"text":"!function(){'use strict';exports['replace-selection']=function(t,e){e.replacement=t.paramObject.text,e.cutStart=e.selStart,e.cutEnd=e.selEnd,e.newSelStart=e.selStart,e.newSelEnd=e.selStart+e.replacement.length}}();","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/editor/operations/text/save-selection.js":{"text":"!function(){'use strict';exports['save-selection']=function(t,e){var s=t.paramObject.tiddler,t=t.paramObject.field||'text';s&&t&&this.wiki.setText(s,t,null,e.text.substring(e.selStart,e.selEnd))}}();","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/editor/operations/text/wrap-lines.js":{"text":"!function(){'use strict';exports['wrap-lines']=function(t,e){e.cutStart=$tw.utils.findPrecedingLineBreak(e.text,e.selStart),e.cutEnd=$tw.utils.findFollowingLineBreak(e.text,e.selEnd),e.replacement=t.paramObject.prefix+'\\n'+e.text.substring(e.cutStart,e.cutEnd)+'\\n'+t.paramObject.suffix+'\\n',e.newSelStart=e.cutStart+t.paramObject.prefix.length+1,e.newSelEnd=e.newSelStart+(e.cutEnd-e.cutStart)}}();","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/editor/operations/text/wrap-selection.js":{"text":"!function(){'use strict';exports['wrap-selection']=function(t,e){e.selStart===e.selEnd?(e.text.substring(e.selStart-t.paramObject.prefix.length,e.selStart+t.paramObject.suffix.length)===t.paramObject.prefix+t.paramObject.suffix?(e.cutStart=e.selStart-t.paramObject.prefix.length,e.cutEnd=e.selEnd+t.paramObject.suffix.length,e.replacement='',e.newSelStart=e.cutStart):(e.cutStart=e.selStart,e.cutEnd=e.selEnd,e.replacement=t.paramObject.prefix+t.paramObject.suffix,e.newSelStart=e.selStart+t.paramObject.prefix.length),e.newSelEnd=e.newSelStart):(e.text.substring(e.selStart,e.selStart+t.paramObject.prefix.length)===t.paramObject.prefix&&e.text.substring(e.selEnd-t.paramObject.suffix.length,e.selEnd)===t.paramObject.suffix?(e.cutStart=e.selStart,e.cutEnd=e.selEnd,e.replacement=e.selection.substring(t.paramObject.prefix.length,e.selection.length-t.paramObject.suffix.length)):(e.cutStart=e.selStart,e.cutEnd=e.selEnd,e.replacement=t.paramObject.prefix+e.selection+t.paramObject.suffix),e.newSelStart=e.selStart,e.newSelEnd=e.selStart+e.replacement.length)}}();","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/filterrunprefixes/all.js":{"text":"!function(){'use strict';exports.all=function(c){return function(n,t,u){n.push.apply(n,c(t,u))}}}();","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/and.js":{"text":"!function(){'use strict';exports.and=function(e,i){return function(r,t,n){t=i.wiki.makeTiddlerIterator(r.toArray()),r.clear(),r.pushTop(e(t,n))}}}();","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/else.js":{"text":"!function(){'use strict';exports.else=function(u){return function(n,t,e){0===n.length&&n.pushTop(u(t,e))}}}();","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/except.js":{"text":"!function(){'use strict';exports.except=function(c){return function(t,e,n){t.remove(c(e,n))}}}();","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/filter.js":{"text":"!function(){'use strict';exports.filter=function(i,o){return function(t,e,n){var r;0<t.length&&(r=[],t.each(function(t){0===i(o.wiki.makeTiddlerIterator([t]),n).length&&r.push(t)}),t.remove(r))}}}();","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/intersection.js":{"text":"!function(){'use strict';exports.intersection=function(r){return function(n,t,e){var i;0!==n.length&&(i=r(t,e),e=n.toArray(),n.clear(),$tw.utils.each(e,function(t){-1!==i.indexOf(t)&&n.push(t)}))}}}();","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/or.js":{"text":"!function(){'use strict';exports.or=function(u){return function(n,t,o){n.pushTop(u(t,o))}}}();","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/reduce.js":{"text":"!function(){'use strict';exports.reduce=function(c,i){return function(t,e,n){var u,a;0<t.length&&(u='',a=0,t.each(function(r){var e=c(i.wiki.makeTiddlerIterator([r]),{getVariable:function(e){switch(e){case'currentTiddler':return''+r;case'accumulator':return''+u;case'index':return''+a;case'revIndex':return''+(t.length-1-a);case'length':return''+t.length;default:return n.getVariable(e)}}});0<e.length&&(u=''+e[0]),++a}),t.clear(),t.push(u))}}}();","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filters/addprefix.js":{"text":"!function(){'use strict';exports.addprefix=function(n,t,r){var u=[];return n(function(n,r){u.push(t.operand+r)}),u}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/addsuffix.js":{"text":"!function(){'use strict';exports.addsuffix=function(n,u,t){var r=[];return n(function(n,t){r.push(t+u.operand)}),r}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/after.js":{"text":"!function(){'use strict';exports.after=function(n,t,e){var r=[];n(function(n,t){r.push(t)});t=r.indexOf(t.operand);return-1===t||t>r.length-2?[]:[r[t+1]]}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/all/current.js":{"text":"!function(){'use strict';exports.current=function(t,e,r){r=r.widget&&r.widget.getVariable('currentTiddler');return r?[r]:[]}}();","type":"application/javascript","module-type":"allfilteroperator"},"$:/core/modules/filters/all/missing.js":{"text":"!function(){'use strict';exports.missing=function(i,s,t){return t.wiki.getMissingTitles()}}();","type":"application/javascript","module-type":"allfilteroperator"},"$:/core/modules/filters/all/orphans.js":{"text":"!function(){'use strict';exports.orphans=function(t,n,i){return i.wiki.getOrphanTitles()}}();","type":"application/javascript","module-type":"allfilteroperator"},"$:/core/modules/filters/all/shadows.js":{"text":"!function(){'use strict';exports.shadows=function(t,i,s){return s.wiki.allShadowTitles()}}();","type":"application/javascript","module-type":"allfilteroperator"},"$:/core/modules/filters/all/tags.js":{"text":"!function(){'use strict';exports.tags=function(t,e,i){return Object.keys(i.wiki.getTagMap())}}();","type":"application/javascript","module-type":"allfilteroperator"},"$:/core/modules/filters/all/tiddlers.js":{"text":"!function(){'use strict';exports.tiddlers=function(t,i,e){return e.wiki.allTitles()}}();","type":"application/javascript","module-type":"allfilteroperator"},"$:/core/modules/filters/all.js":{"text":"!function(){'use strict';var h;exports.all=function(e,r,t){var i=(h||(h={},$tw.modules.applyMethods('allfilteroperator',h)),h),l=[],s=r.operand.split('+');if(1===s.length&&''===s[0])return e;if(1===s.length&&'tiddlers'===s[0])return t.wiki.each;if(1===s.length&&'shadows'===s[0])return t.wiki.eachShadow;if(2===s.length&&'tiddlers'===s[0]&&'shadows'===s[1])return t.wiki.eachTiddlerPlusShadows;if(2===s.length&&'shadows'===s[0]&&'tiddlers'===s[1])return t.wiki.eachShadowPlusTiddlers;for(var a=0;a<s.length;a++){var d=i[s[a]];d&&$tw.utils.pushTop(l,d(e,r.prefix,t))}return l}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/backlinks.js":{"text":"!function(){'use strict';exports.backlinks=function(i,t,n){var s=[];return i(function(i,t){$tw.utils.pushTop(s,n.wiki.getTiddlerBacklinks(t))}),s}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/before.js":{"text":"!function(){'use strict';exports.before=function(n,e,r){var t=[];n(function(n,e){t.push(e)});e=t.indexOf(e.operand);return e<=0?[]:[t[e-1]]}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/commands.js":{"text":"!function(){'use strict';exports.commands=function(t,n,s){var c=[];return $tw.utils.each($tw.commands,function(t,n){c.push(n)}),c.sort(),c}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/compare.js":{"text":"!function(){'use strict';exports.compare=function(n,e,t){var r=e.suffixes||[],u=(r[0]||[])[0],r=(r[1]||[])[0],i=$tw.utils.makeCompareFunction(u,{defaultType:'number'}),o=a[r]||a.eq,f='!'===e.prefix,c=[];return n(function(n,t){o(i(t,e.operand))!==f&&c.push(t)}),c};var a={eq:function(n){return 0===n},ne:function(n){return 0!==n},gteq:function(n){return 0<=n},gt:function(n){return 0<n},lteq:function(n){return n<=0},lt:function(n){return n<0}}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/contains.js":{"text":"!function(){'use strict';exports.contains=function(i,t,n){var e=[],s=(t.suffix||'list').toLowerCase();return'!'===t.prefix?i(function(i,n){i&&-1!==i.getFieldList(s).indexOf(t.operand)||e.push(n)}):i(function(i,n){i&&-1!==i.getFieldList(s).indexOf(t.operand)&&e.push(n)}),e}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/count.js":{"text":"!function(){'use strict';exports.count=function(n,t,u){var c=0;return n(function(n,t){c++}),[c+'']}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/days.js":{"text":"!function(){'use strict';exports.days=function(t,e,s){function i(t){return 0===(t=$tw.utils.sign(a-new Date(t).setHours(0,0,0,0)))||t===f}var n=[],u=e.suffix||'modified',r=parseInt(e.operand,10)||0,f=$tw.utils.sign(r),a=(new Date).setHours(0,0,0,0)+864e5*r;return'!'===e.prefix?(a-=864e5*f,t(function(t,e){t&&t.fields[u]&&(i($tw.utils.parseDate(t.fields[u]))||n.push(e))})):t(function(t,e){t&&t.fields[u]&&i($tw.utils.parseDate(t.fields[u]))&&n.push(e)}),n}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/duplicateslugs.js":{"text":"!function(){'use strict';exports.duplicateslugs=function(u,t,n){var s=Object.create(null),c=[];return u(function(u,t){var i=n.wiki.slugify(t);i in s?(!0!==s[i]&&(c.push(s[i]),s[i]=!0),c.push(t)):s[i]=t}),c}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/each.js":{"text":"!function(){'use strict';exports.each=function(t,i,u){var n,s=[],e={},o=i.operand||'title';return'value'===i.suffix&&'title'===o?t(function(t,i){$tw.utils.hop(e,i)||(e[i]=!0,s.push(i))}):'list-item'!==i.suffix?t('title'===o?function(t,i){t&&!$tw.utils.hop(e,i)&&(e[i]=!0,s.push(i))}:function(t,i){t&&(n=t.getFieldString(o),$tw.utils.hop(e,n)||(e[n]=!0,s.push(i)))}):t(function(t,i){t&&$tw.utils.each(u.wiki.getTiddlerList(i,o),function(t){$tw.utils.hop(e,t)||(e[t]=!0,s.push(t))})}),s}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/eachday.js":{"text":"!function(){'use strict';exports.eachday=function(e,t,s){var i=[],n=[],u=t.operand||'modified';return e(function(e,t){e&&e.fields[u]&&(e=$tw.utils.parseDate(e.fields[u]),e=(e=new Date(e).setHours(0,0,0,0))+0,-1===n.indexOf(e)&&(n.push(e),i.push(t)))}),i}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/editiondescription.js":{"text":"!function(){'use strict';exports.editiondescription=function(t,i,n){var o,e=[];return!$tw.node||(o=$tw.utils.getEditionInfo())&&t(function(t,i){$tw.utils.hop(o,i)&&e.push(o[i].description||'')}),e}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/editions.js":{"text":"!function(){'use strict';exports.editions=function(t,n,i){var o,s=[];return $tw.node&&((o=$tw.utils.getEditionInfo())&&$tw.utils.each(o,function(t,n){s.push(n)}),s.sort()),s}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/else.js":{"text":"!function(){'use strict';exports.else=function(n,t,e){var r=[];return n(function(n,t){r.push(t)}),0===r.length?[t.operand]:r}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/decodeuricomponent.js":{"text":"!function(){'use strict';exports.decodeuricomponent=function(n,t,e){var r=[];return n(function(n,t){var e=t;try{e=decodeURIComponent(t)}catch(n){}r.push(e)}),r},exports.encodeuricomponent=function(n,t,e){var r=[];return n(function(n,t){r.push(encodeURIComponent(t))}),r},exports.decodeuri=function(n,t,e){var r=[];return n(function(n,t){var e=t;try{e=decodeURI(t)}catch(n){}r.push(e)}),r},exports.encodeuri=function(n,t,e){var r=[];return n(function(n,t){r.push(encodeURI(t))}),r},exports.decodehtml=function(n,t,e){var r=[];return n(function(n,t){r.push($tw.utils.htmlDecode(t))}),r},exports.encodehtml=function(n,t,e){var r=[];return n(function(n,t){r.push($tw.utils.htmlEncode(t))}),r},exports.stringify=function(n,e,t){var r=[];return n(function(n,t){r.push($tw.utils.stringify(t,'rawunicode'===e.suffix))}),r},exports.jsonstringify=function(n,e,t){var r=[];return n(function(n,t){r.push($tw.utils.jsonStringify(t,'rawunicode'===e.suffix))}),r},exports.escaperegexp=function(n,t,e){var r=[];return n(function(n,t){r.push($tw.utils.escapeRegExp(t))}),r},exports.escapecss=function(n,t,e){var r=[];return n(function(n,t){r.push(CSS.escape(t))}),r}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/enlist.js":{"text":"!function(){'use strict';exports.enlist=function(r,e,t){var i=!1;switch(e.suffix){case'raw':i=!0;break;case'dedupe':i=!1}var n=$tw.utils.parseStringArray(e.operand,i);if('!'!==e.prefix)return n;var s=[];return r(function(r,e){-1===n.indexOf(e)&&s.push(e)}),s}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/field.js":{"text":"!function(){'use strict';exports.field=function(e,i,n){var r,t=[],l=(i.suffix||i.operator||'title').toLowerCase();if('!'===i.prefix)i.regexp?e(function(e,n){e&&(null===(e=e.getFieldString(l))||i.regexp.exec(e))||t.push(n)}):e(function(e,n){e&&(null===(e=e.getFieldString(l))||e===i.operand)||t.push(n)});else if(i.regexp)e(function(e,n){!e||null!==(e=e.getFieldString(l))&&i.regexp.exec(e)&&t.push(n)});else{if(e.byField&&i.operand&&(r=e.byField(l,i.operand)))return r;e(function(e,n){!e||null!==(e=e.getFieldString(l))&&e===i.operand&&t.push(n)})}return t}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/fields.js":{"text":"!function(){'use strict';exports.fields=function(i,e,f){var s,n=[],t=(e.suffixes||[])[0]||[],u=$tw.utils.parseStringArray(e.operand);return i(function(i,e){if(i)if(-1!==t.indexOf('include'))for(s in i.fields)-1!==u.indexOf(s)&&$tw.utils.pushTop(n,s);else if(-1!==t.indexOf('exclude'))for(s in i.fields)-1===u.indexOf(s)&&$tw.utils.pushTop(n,s);else for(s in i.fields)$tw.utils.pushTop(n,s)}),n}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/filter.js":{"text":"!function(){'use strict';exports.filter=function(i,e,r){var t=r.wiki.compileFilter(e.operand),n=[],l='!'!==e.prefix;return i(function(i,e){0<t.call(r.wiki,r.wiki.makeTiddlerIterator([e])).length==l&&n.push(e)}),n}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/format/date.js":{"text":"!function(){'use strict';exports.date=function(t,n,i){var a=[];return t(function(t,i){i=$tw.utils.parseDate(i);i&&$tw.utils.isDate(i)&&'Invalid Date'!==i.toString()&&a.push($tw.utils.formatDateString(i,n||'YYYY MM DD 0hh:0mm'))}),a}}();","type":"application/javascript","module-type":"formatfilteroperator"},"$:/core/modules/filters/format/relativedate.js":{"text":"!function(){'use strict';exports.relativedate=function(t,e,i){var a=[];return t(function(t,e){e=$tw.utils.parseDate(e);e&&$tw.utils.isDate(e)&&'Invalid Date'!==e.toString()&&a.push($tw.utils.getRelativeDate(new Date-new Date(e)).description)}),a}}();","type":"application/javascript","module-type":"formatfilteroperator"},"$:/core/modules/filters/format.js":{"text":"!function(){'use strict';var f;exports.format=function(r,t,o){var e=(f||(f={},$tw.modules.applyMethods('formatfilteroperator',f)),f);if(t.suffix){e=e[t.suffix];return e?e(r,t.operand,o):[$tw.language.getString('Error/FormatFilterOperator')]}var a=[];return r(function(r,t){a.push(t)}),a}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/get.js":{"text":"!function(){'use strict';exports.get=function(t,e,n){var r=[];return t(function(t,n){!t||(t=t.getFieldString(e.operand))&&r.push(t)}),r}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/getindex.js":{"text":"!function(){'use strict';exports.getindex=function(t,i,n){var r,a=[];return i.operand&&t(function(t,e){e=t?t.fields.title:e,(r=n.wiki.extractTiddlerDataItem(t,i.operand))&&a.push(r)}),a}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/getvariable.js":{"text":"!function(){'use strict';exports.getvariable=function(t,e,i){var n=[];return t(function(t,e){n.push(i.widget.getVariable(e)||'')}),n}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/has.js":{"text":"!function(){'use strict';exports.has=function(e,i,n){var u=[],t='!'===i.prefix;return'field'===i.suffix?e(t?function(e,t){e&&(!e||$tw.utils.hop(e.fields,i.operand))||u.push(t)}:function(e,t){e&&$tw.utils.hop(e.fields,i.operand)&&u.push(t)}):'index'===i.suffix?e(t?function(e,t){e&&(!e||$tw.utils.hop(n.wiki.getTiddlerDataCached(e,Object.create(null)),i.operand))||u.push(t)}:function(e,t){e&&$tw.utils.hop(n.wiki.getTiddlerDataCached(e,Object.create(null)),i.operand)&&u.push(t)}):e(t?function(e,t){e&&$tw.utils.hop(e.fields,i.operand)&&0!==e.fields[i.operand].length||u.push(t)}:function(e,t){e&&$tw.utils.hop(e.fields,i.operand)&&0!==e.fields[i.operand].length&&u.push(t)}),u}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/haschanged.js":{"text":"!function(){'use strict';exports.haschanged=function(n,t,i){var u=[];return'!'===t.prefix?n(function(n,t){0===i.wiki.getChangeCount(t)&&u.push(t)}):n(function(n,t){0<i.wiki.getChangeCount(t)&&u.push(t)}),u}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/indexes.js":{"text":"!function(){'use strict';exports.indexes=function(t,e,i){var n=[];return t(function(t,e){e=i.wiki.getTiddlerDataCached(e);e&&$tw.utils.pushTop(n,Object.keys(e))}),n.sort(),n}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/insertbefore.js":{"text":"!function(){'use strict';exports.insertbefore=function(e,n,r){var i=[];e(function(e,n){i.push(n)});e=r.widget&&r.widget.getVariable(n.suffix||'currentTiddler');return e!==n.operand&&(-1!==(r=i.indexOf(n.operand))&&i.splice(r,1),-1!==(r=i.indexOf(e))?i.splice(r,0,n.operand):i.push(n.operand)),i}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/is/binary.js":{"text":"!function(){'use strict';exports.binary=function(i,n,r){var t=[];return i('!'===n?function(i,n){r.wiki.isBinaryTiddler(n)||t.push(n)}:function(i,n){r.wiki.isBinaryTiddler(n)&&t.push(n)}),t}}();","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/blank.js":{"text":"!function(){'use strict';exports.blank=function(n,t,u){var c=[];return n('!'===t?function(n,t){t&&c.push(t)}:function(n,t){t||c.push(t)}),c}}();","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/current.js":{"text":"!function(){'use strict';exports.current=function(t,n,r){var e=[],u=r.widget&&r.widget.getVariable('currentTiddler');return t('!'===n?function(t,n){n!==u&&e.push(n)}:function(t,n){n===u&&e.push(n)}),e}}();","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/draft.js":{"text":"!function(){'use strict';exports.draft=function(t,f,i){var n=[];return t('!'===f?function(t,f){t&&$tw.utils.hop(t.fields,'draft.of')||n.push(f)}:function(t,f){t&&$tw.utils.hop(t.fields,'draft.of')&&0!==t.fields['draft.of'].length&&n.push(f)}),n}}();","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/image.js":{"text":"!function(){'use strict';exports.image=function(i,n,e){var t=[];return i('!'===n?function(i,n){e.wiki.isImageTiddler(n)||t.push(n)}:function(i,n){e.wiki.isImageTiddler(n)&&t.push(n)}),t}}();","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/missing.js":{"text":"!function(){'use strict';exports.missing=function(i,t,s){var n=[];return i('!'===t?function(i,t){s.wiki.tiddlerExists(t)&&n.push(t)}:function(i,t){s.wiki.tiddlerExists(t)||n.push(t)}),n}}();","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/orphan.js":{"text":"!function(){'use strict';exports.orphan=function(n,i,t){var u=[],e=t.wiki.getOrphanTitles();return n('!'===i?function(n,i){-1===e.indexOf(i)&&u.push(i)}:function(n,i){-1!==e.indexOf(i)&&u.push(i)}),u}}();","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/shadow.js":{"text":"!function(){'use strict';exports.shadow=function(i,n,o){var s=[];return i('!'===n?function(i,n){o.wiki.isShadowTiddler(n)||s.push(n)}:function(i,n){o.wiki.isShadowTiddler(n)&&s.push(n)}),s}}();","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/system.js":{"text":"!function(){'use strict';exports.system=function(i,s,t){var n=[];return i('!'===s?function(i,s){t.wiki.isSystemTiddler(s)||n.push(s)}:function(i,s){t.wiki.isSystemTiddler(s)&&n.push(s)}),n}}();","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/tag.js":{"text":"!function(){'use strict';exports.tag=function(t,u,i){var n=[],o=i.wiki.getTagMap();return t('!'===u?function(t,u){$tw.utils.hop(o,u)||n.push(u)}:function(t,u){$tw.utils.hop(o,u)&&n.push(u)}),n}}();","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/tiddler.js":{"text":"!function(){'use strict';exports.tiddler=function(i,t,n){var s=[];return i('!'===t?function(i,t){n.wiki.tiddlerExists(t)||s.push(t)}:function(i,t){n.wiki.tiddlerExists(t)&&s.push(t)}),s}}();","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/variable.js":{"text":"!function(){'use strict';exports.variable=function(i,n,t){var e=[];return i('!'===n?function(i,n){n in t.widget.variables||e.push(n)}:function(i,n){n in t.widget.variables&&e.push(n)}),e}}();","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is.js":{"text":"!function(){'use strict';var i;exports.is=function(r,t,e){var n=(i||(i={},$tw.modules.applyMethods('isfilteroperator',i)),i);if(t.operand){n=n[t.operand];return n?n(r,t.prefix,e):[$tw.language.getString('Error/IsFilterOperator')]}var o=[];return r(function(r,t){o.push(t)}),o}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/limit.js":{"text":"!function(){'use strict';exports.limit=function(n,t,i){var e=[];n(function(n,t){e.push(t)});n=Math.min(e.length,parseInt(t.operand,10));return e='!'===t.prefix?e.slice(-n):e.slice(0,n)}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/links.js":{"text":"!function(){'use strict';exports.links=function(i,t,n){var s=[];return i(function(i,t){$tw.utils.pushTop(s,n.wiki.getTiddlerLinks(t))}),s}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/list.js":{"text":"!function(){'use strict';exports.list=function(e,i,t){var r=[],n=$tw.utils.parseTextReference(i.operand),d=t.widget&&t.widget.getVariable('currentTiddler'),s=t.wiki.getTiddlerList(n.title||d,n.field,n.index);return'!'===i.prefix?e(function(e,i){-1===s.indexOf(i)&&r.push(i)}):r=s,r}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/listed.js":{"text":"!function(){'use strict';exports.listed=function(i,t,n){var s=t.operand||'list',r=[];return i(function(i,t){$tw.utils.pushTop(r,n.wiki.findListingsOfTiddler(t,s))}),r}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/listops.js":{"text":"!function(){'use strict';exports.order=function(t,n,r){var e=[];return'reverse'===n.operand.toLowerCase()?t(function(t,n){e.unshift(n)}):t(function(t,n){e.push(n)}),e},exports.reverse=function(t,n,r){var e=[];return t(function(t,n){e.unshift(n)}),e},exports.first=function(t,n,r){var n=$tw.utils.getInt(n.operand,1),e=[];return t(function(t,n){e.push(n)}),e.slice(0,n)},exports.last=function(t,n,r){var n=$tw.utils.getInt(n.operand,1),e=[];return t(function(t,n){e.push(n)}),e.slice(-n)},exports.rest=function(t,n,r){var n=$tw.utils.getInt(n.operand,1),e=[];return t(function(t,n){e.push(n)}),e.slice(n)},exports.butfirst=exports.rest,exports.bf=exports.rest,exports.butlast=function(t,n,r){var n=$tw.utils.getInt(n.operand,1),e=[];return t(function(t,n){e.push(n)}),e.slice(0,-n)},exports.bl=exports.butlast,exports.nth=function(t,n,r){var n=$tw.utils.getInt(n.operand,1),e=[];return t(function(t,n){e.push(n)}),e.slice(n-1,n)}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/lookup.js":{"text":"!function(){'use strict';exports.lookup=function(t,n,u){var e=[];return t(function(t,i){e.push(u.wiki.getTiddlerText(n.operand+i)||n.suffix)}),e}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/match.js":{"text":"!function(){'use strict';exports.match=function(e,o,n){var s=[];return-1!==((o.suffixes||[])[0]||[]).indexOf('caseinsensitive')?'!'===o.prefix?e(function(e,n){n.toLowerCase()!==(o.operand||'').toLowerCase()&&s.push(n)}):e(function(e,n){n.toLowerCase()===(o.operand||'').toLowerCase()&&s.push(n)}):'!'===o.prefix?e(function(e,n){n!==o.operand&&s.push(n)}):e(function(e,n){n===o.operand&&s.push(n)}),s}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/math.js":{"text":"!function(){'use strict';function t(o){return function(t,n,r){var u=[],e=$tw.utils.parseNumber(n.operand);return t(function(t,n){u.push($tw.utils.stringifyNumber(o($tw.utils.parseNumber(n),e)))}),u}}function n(e,o){return o=o||0,function(t,n,r){var u=[];return t(function(t,n){u.push(n)}),[$tw.utils.stringifyNumber(u.reduce(function(t,n){return e(t,$tw.utils.parseNumber(n))},o))]}}exports.negate=t(function(t){return-t}),exports.abs=t(function(t){return Math.abs(t)}),exports.ceil=t(function(t){return Math.ceil(t)}),exports.floor=t(function(t){return Math.floor(t)}),exports.round=t(function(t){return Math.round(t)}),exports.trunc=t(function(t){return Math.trunc(t)}),exports.untrunc=t(function(t){return Math.ceil(Math.abs(t))*Math.sign(t)}),exports.sign=t(function(t){return Math.sign(t)}),exports.add=t(function(t,n){return t+n}),exports.subtract=t(function(t,n){return t-n}),exports.multiply=t(function(t,n){return t*n}),exports.divide=t(function(t,n){return t/n}),exports.remainder=t(function(t,n){return t%n}),exports.max=t(function(t,n){return Math.max(t,n)}),exports.min=t(function(t,n){return Math.min(t,n)}),exports.fixed=t(function(t,n){return Number.prototype.toFixed.call(t,Math.min(Math.max(n,0),100))}),exports.precision=t(function(t,n){return Number.prototype.toPrecision.call(t,Math.min(Math.max(n,1),100))}),exports.exponential=t(function(t,n){return Number.prototype.toExponential.call(t,Math.min(Math.max(n,0),100))}),exports.power=t(function(t,n){return Math.pow(t,n)}),exports.log=t(function(t,n){return n?Math.log(t)/Math.log(n):Math.log(t)}),exports.sum=n(function(t,n){return t+n},0),exports.product=n(function(t,n){return t*n},1),exports.maxall=n(function(t,n){return Math.max(t,n)},-1/0),exports.minall=n(function(t,n){return Math.min(t,n)},1/0)}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/minlength.js":{"text":"!function(){'use strict';exports.minlength=function(n,t,e){var r=[],u=parseInt(t.operand||'',10)||0;return n(function(n,t){t.length>=u&&r.push(t)}),r}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/modules.js":{"text":"!function(){'use strict';exports.modules=function(t,u,n){var s=[];return t(function(t,u){$tw.utils.each($tw.modules.types[u],function(t,u){s.push(u)})}),s.sort(),s}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/moduletypes.js":{"text":"!function(){'use strict';exports.moduletypes=function(t,s,u){var e=[];return $tw.utils.each($tw.modules.types,function(t,s){e.push(s)}),e.sort(),e}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/next.js":{"text":"!function(){'use strict';exports.next=function(n,t,e){var i=[],r=e.wiki.getTiddlerList(t.operand);return n(function(n,t){t=r.indexOf(t);0<++t&&t<r.length&&i.push(r[t])}),i}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/plugintiddlers.js":{"text":"!function(){'use strict';exports.plugintiddlers=function(t,i,e){var n=[];return t(function(t,i){i=e.wiki.getPluginInfo(i)||e.wiki.getTiddlerDataCached(i,{tiddlers:[]});i&&i.tiddlers&&$tw.utils.each(i.tiddlers,function(t,i){n.push(i)})}),n.sort(),n}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/prefix.js":{"text":"!function(){'use strict';exports.prefix=function(n,t,r){var e=[];return'!'===t.prefix?n(function(n,r){r.substr(0,t.operand.length)!==t.operand&&e.push(r)}):n(function(n,r){r.substr(0,t.operand.length)===t.operand&&e.push(r)}),e}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/previous.js":{"text":"!function(){'use strict';exports.previous=function(i,n,t){var e=[],r=t.wiki.getTiddlerList(n.operand);return i(function(i,n){n=r.indexOf(n);0<=--n&&e.push(r[n])}),e}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/range.js":{"text":"!function(){'use strict';exports.range=function(e,r,t){for(var a,n,s,i=[],o=r.operand.split(/[,:;]/g),u=0,f=0;f<o.length;f++){if(!/^\\s*[+-]?((\\d+(\\.\\d*)?)|(\\.\\d+))\\s*$/.test(o[f]))return['range: bad number \"'+o[f]+'\"'];var p=/\\.\\d+/.exec(o[f]);p&&(u=Math.max(u,p[0].length-1)),o[f]=parseFloat(o[f])}switch(o.length){case 1:if(1<=(n=o[0]))a=1;else{if(!(n<=-1))return[];a=-1}s=1;break;case 2:a=o[0],n=o[1],s=1;break;case 3:a=o[0],n=o[1],s=Math.abs(o[2])}if(0===s)return['range: increment 0 causes infinite loop'];var c=n<a?-1:1;if(1e4<(n-a)/(s*=c))return['range: too many steps (over 10K)'];var g=10010;if((n+=.5*c*Math.pow(.1,u))<a)for(f=a;n<f&&(i.push(f.toFixed(u)),!(--g<0));f+=s);else for(f=a;f<n&&(i.push(f.toFixed(u)),!(--g<0));f+=s);return g<0?['range: unexpectedly large output']:('!'===r.prefix&&i.reverse(),i)}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/reduce.js":{"text":"!function(){'use strict';exports.reduce=function(e,r,t){var n=[];e(function(e,r){n.push(r)});for(var a=t.wiki.compileFilter(r.operand),i=r.operands[1]||'',u=0;u<n.length;u++){var c=n[u],l=a.call(t.wiki,t.wiki.makeTiddlerIterator([c]),{getVariable:function(e){switch(e){case'currentTiddler':return''+c;case'accumulator':return''+i;case'index':return''+u;case'revIndex':return''+(n.length-1-u);case'length':return''+n.length;default:return t.widget.getVariable(e)}}});0<l.length&&(i=''+l[0])}return 0<n.length?[i]:[]}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/regexp.js":{"text":"!function(){'use strict';exports.regexp=function(e,t,n){function r(e,t){return e?e.getFieldString(c):'title'===c?t:null}var u,i=[],c=(t.suffix||'title').toLowerCase(),l='',s=t.operand,g=/^\\(\\?([gim]+)\\)/.exec(s);g?(l=g[1],s=s.substr(g[0].length)):(g=/\\(\\?([gim]+)\\)$/.exec(s))&&(l=g[1],s=s.substr(0,s.length-g[0].length));try{u=new RegExp(s,l)}catch(e){return[''+e]}return'!'===t.prefix?e(function(e,t){e=r(e,t);null!==e&&(u.exec(e)||i.push(t))}):e(function(e,t){e=r(e,t);null!==e&&u.exec(e)&&i.push(t)}),i}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/removeprefix.js":{"text":"!function(){'use strict';exports.removeprefix=function(n,e,r){var t=[];return n(function(n,r){r.substr(0,e.operand.length)===e.operand&&t.push(r.substr(e.operand.length))}),t}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/removesuffix.js":{"text":"!function(){'use strict';exports.removesuffix=function(n,e,t){var r=[];return n(function(n,t){t&&t.substr(-e.operand.length)===e.operand&&r.push(t.substr(0,t.length-e.operand.length))}),r}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/sameday.js":{"text":"!function(){'use strict';exports.sameday=function(e,t,s){var i=[],n=t.suffix||'modified',u=new Date($tw.utils.parseDate(t.operand)).setHours(0,0,0,0);return e(function(e,t){e&&e.getFieldDay(n)===u&&i.push(t)}),i}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/search.js":{"text":"!function(){'use strict';exports.search=function(e,i,r){var s='!'===i.prefix;if(i.suffixes){var c,n=function(e){return-1!==(i.suffixes[1]||[]).indexOf(e)},t=!1,a=i.suffixes[0]||[],f=a[0]||'';return'-'===f.charAt(0)?(c=[f.slice(1)].concat(a.slice(1)),t=!0):'*'===a[0]?(c=[],t=!0):c=a.slice(0),r.wiki.search(i.operand,{source:e,invert:s,field:c,excludeField:t,caseSensitive:n('casesensitive'),literal:n('literal'),whitespace:n('whitespace'),anchored:n('anchored'),regexp:n('regexp'),words:n('words')})}return r.wiki.search(i.operand,{source:e,invert:s})}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/shadowsource.js":{"text":"!function(){'use strict';exports.shadowsource=function(t,o,u){var r=[];return t(function(t,o){o=u.wiki.getShadowSource(o);o&&$tw.utils.pushTop(r,o)}),r.sort(),r}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/slugify.js":{"text":"!function(){'use strict';exports.slugify=function(i,u,n){var t=[];return i(function(i,u){t.push(n.wiki.slugify(u))}),t}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/sort.js":{"text":"!function(){'use strict';exports.sort=function(r,t,i){r=e(r);return i.wiki.sortTiddlers(r,t.operand||'title','!'===t.prefix,!1,!1),r},exports.nsort=function(r,t,i){r=e(r);return i.wiki.sortTiddlers(r,t.operand||'title','!'===t.prefix,!1,!0),r},exports.sortan=function(r,t,i){r=e(r);return i.wiki.sortTiddlers(r,t.operand||'title','!'===t.prefix,!1,!1,!0),r},exports.sortcs=function(r,t,i){r=e(r);return i.wiki.sortTiddlers(r,t.operand||'title','!'===t.prefix,!0,!1),r},exports.nsortcs=function(r,t,i){r=e(r);return i.wiki.sortTiddlers(r,t.operand||'title','!'===t.prefix,!0,!0),r};var e=function(r){var i=[];return r(function(r,t){i.push(t)}),i}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/sortsub.js":{"text":"!function(){'use strict';exports.sortsub=function(t,r,e){var n=e.wiki.compileFilter(r.operand),u=[],a=[];t(function(t,r){u.push(r);var i=n.call(e.wiki,function(t){t(e.wiki.getTiddler(r),r)},{getVariable:function(t){return'currentTiddler'===t?r:e.widget.getVariable(t)}});a.push(i[0]||'')});for(var i=new Array(u.length),o=0;o<u.length;o++)i[o]=o;var c=$tw.utils.makeCompareFunction(r.suffix,{defaultType:'string',invert:'!'===r.prefix}),i=i.sort(function(t,r){return c(a[t],a[r])}),l=[];return $tw.utils.each(i,function(t){l.push(u[t])}),l}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/splitbefore.js":{"text":"!function(){'use strict';exports.splitbefore=function(t,o,n){var p=[];return t(function(t,n){n=n.split(o.operand);1===n.length?$tw.utils.pushTop(p,n[0]):$tw.utils.pushTop(p,n[0]+o.operand)}),p}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/storyviews.js":{"text":"!function(){'use strict';exports.storyviews=function(t,s,o){var e=[],r={};return $tw.modules.applyMethods('storyview',r),$tw.utils.each(r,function(t,s){e.push(s)}),e.sort(),e}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/strings.js":{"text":"!function(){'use strict';var u,i;function t(u){return function(t,e,r){var n=[];return t(function(t,r){Array.prototype.push.apply(n,u(r,e.operand||'',e.suffix||''))}),n}}exports.length=t(function(t){return[''+(''+t).length]}),exports.uppercase=t(function(t){return[(''+t).toUpperCase()]}),exports.lowercase=t(function(t){return[(''+t).toLowerCase()]}),exports.sentencecase=t(function(t){return[$tw.utils.toSentenceCase(t)]}),exports.titlecase=t(function(t){return[$tw.utils.toTitleCase(t)]}),exports.trim=function(t,r,e){var n=[],u=r.suffix||'',i=r.operand||'',o='prefix'===u?function(t,r){return[$tw.utils.trimPrefix(t,r)]}:'suffix'===u?function(t,r){return[$tw.utils.trimSuffix(t,r)]}:''===i?function(t){return[$tw.utils.trim(t)]}:function(t,r){return[$tw.utils.trimSuffix($tw.utils.trimPrefix(t,r),r)]};return t(function(t,r){Array.prototype.push.apply(n,o(r,i))}),n},exports.split=t(function(t,r){return(''+t).split(r)}),exports['enlist-input']=t(function(t,r,e){return $tw.utils.parseStringArray(''+t,'raw'===e)}),exports.join=(u=function(t,r,e){return null===t?r:t+e+r},i=null,function(t,e,r){var n=[];return t(function(t,r){n.push(r)}),0===n.length?[]:[n.reduce(function(t,r){return u(t,r,e.operand||'')},i)||'']}),exports.splitregexp=function(t,r,e){var n,u=[],i=r.suffix||'',o=(-1!==i.indexOf('m')?'m':'')+(-1!==i.indexOf('i')?'i':'');try{n=new RegExp(r.operand||'',o)}catch(t){return['RegExp error: '+t]}return t(function(t,r){Array.prototype.push.apply(u,r.split(n))}),u},exports['search-replace']=function(t,e,r){var n,u,i=[],o=e.suffixes||[],p=o[0]&&o[0][0]||'',s=(-1!==p.indexOf('g')?'g':'')+(-1!==p.indexOf('i')?'i':''),f=!(!o[1]||'regexp'!==o[1][0]);return t(function(t,r){if(r&&1<e.operands.length){n=f?e.operand:$tw.utils.escapeRegExp(e.operand);try{u=new RegExp(n,s)}catch(t){return['RegExp error: '+t]}i.push(r.replace(u,e.operands[1]))}else i.push(r)}),i},exports.pad=function(t,u,r){var i=[],o=u.operand?parseInt(u.operand):0,p=u.operands[1]||'0';return t(function(t,r){if(r&&r.length)if(r.length>=o)i.push(r);else{for(var e='',n=o-r.length;n>e.length;)e+=p;e=e.slice(0,n),u.suffix&&'suffix'===u.suffix?r+=e:r=e+r,i.push(r)}}),i}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/subfilter.js":{"text":"!function(){'use strict';exports.subfilter=function(i,r,e){var t=e.wiki.filterTiddlers(r.operand,e.widget,i);if('!'!==r.prefix)return t;var n=[];return i(function(i,r){-1===t.indexOf(r)&&n.push(r)}),n}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/subtiddlerfields.js":{"text":"!function(){'use strict';exports.subtiddlerfields=function(i,e,n){var u=[];return i(function(i,t){t=n.wiki.getSubTiddler(e.operand,t);if(t)for(var r in t.fields)$tw.utils.pushTop(u,r)}),u}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/suffix.js":{"text":"!function(){'use strict';exports.suffix=function(n,t,r){var u=[];return'!'===t.prefix?n(function(n,r){r.substr(-t.operand.length)!==t.operand&&u.push(r)}):n(function(n,r){r.substr(-t.operand.length)===t.operand&&u.push(r)}),u}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/tag.js":{"text":"!function(){'use strict';exports.tag=function(i,e,t){var n,r,s=[];if('strict'!==(e.suffix||'').toLowerCase()||e.operand)if('!'===e.prefix)r=t.wiki.getTiddlersWithTag(e.operand),i(function(i,e){-1===r.indexOf(e)&&s.push(e)});else if(i.byTag){if(n=i.byTag(e.operand))return n}else r=t.wiki.getTiddlersWithTag(e.operand),i(function(i,e){-1!==r.indexOf(e)&&s.push(e)}),s=t.wiki.sortByList(s,e.operand);else i(function(i,e){s.push(e)});return s}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/tagging.js":{"text":"!function(){'use strict';exports.tagging=function(t,i,n){var u=[];return t(function(t,i){$tw.utils.pushTop(u,n.wiki.getTiddlersWithTag(i))}),u}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/tags.js":{"text":"!function(){'use strict';exports.tags=function(t,s,e){var i={};return t(function(t,s){var e,f;if(t&&t.fields.tags)for(e=0,f=t.fields.tags.length;e<f;e++)i[t.fields.tags[e]]=!0}),Object.keys(i)}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/then.js":{"text":"!function(){'use strict';exports.then=function(n,r,t){var u=[];return n(function(n,t){u.push(r.operand)}),u}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/title.js":{"text":"!function(){'use strict';exports.title=function(t,n,e){var i=[];return'!'===n.prefix?t(function(t,e){t&&t.fields.title!==n.operand&&i.push(e)}):i.push(n.operand),i}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/untagged.js":{"text":"!function(){'use strict';exports.untagged=function(t,s,i){var u=[];return'!'===s.prefix?t(function(t,s){t&&$tw.utils.isArray(t.fields.tags)&&0<t.fields.tags.length&&$tw.utils.pushTop(u,s)}):t(function(t,s){t&&t.hasField('tags')&&(!$tw.utils.isArray(t.fields.tags)||0!==t.fields.tags.length)||$tw.utils.pushTop(u,s)}),u}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/variables.js":{"text":"!function(){'use strict';exports.variables=function(r,t,i){var s,e=[];for(s in i.widget.variables)e.push(s);return e.sort()}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/wikiparserrules.js":{"text":"!function(){'use strict';exports.wikiparserrules=function(t,e,r){var s=[],u=e.operand;return $tw.utils.each($tw.modules.types.wikirule,function(t){t=t.exports;u&&!t.types[u]||s.push(t.name)}),s.sort(),s}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/x-listops.js":{"text":"!function(){'use strict';function o(e){var n=[];return e(function(e,t){n.push(t)}),n}function r(e,t,n){for(var r,n=n||1,i=0,s=t.length;i<s&&-1===(r=e.indexOf(t[i]));i++);return-1!==r?(n=(i+=n)<s?i:i-s,1<t.length?e.splice(r,1,t[n]):e.splice(r,1)):e.push(t[0]),e}exports.putbefore=function(e,t){var n=o(e),e=n.indexOf(t.operand),t=$tw.utils.getInt(t.suffix,1);return-1===e?n.slice(0,-1):n.slice(0,e).concat(n.slice(-t)).concat(n.slice(e,-t))},exports.putafter=function(e,t){var n=o(e),e=n.indexOf(t.operand),t=$tw.utils.getInt(t.suffix,1);return-1===e?n.slice(0,-1):n.slice(0,e+1).concat(n.slice(-t)).concat(n.slice(e+1,-t))},exports.replace=function(e,t){var n=o(e),e=n.indexOf(t.operand),t=$tw.utils.getInt(t.suffix,1);return-1===e?n.slice(0,-t):n.slice(0,e).concat(n.slice(-t)).concat(n.slice(e+1,-t))},exports.putfirst=function(e,t){e=o(e),t=$tw.utils.getInt(t.suffix,1);return e.slice(-t).concat(e.slice(0,-t))},exports.putlast=function(e,t){e=o(e),t=$tw.utils.getInt(t.suffix,1);return e.slice(t).concat(e.slice(0,t))},exports.move=function(e,t){var n=o(e),r=n.indexOf(t.operand),e=$tw.utils.getInt(t.suffix,1),t=n.splice(r,1),e=0<r+e?r+e:0;return n.slice(0,e).concat(t).concat(n.slice(e))},exports.allafter=function(e,t){var n=o(e),e=n.indexOf(t.operand);return-1===e?[]:t.suffix?n.slice(e):n.slice(e+1)},exports.allbefore=function(e,t){var n=o(e),e=n.indexOf(t.operand);return-1===e?[]:t.suffix?n.slice(0,e+1):n.slice(0,e)},exports.append=function(e,t){var n=$tw.utils.parseStringArray(t.operand,'true'),r=o(e),e=parseInt(t.suffix)||n.length;return 0===n.length?r:t.prefix?r.concat(n.slice(-e)):r.concat(n.slice(0,e))},exports.prepend=function(e,t){var n=$tw.utils.parseStringArray(t.operand,'true'),r=o(e),e=$tw.utils.getInt(t.suffix,n.length);return 0===n.length?r:(t.prefix?n.slice(-e):n.slice(0,e)).concat(r)},exports.remove=function(e,t){for(var n,r=$tw.utils.parseStringArray(t.operand,'true'),i=o(e),s=parseInt(t.suffix)||r.length,c=r.length-1,u=0;u<s;++u)-1!==(n=t.prefix?i.indexOf(r[c-u]):i.indexOf(r[u]))&&i.splice(n,1);return i},exports.sortby=function(e,t){e=o(e);if(!e||e.length<2)return e;var n=$tw.utils.parseStringArray(t.operand,'true');return e.sort(function(e,t){return n.indexOf(e)-n.indexOf(t)}),e},exports.unique=function(e,t){return o(e).reduce(function(e,t){return e.indexOf(t)<0&&e.push(t),e},[])},exports.toggle=function(e,t){return r(o(e),t.operands)},exports.cycle=function(e,t){var n=o(e),e=t.operand.length?$tw.utils.parseStringArray(t.operand,'true'):[''],t=$tw.utils.getInt(t.operands[1]||'',1);return t<0&&(e.reverse(),t=Math.abs(t)),r(n,e,t)}}();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters.js":{"text":"!function(){'use strict';exports.parseFilter=function(e){e=e||'';for(var r,t=[],i=0,s=/(\\s+)/gm,n=/((?:\\+|\\-|~|=|\\:(\\w+))?)(?:(\\[)|(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s\\[\\]]+))/gm;i<e.length;)if(s.lastIndex=i,(r=s.exec(e))&&r.index===i&&(i+=r[0].length),i<e.length){if(n.lastIndex=i,!(r=n.exec(e))||r.index!==i)throw $tw.language.getString('Error/FilterSyntax');var a={prefix:'',operators:[]};r[1]&&(a.prefix=r[1],i+=a.prefix.length,r[2]&&(a.namedPrefix=r[2])),i=r[3]?function(e,s,n){var a,o;if('['!==s.charAt(n++))throw'Missing [ in filter expression';do{if(o={},'!'===s.charAt(n)&&(o.prefix=s.charAt(n++)),-1===(a=s.substring(n).search(/[\\[\\{<\\/]/)))throw'Missing [ in filter expression';a+=n;var r=s.charAt(a);o.operator=s.substring(n,a);var t=o.operator.indexOf(':');function i(e){var r={};switch(e){case'{':r.indirect=!0,a=s.indexOf('}',n);break;case'[':a=s.indexOf(']',n);break;case'<':r.variable=!0,a=s.indexOf('>',n);break;case'/':var t=/^((?:[^\\\\\\/]*|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g,i=t.exec(s.substring(n));if(!i)throw'Unterminated regular expression in filter expression';o.regexp=new RegExp(i[1],i[2]),console.log('WARNING: Filter',o.operator,'has a deprecated regexp operand',o.regexp),a=n+t.lastIndex-1}if(-1===a)throw'Missing closing bracket in filter expression';o.regexp||(r.text=s.substring(n,a),o.operands.push(r)),n=a+1}for(-1<t?(o.suffix=o.operator.substring(t+1),o.operator=o.operator.substring(0,t)||'field',o.suffixes=[],$tw.utils.each(o.suffix.split(':'),function(e){o.suffixes.push([]),$tw.utils.each(e.split(','),function(e){(e=$tw.utils.trim(e))&&o.suffixes[o.suffixes.length-1].push(e)})})):''===o.operator&&(o.operator='title'),o.operands=[],n=a+1,i(r);','===s.charAt(n);){if(n++,!/^[\\[\\{<\\/]/.test(s.substring(n)))throw'Missing [ in filter expression';a=n,n++,i(s.charAt(a))}}while(e.push(o),']'!==s.charAt(n));if(']'!==s.charAt(n++))throw'Missing ] in filter expression';return n}(a.operators,e,i):r.index+r[0].length,(r[4]||r[5]||r[6])&&a.operators.push({operator:'title',operands:[{text:r[4]||r[5]||r[6]}]}),t.push(a)}return t},exports.getFilterOperators=function(){return this.filterOperators||($tw.Wiki.prototype.filterOperators={},$tw.modules.applyMethods('filteroperator',this.filterOperators)),this.filterOperators},exports.getFilterRunPrefixes=function(){return this.filterRunPrefixes||($tw.Wiki.prototype.filterRunPrefixes={},$tw.modules.applyMethods('filterrunprefix',this.filterRunPrefixes)),this.filterRunPrefixes},exports.filterTiddlers=function(e,r,t){return this.compileFilter(e).call(this,t,r)},exports.compileFilter=function(e){var r;try{r=this.parseFilter(e)}catch(t){return function(e,r){return[$tw.language.getString('Error/Filter')+': '+t]}}var o=this.getFilterOperators(),s=[],f=this;return $tw.utils.each(r,function(r){function t(e,i){var s=e,n=[],a=i&&i.getVariable('currentTiddler');if($tw.utils.each(r.operators,function(e){var r=[],t=e.operator?o[e.operator]||o.field:o.title;$tw.utils.each(e.operands,function(e){e.indirect?e.value=f.getTextReference(e.text,'',a):e.variable?e.value=i.getVariable(e.text,{defaultValue:''}):e.value=e.text,r.push(e.value)}),n=t(s,{operator:e.operator,operand:0<r.length?r[0]:void 0,operands:r,prefix:e.prefix,suffix:e.suffix,suffixes:e.suffixes,regexp:e.regexp},{wiki:f,widget:i}),s=$tw.utils.isArray(n)?f.makeTiddlerIterator(n):n}),$tw.utils.isArray(n))return n;var t=[];return n(function(e,r){t.push(r)}),t}var i=f.getFilterRunPrefixes();s.push(function(){var e={wiki:f};switch(r.prefix||''){case'':return i.or(t,e);case'=':return i.all(t,e);case'-':return i.except(t,e);case'+':return i.and(t,e);case'~':return i.else(t,e);default:return r.namedPrefix&&i[r.namedPrefix]?i[r.namedPrefix](t,e):function(e,r,t){e.clear(),e.push($tw.language.getString('Error/FilterRunPrefix'))}}}())}),$tw.perf.measure('filter: '+e,function(r,t){r?'object'==typeof r&&(r=f.makeTiddlerIterator(r)):r=f.each;var i=new $tw.utils.LinkedList;return $tw.utils.each(s,function(e){e(i,r,t)}),i.toArray()})}}();","type":"application/javascript","module-type":"wikimethod"},"$:/core/modules/indexers/backlinks-indexer.js":{"text":"!function(){'use strict';function t(t){this.wiki=t}t.prototype.init=function(){this.index=null},t.prototype.rebuild=function(){this.index=null},t.prototype._getLinks=function(t){t=this.wiki.parseText(t.fields.type,t.fields.text,{});return t?this.wiki.extractLinks(t.tree):[]},t.prototype.update=function(i){var t,e,n;this.index&&(t=[],e=[],n=this,i.old.exists&&(e=this._getLinks(i.old.tiddler)),i.new.exists&&(t=this._getLinks(i.new.tiddler)),$tw.utils.each(e,function(t){n.index[t]&&delete n.index[t][i.old.tiddler.fields.title]}),$tw.utils.each(t,function(t){n.index[t]||(n.index[t]=Object.create(null)),n.index[t][i.new.tiddler.fields.title]=!0}))},t.prototype.lookup=function(t){var e;return this.index||(this.index=Object.create(null),(e=this).wiki.forEachTiddler(function(i,t){t=e._getLinks(t);$tw.utils.each(t,function(t){e.index[t]||(e.index[t]=Object.create(null)),e.index[t][i]=!0})})),this.index[t]?Object.keys(this.index[t]):[]},exports.BacklinksIndexer=t}();","type":"application/javascript","module-type":"indexer"},"$:/core/modules/indexers/field-indexer.js":{"text":"!function(){'use strict';function i(i){this.wiki=i}i.prototype.init=function(){this.index=null,this.maxIndexedValueLength=128,this.addIndexMethods()},i.prototype.setMaxIndexedValueLength=function(i){this.index=null,this.maxIndexedValueLength=i},i.prototype.addIndexMethods=function(){var n=this;this.wiki.each.byField=function(i,e){var t=n.wiki.allTitles(),e=n.lookup(i,e);return e&&e.filter(function(i){return-1!==t.indexOf(i)})},this.wiki.eachShadow.byField=function(i,e){var t=n.wiki.allShadowTitles(),e=n.lookup(i,e);return e&&e.filter(function(i){return-1!==t.indexOf(i)})},this.wiki.eachTiddlerPlusShadows.byField=function(i,e){e=n.lookup(i,e);return e?e.slice(0):null},this.wiki.eachShadowPlusTiddlers.byField=function(i,e){e=n.lookup(i,e);return e?e.slice(0):null}},i.prototype.rebuild=function(){this.index=null},i.prototype.buildIndexForField=function(t){var n=this;this.index=this.index||Object.create(null),this.index[t]=Object.create(null);var d=this.index[t];this.wiki.eachTiddlerPlusShadows(function(i,e){t in i.fields&&((i=i.getFieldString(t)).length<n.maxIndexedValueLength&&(d[i]=d[i]||[],d[i].push(e)))})},i.prototype.update=function(t){var n=this;null!==this.index&&(t.old.tiddler&&$tw.utils.each(this.index,function(i,e){e in t.old.tiddler.fields&&(!(i=i[t.old.tiddler.getFieldString(e)])||-1!==(e=i.indexOf(t.old.tiddler.fields.title))&&i.splice(e,1))}),t.new.tiddler&&$tw.utils.each(this.index,function(i,e){e in t.new.tiddler.fields&&((e=t.new.tiddler.getFieldString(e)).length<n.maxIndexedValueLength&&(i[e]=i[e]||[],i[e].push(t.new.tiddler.fields.title)))}))},i.prototype.lookup=function(i,e){return e.length>=this.maxIndexedValueLength?null:(null!==this.index&&this.index[i]||this.buildIndexForField(i),this.index[i][e]||[])},exports.FieldIndexer=i}();","type":"application/javascript","module-type":"indexer"},"$:/core/modules/indexers/tag-indexer.js":{"text":"!function(){'use strict';function t(t){this.wiki=t}function i(t,i){this.indexer=t,this.iteratorMethod=i,this.index=null}t.prototype.init=function(){this.subIndexers=[new i(this,'each'),new i(this,'eachShadow'),new i(this,'eachTiddlerPlusShadows'),new i(this,'eachShadowPlusTiddlers')],$tw.utils.each(this.subIndexers,function(t){t.addIndexMethod()})},t.prototype.rebuild=function(){$tw.utils.each(this.subIndexers,function(t){t.rebuild()})},t.prototype.update=function(i){$tw.utils.each(this.subIndexers,function(t){t.update(i)})},i.prototype.addIndexMethod=function(){var i=this;this.indexer.wiki[this.iteratorMethod].byTag=function(t){return i.lookup(t).slice(0)}},i.prototype.rebuild=function(){var e=this;this.index=Object.create(null),this.indexer.wiki[this.iteratorMethod](function(t,i){$tw.utils.each(t.fields.tags,function(t){e.index[t]?e.index[t].titles.push(i):e.index[t]={isSorted:!1,titles:[i]}})})},i.prototype.update=function(t){this.index=null},i.prototype.lookup=function(t){null===this.index&&this.rebuild();var i=this.index[t];return i?(i.isSorted||(this.indexer.wiki.sortByList&&(i.titles=this.indexer.wiki.sortByList(i.titles,t)),i.isSorted=!0),i.titles):[]},exports.TagIndexer=t}();","type":"application/javascript","module-type":"indexer"},"$:/core/modules/info/platform.js":{"text":"!function(){'use strict';exports.getInfoTiddlerFields=function(e){var t,o,n,i=function(t){return t?'yes':'no'},r=[];return r.push({title:'$:/info/browser',text:i(!!$tw.browser)}),r.push({title:'$:/info/node',text:i(!!$tw.node)}),r.push({title:'$:/info/startup-timestamp',text:$tw.utils.stringifyDate(new Date)}),$tw.browser&&((t=function(t,e){r.push({title:'$:/info/url/'+t,text:e})})('full',(i=document.location).toString().split('#')[0]),t('host',i.host),t('hostname',i.hostname),t('protocol',i.protocol),t('port',i.port),t('pathname',i.pathname),t('search',i.search),t('origin',i.origin),r.push({title:'$:/info/browser/screen/width',text:window.screen.width.toString()}),r.push({title:'$:/info/browser/screen/height',text:window.screen.height.toString()}),o=window.matchMedia('(prefers-color-scheme: dark)'),n=function(){return{title:'$:/info/darkmode',text:o.matches?'yes':'no'}},r.push(n()),o.addListener(function(t){e([n()])}),r.push({title:'$:/info/browser/language',text:navigator.language||''})),r}}();","type":"application/javascript","module-type":"info"},"$:/core/modules/keyboard.js":{"text":"!function(){'use strict';var e={cancel:3,help:6,backspace:8,tab:9,clear:12,return:13,enter:13,pause:19,escape:27,space:32,page_up:33,page_down:34,end:35,home:36,left:37,up:38,right:39,down:40,printscreen:44,insert:45,delete:46,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,firefoxsemicolon:59,firefoxequals:61,a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,numpad0:96,numpad1:97,numpad2:98,numpad3:99,numpad4:100,numpad5:101,numpad6:102,numpad7:103,numpad8:104,numpad9:105,multiply:106,add:107,separator:108,subtract:109,decimal:110,divide:111,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,f13:124,f14:125,f15:126,f16:127,f17:128,f18:129,f19:130,f20:131,f21:132,f22:133,f23:134,f24:135,firefoxminus:173,semicolon:186,equals:187,comma:188,dash:189,period:190,slash:191,backquote:192,openbracket:219,backslash:220,closebracket:221,quote:222};function t(t){var s=this;this.namedKeys=e,this.keyNames=[],$tw.utils.each(e,function(t,e){s.keyNames[t]=e.substr(0,1).toUpperCase()+e.substr(1)}),this.metaKeyName=$tw.platform.isMac?'cmd-':'win-',this.shortcutKeysList=[],this.shortcutActionList=[],this.shortcutParsedList=[],this.lookupNames=['shortcuts'],this.lookupNames.push($tw.platform.isMac?'shortcuts-mac':'shortcuts-not-mac'),this.lookupNames.push($tw.platform.isWindows?'shortcuts-windows':'shortcuts-not-windows'),this.lookupNames.push($tw.platform.isLinux?'shortcuts-linux':'shortcuts-not-linux'),this.updateShortcutLists(this.getShortcutTiddlerList()),$tw.wiki.addEventListener('change',function(t){s.handleShortcutChanges(t)})}t.prototype.getModifierKeys=function(){return[16,17,18,20,91,93,224]},t.prototype.parseKeyDescriptor=function(t){for(var e=t.split(/\\+|\\-/),s={keyCode:0,shiftKey:!1,altKey:!1,ctrlKey:!1,metaKey:!1},r=0;r<e.length;r++){var i=e[r].toLowerCase();i.charCodeAt(0);'ctrl'===i?s.ctrlKey=!0:'shift'===i?s.shiftKey=!0:'alt'===i?s.altKey=!0:'meta'!==i&&'cmd'!==i&&'win'!==i||(s.metaKey=!0),this.namedKeys[i]&&(s.keyCode=this.namedKeys[i])}return s.keyCode?s:null},t.prototype.parseKeyDescriptors=function(t,s){var r=this;(s=s||{}).stack=s.stack||[];var i=s.wiki||$tw.wiki;if('string'==typeof t&&''===t)return[];$tw.utils.isArray(t)||(t=t.split(' '));var o=[];return $tw.utils.each(t,function(t){var e;'(('===t.substr(0,2)&&'))'===t.substr(-2,2)?-1===s.stack.indexOf(t)&&(s.stack.push(t),e=t.substring(2,t.length-2),$tw.utils.each(r.lookupNames,function(t){t=t,(t=i.getTiddlerText('$:/config/'+t+'/'+e))&&o.push.apply(o,r.parseKeyDescriptors(t,s))})):o.push(r.parseKeyDescriptor(t))}),o},t.prototype.getPrintableShortcuts=function(t){var e=this,s=[];return $tw.utils.each(t,function(t){t&&s.push((t.ctrlKey?'ctrl-':'')+(t.shiftKey?'shift-':'')+(t.altKey?'alt-':'')+(t.metaKey?e.metaKeyName:'')+e.keyNames[t.keyCode])}),s},t.prototype.checkKeyDescriptor=function(t,e){return e&&t.keyCode===e.keyCode&&t.shiftKey===e.shiftKey&&t.altKey===e.altKey&&t.ctrlKey===e.ctrlKey&&t.metaKey===e.metaKey},t.prototype.checkKeyDescriptors=function(t,e){for(var s=0;s<e.length;s++)if(this.checkKeyDescriptor(t,e[s]))return!0;return!1},t.prototype.getEventModifierKeyDescriptor=function(t){return!t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?!t.shiftKey||t.ctrlKey||t.altKey||t.metaKey?t.ctrlKey&&t.shiftKey&&!t.altKey&&!t.metaKey?'ctrl-shift':!t.altKey||t.shiftKey||t.ctrlKey||t.metaKey?t.altKey&&t.shiftKey&&!t.ctrlKey&&!t.metaKey?'alt-shift':t.altKey&&t.ctrlKey&&!t.shiftKey&&!t.metaKey?'ctrl-alt':t.altKey&&t.shiftKey&&t.ctrlKey&&!t.metaKey?'ctrl-alt-shift':!t.metaKey||t.ctrlKey||t.shiftKey||t.altKey?t.metaKey&&t.ctrlKey&&!t.shiftKey&&!t.altKey?'meta-ctrl':t.metaKey&&t.ctrlKey&&t.shiftKey&&!t.altKey?'meta-ctrl-shift':t.metaKey&&t.ctrlKey&t.shiftKey&&t.altKey?'meta-ctrl-alt-shift':'normal':'meta':'alt':'shift':'ctrl'},t.prototype.getShortcutTiddlerList=function(){return $tw.wiki.getTiddlersWithTag('$:/tags/KeyboardShortcut')},t.prototype.updateShortcutLists=function(t){this.shortcutTiddlers=t;for(var e=0;e<t.length;e++){var s=t[e],s=$tw.wiki.getTiddler(s).fields;this.shortcutKeysList[e]=void 0!==s.key?s.key:void 0,this.shortcutActionList[e]=s.text,this.shortcutParsedList[e]=void 0!==this.shortcutKeysList[e]?this.parseKeyDescriptors(this.shortcutKeysList[e]):void 0}},t.prototype.handleKeydownEvent=function(t){for(var e,s,r=0;r<this.shortcutTiddlers.length;r++)void 0!==this.shortcutParsedList[r]&&this.checkKeyDescriptors(t,this.shortcutParsedList[r])&&(e=this.shortcutParsedList[r],s=this.shortcutActionList[r]);return void 0!==e&&(t.preventDefault(),t.stopPropagation(),$tw.rootWidget.invokeActionString(s,$tw.rootWidget),!0)},t.prototype.detectNewShortcuts=function(s){var r=[],i=!1;return $tw.utils.each(this.lookupNames,function(t){var e='$:/config/'+t+'/';Object.keys(s).forEach(function(t){t.substr(0,t.lastIndexOf('/')+1)===e&&(r.push(t),i=!0)})}),!!i&&$tw.utils.hopArray(s,r)},t.prototype.handleShortcutChanges=function(t){var e=this.getShortcutTiddlerList();!$tw.utils.hopArray(t,this.shortcutTiddlers)&&(!$tw.utils.hopArray(t,e)&&!this.detectNewShortcuts(t))||this.updateShortcutLists(e)},exports.KeyboardManager=t}();","type":"application/javascript","module-type":"global"},"$:/core/modules/language.js":{"text":"!function(){'use strict';function i(i){i=i||'',this.wiki=i.wiki||$tw.wiki}i.prototype.getString=function(i,t){return t=t||{},i='$:/language/'+i,this.wiki.renderTiddler('text/plain',i,{variables:t.variables})},i.prototype.getRawString=function(i){return i='$:/language/'+i,this.wiki.getTiddlerText(i)},exports.Language=i}();","type":"application/javascript","module-type":"global"},"$:/core/modules/macros/changecount.js":{"text":"!function(){'use strict';exports.name='changecount',exports.params=[],exports.run=function(){return this.wiki.getChangeCount(this.getVariable('currentTiddler'))+''}}();","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/contrastcolour.js":{"text":"!function(){'use strict';exports.name='contrastcolour',exports.params=[{name:'target'},{name:'fallbackTarget'},{name:'colourA'},{name:'colourB'}],exports.run=function(r,t,a,e){var o=$tw.utils.parseCSSColor(r)||$tw.utils.parseCSSColor(t);if(!o)return a;r=$tw.utils.parseCSSColor(a),t=$tw.utils.parseCSSColor(e);if(r&&!t)return r;if(t&&!r)return t;if(!r&&!t)return[255-o[0],255-o[1],255-o[2],o[3]];o=.299*o[0]+.587*o[1]+.114*o[2],r=.299*r[0]+.587*r[1]+.114*r[2],t=.299*t[0]+.587*t[1]+.114*t[2];return Math.abs(o-r)>Math.abs(o-t)?a:e}}();","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/csvtiddlers.js":{"text":"!function(){'use strict';function a(e){return'\"'+e.replace(/\"/gm,'\"\"')+'\"'}exports.name='csvtiddlers',exports.params=[{name:'filter'},{name:'format'}],exports.run=function(e,i){var r,t,n=this.wiki.filterTiddlers(e),s=[];for(d=0;d<n.length;d++)for(t in(r=this.wiki.getTiddler(n[d])).fields)-1===s.indexOf(t)&&s.push(t);s.sort(),'title text modified modifier created creator'.split(' ').reverse().forEach(function(e,i){var r=s.indexOf(e);-1!==r&&(s.splice(r,1),s.unshift(e))});var o=[],f=[];s.forEach(function(e){f.push(a(e))}),o.push(f.join(','));for(var d=0;d<n.length;d++){for(f=[],r=this.wiki.getTiddler(n[d]),t=0;t<s.length;t++)f.push(a(r&&r.getFieldString(s[t])||''));o.push(f.join(','))}return o.join('\\n')}}();","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/displayshortcuts.js":{"text":"!function(){'use strict';exports.name='displayshortcuts',exports.params=[{name:'shortcuts'},{name:'prefix'},{name:'separator'},{name:'suffix'}],exports.run=function(e,r,t,a){e=$tw.keyboardManager.getPrintableShortcuts($tw.keyboardManager.parseKeyDescriptors(e,{wiki:this.wiki}));return 0<e.length?(e.sort(function(e,r){return e.toLowerCase().localeCompare(r.toLowerCase())}),r+e.join(t)+a):''}}();","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/jsontiddler.js":{"text":"!function(){'use strict';exports.name='jsontiddler',exports.params=[{name:'title'}],exports.run=function(e){var r=!!(e=e||this.getVariable('currentTiddler'))&&this.wiki.getTiddler(e),t=new Object;if(r)for(var i in r.fields)t[i]=r.getFieldString(i);return JSON.stringify(t,null,$tw.config.preferences.jsonSpaces)}}();","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/jsontiddlers.js":{"text":"!function(){'use strict';exports.name='jsontiddlers',exports.params=[{name:'filter'},{name:'spaces'}],exports.run=function(s,t){return this.wiki.getTiddlersAsJson(s,$tw.utils.parseInt(t))}}();","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/makedatauri.js":{"text":"!function(){'use strict';exports.name='makedatauri',exports.params=[{name:'text'},{name:'type'},{name:'_canonical_uri'}],exports.run=function(t,a,e){return $tw.utils.makeDataUri(t,a,e)}}();","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/now.js":{"text":"!function(){'use strict';exports.name='now',exports.params=[{name:'format'}],exports.run=function(t){return $tw.utils.formatDateString(new Date,t||'0hh:0mm, DDth MMM YYYY')}}();","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/qualify.js":{"text":"!function(){'use strict';exports.name='qualify',exports.params=[{name:'title'}],exports.run=function(t){return t+'-'+this.getStateQualifier()}}();","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/resolvepath.js":{"text":"!function(){'use strict';exports.name='resolvepath',exports.params=[{name:'source'},{name:'root'}],exports.run=function(e,t){return $tw.utils.resolvePath(e,t)}}();","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/unusedtitle.js":{"text":"!function(){'use strict';exports.name='unusedtitle',exports.params=[{name:'baseName'},{name:'options'}],exports.run=function(e,t){return e=e||$tw.language.getString('DefaultNewTiddlerTitle'),this.wiki.generateNewTitle(e,t)}}();","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/version.js":{"text":"!function(){'use strict';exports.name='version',exports.params=[],exports.run=function(){return $tw.version}}();","type":"application/javascript","module-type":"macro"},"$:/core/modules/parsers/audioparser.js":{"text":"!function(){'use strict';function t(t,e,i){var a={type:'element',tag:'audio',attributes:{controls:{type:'string',value:'controls'},style:{type:'string',value:'width: 100%; object-fit: contain'}}};i._canonical_uri?a.attributes.src={type:'string',value:i._canonical_uri}:e&&(a.attributes.src={type:'string',value:'data:'+t+';base64,'+e}),this.tree=[a]}exports['audio/ogg']=t,exports['audio/mpeg']=t,exports['audio/mp3']=t,exports['audio/mp4']=t}();","type":"application/javascript","module-type":"parser"},"$:/core/modules/parsers/binaryparser.js":{"text":"!function(){'use strict';exports['application/octet-stream']=function(t,e,i){var r={type:'element',tag:'p',children:[{type:'transclude',attributes:{tiddler:{type:'string',value:'$:/core/ui/BinaryWarning'}}}]},a={type:'element',tag:'a',attributes:{title:{type:'indirect',textReference:'!!title'},download:{type:'indirect',textReference:'!!title'}},children:[{type:'transclude',attributes:{tiddler:{type:'string',value:'$:/core/images/export-button'}}}]};i._canonical_uri?a.attributes.href={type:'string',value:i._canonical_uri}:e&&(a.attributes.href={type:'string',value:'data:'+t+';base64,'+e});a={type:'element',tag:'div',attributes:{class:{type:'string',value:'tc-binary-warning'}},children:[r,a]};this.tree=[a]}}();","type":"application/javascript","module-type":"parser"},"$:/core/modules/parsers/csvparser.js":{"text":"!function(){'use strict';exports['text/csv']=function(t,e,l){this.tree=[{type:'scrollable',children:[{type:'element',tag:'table',children:[{type:'element',tag:'tbody',children:[]}],attributes:{class:{type:'string',value:'tc-csv-table'}}}]}];for(var r=e.split(/\\r?\\n/gm),n='th',i=0;i<r.length;i++){var c=r[i];if(c){for(var h={type:'element',tag:'tr',children:[]},s=c.split(','),a=0;a<s.length;a++)h.children.push({type:'element',tag:n,children:[{type:'text',text:s[a]}]});n='td',this.tree[0].children[0].children[0].children.push(h)}}}}();","type":"application/javascript","module-type":"parser"},"$:/core/modules/parsers/htmlparser.js":{"text":"!function(){'use strict';exports['text/html']=function(t,e,n){var a;n._canonical_uri?a=n._canonical_uri:e&&(a='data:text/html;charset=utf-8,'+encodeURIComponent(e)),this.tree=[{type:'element',tag:'iframe',attributes:{src:{type:'string',value:a},sandbox:{type:'string',value:''}}}]}}();","type":"application/javascript","module-type":"parser"},"$:/core/modules/parsers/imageparser.js":{"text":"!function(){'use strict';function e(e,t,i){var a={type:'element',tag:'img',attributes:{}};i._canonical_uri?a.attributes.src={type:'string',value:i._canonical_uri}:t&&(a.attributes.src='image/svg+xml'===e||'.svg'===e?{type:'string',value:'data:image/svg+xml,'+encodeURIComponent(t)}:{type:'string',value:'data:'+e+';base64,'+t}),this.tree=[a]}exports['image/svg+xml']=e,exports['image/jpg']=e,exports['image/jpeg']=e,exports['image/png']=e,exports['image/gif']=e,exports['image/webp']=e,exports['image/heic']=e,exports['image/heif']=e,exports['image/x-icon']=e}();","type":"application/javascript","module-type":"parser"},"$:/core/modules/utils/parseutils.js":{"text":"!function(){'use strict';exports.parseWhiteSpace=function(t,e){for(var r,a=e;' '===(r=t.charAt(a))||'\\f'===r||'\\n'===r||'\\r'===r||'\\t'===r||'\\v'===r||' '===r;)a++;return a===e?null:{type:'whitespace',start:e,end:a}},exports.skipWhiteSpace=function(t,e){for(var r;;){if(' '!==(r=t.charAt(e))&&'\\f'!==r&&'\\n'!==r&&'\\r'!==r&&'\\t'!==r&&'\\v'!==r&&' '!==r)return e;e++}},exports.parseTokenString=function(t,e,r){return t.indexOf(r,e)===e?{type:'token',value:r,start:e,end:e+r.length}:null},exports.parseTokenRegExp=function(t,e,r){var a={type:'regexp',start:e};return r.lastIndex=e,a.match=r.exec(t),a.match&&a.match.index===e?(a.end=e+a.match[0].length,a):null},exports.parseStringLiteral=function(t,e){var r={type:'string',start:e},a=/(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\")|(?:'([^']*)')/g;a.lastIndex=e;t=a.exec(t);return t&&t.index===e?(r.value=void 0!==t[1]?t[1]:void 0!==t[2]?t[2]:t[3],r.end=e+t[0].length,r):null},exports.parseMacroParameter=function(t,e){var r={type:'macro-parameter',start:e};e=$tw.utils.skipWhiteSpace(t,e);t=$tw.utils.parseTokenRegExp(t,e,/(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\\s>\"'=]+)))/g);return t?(e=t.end,r.value=void 0!==t.match[2]?t.match[2]:void 0!==t.match[3]?t.match[3]:void 0!==t.match[4]?t.match[4]:void 0!==t.match[5]?t.match[5]:void 0!==t.match[6]?t.match[6]:'',t.match[1]&&(r.name=t.match[1]),r.end=e,r):null},exports.parseMacroInvocation=function(t,e){var r={type:'macrocall',start:e,params:[]};e=$tw.utils.skipWhiteSpace(t,e);var a=$tw.utils.parseTokenString(t,e,'<<');if(!a)return null;e=a.end;var n=$tw.utils.parseTokenRegExp(t,e,/([^\\s>\"'=]+)/g);if(!n)return null;r.name=n.match[1],e=n.end;for(var s=$tw.utils.parseMacroParameter(t,e);s;)r.params.push(s),e=s.end,s=$tw.utils.parseMacroParameter(t,e);return e=$tw.utils.skipWhiteSpace(t,e),(a=$tw.utils.parseTokenString(t,e,'>>'))?(e=a.end,r.end=e,r):null},exports.parseAttribute=function(t,e){var r={start:e};e=$tw.utils.skipWhiteSpace(t,e);var a=$tw.utils.parseTokenRegExp(t,e,/([^\\/\\s>\"'=]+)/g);if(!a)return null;r.name=a.match[1],e=a.end,e=$tw.utils.skipWhiteSpace(t,e);a=$tw.utils.parseTokenString(t,e,'=');return a?(e=a.end,e=$tw.utils.skipWhiteSpace(t,e),(a=$tw.utils.parseStringLiteral(t,e))?(e=a.end,r.type='string',r.value=a.value):(a=$tw.utils.parseTokenRegExp(t,e,/\\{\\{\\{(.+?)\\}\\}\\}/g))?(e=a.end,r.type='filtered',r.filter=a.match[1]):(a=$tw.utils.parseTokenRegExp(t,e,/\\{\\{([^\\}]+)\\}\\}/g))?(e=a.end,r.type='indirect',r.textReference=a.match[1]):(a=$tw.utils.parseTokenRegExp(t,e,/([^\\/\\s<>\"'=]+)/g))?(e=a.end,r.type='string',r.value=a.match[1]):(t=$tw.utils.parseMacroInvocation(t,e))?(e=t.end,r.type='macro',r.value=t):(r.type='string',r.value='true')):(r.type='string',r.value='true'),r.end=e,r}}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/parsers/pdfparser.js":{"text":"!function(){'use strict';exports['application/pdf']=function(t,a,e){var i={type:'element',tag:'embed',attributes:{}};e._canonical_uri?i.attributes.src={type:'string',value:e._canonical_uri}:a&&(i.attributes.src={type:'string',value:'data:application/pdf;base64,'+a}),this.tree=[i]}}();","type":"application/javascript","module-type":"parser"},"$:/core/modules/parsers/textparser.js":{"text":"!function(){'use strict';function t(t,e,i){this.tree=[{type:'codeblock',attributes:{code:{type:'string',value:e},language:{type:'string',value:t}}}]}exports['text/plain']=t,exports['text/x-tiddlywiki']=t,exports['application/javascript']=t,exports['application/json']=t,exports['text/css']=t,exports['application/x-tiddler-dictionary']=t}();","type":"application/javascript","module-type":"parser"},"$:/core/modules/parsers/videoparser.js":{"text":"!function(){'use strict';function t(t,e,i){var o={type:'element',tag:'video',attributes:{controls:{type:'string',value:'controls'},style:{type:'string',value:'width: 100%; object-fit: contain'}}};i._canonical_uri?o.attributes.src={type:'string',value:i._canonical_uri}:e&&(o.attributes.src={type:'string',value:'data:'+t+';base64,'+e}),this.tree=[o]}exports['video/ogg']=t,exports['video/webm']=t,exports['video/mp4']=t,exports['video/quicktime']=t}();","type":"application/javascript","module-type":"parser"},"$:/core/modules/parsers/wikiparser/rules/codeblock.js":{"text":"!function(){'use strict';exports.name='codeblock',exports.types={block:!0},exports.init=function(s){this.parser=s,this.matchRegExp=/```([\\w-]*)\\r?\\n/gm},exports.parse=function(){var s=/(\\r?\\n```$)/gm;this.parser.pos=this.matchRegExp.lastIndex,s.lastIndex=this.parser.pos;var e,s=s.exec(this.parser.source);return s?(e=this.parser.source.substring(this.parser.pos,s.index),this.parser.pos=s.index+s[0].length):(e=this.parser.source.substr(this.parser.pos),this.parser.pos=this.parser.sourceLength),[{type:'codeblock',attributes:{code:{type:'string',value:e},language:{type:'string',value:this.match[1]}}}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/codeinline.js":{"text":"!function(){'use strict';exports.name='codeinline',exports.types={inline:!0},exports.init=function(s){this.parser=s,this.matchRegExp=/(``?)/gm},exports.parse=function(){this.parser.pos=this.matchRegExp.lastIndex;var s=new RegExp(this.match[1],'mg');s.lastIndex=this.parser.pos;var e,s=s.exec(this.parser.source);return s?(e=this.parser.source.substring(this.parser.pos,s.index),this.parser.pos=s.index+s[0].length):(e=this.parser.source.substr(this.parser.pos),this.parser.pos=this.parser.sourceLength),[{type:'element',tag:'code',children:[{type:'text',text:e}]}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/commentblock.js":{"text":"!function(){'use strict';exports.name='commentblock',exports.types={block:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/<!--/gm,this.endMatchRegExp=/-->/gm},exports.findNextMatch=function(t){if(this.matchRegExp.lastIndex=t,this.match=this.matchRegExp.exec(this.parser.source),this.match&&(this.endMatchRegExp.lastIndex=t+this.match[0].length,this.endMatch=this.endMatchRegExp.exec(this.parser.source),this.endMatch))return this.match.index},exports.parse=function(){return this.parser.pos=this.endMatchRegExp.lastIndex,[]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/commentinline.js":{"text":"!function(){'use strict';exports.name='commentinline',exports.types={inline:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/<!--/gm,this.endMatchRegExp=/-->/gm},exports.findNextMatch=function(t){if(this.matchRegExp.lastIndex=t,this.match=this.matchRegExp.exec(this.parser.source),this.match&&(this.endMatchRegExp.lastIndex=t+this.match[0].length,this.endMatch=this.endMatchRegExp.exec(this.parser.source),this.endMatch))return this.match.index},exports.parse=function(){return this.parser.pos=this.endMatchRegExp.lastIndex,[]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/dash.js":{"text":"!function(){'use strict';exports.name='dash',exports.types={inline:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/-{2,3}(?!-)/gm},exports.parse=function(){return this.parser.pos=this.matchRegExp.lastIndex,[{type:'entity',entity:2===this.match[0].length?'–':'—'}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js":{"text":"!function(){'use strict';exports.name='bold',exports.types={inline:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/''/gm},exports.parse=function(){return this.parser.pos=this.matchRegExp.lastIndex,[{type:'element',tag:'strong',children:this.parser.parseInlineRun(/''/gm,{eatTerminator:!0})}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js":{"text":"!function(){'use strict';exports.name='italic',exports.types={inline:!0},exports.init=function(e){this.parser=e,this.matchRegExp=/\\/\\//gm},exports.parse=function(){return this.parser.pos=this.matchRegExp.lastIndex,[{type:'element',tag:'em',children:this.parser.parseInlineRun(/\\/\\//gm,{eatTerminator:!0})}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js":{"text":"!function(){'use strict';exports.name='strikethrough',exports.types={inline:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/~~/gm},exports.parse=function(){return this.parser.pos=this.matchRegExp.lastIndex,[{type:'element',tag:'strike',children:this.parser.parseInlineRun(/~~/gm,{eatTerminator:!0})}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js":{"text":"!function(){'use strict';exports.name='subscript',exports.types={inline:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/,,/gm},exports.parse=function(){return this.parser.pos=this.matchRegExp.lastIndex,[{type:'element',tag:'sub',children:this.parser.parseInlineRun(/,,/gm,{eatTerminator:!0})}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js":{"text":"!function(){'use strict';exports.name='superscript',exports.types={inline:!0},exports.init=function(e){this.parser=e,this.matchRegExp=/\\^\\^/gm},exports.parse=function(){return this.parser.pos=this.matchRegExp.lastIndex,[{type:'element',tag:'sup',children:this.parser.parseInlineRun(/\\^\\^/gm,{eatTerminator:!0})}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js":{"text":"!function(){'use strict';exports.name='underscore',exports.types={inline:!0},exports.init=function(e){this.parser=e,this.matchRegExp=/__/gm},exports.parse=function(){return this.parser.pos=this.matchRegExp.lastIndex,[{type:'element',tag:'u',children:this.parser.parseInlineRun(/__/gm,{eatTerminator:!0})}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/entity.js":{"text":"!function(){'use strict';exports.name='entity',exports.types={inline:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/(&#?[a-zA-Z0-9]{2,8};)/gm},exports.parse=function(){this.match[1];return this.parser.pos=this.matchRegExp.lastIndex,[{type:'entity',entity:this.match[0]}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/extlink.js":{"text":"!function(){'use strict';exports.name='extlink',exports.types={inline:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/~?(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/gm},exports.parse=function(){return this.parser.pos=this.matchRegExp.lastIndex,'~'===this.match[0].substr(0,1)?[{type:'text',text:this.match[0].substr(1)}]:[{type:'element',tag:'a',attributes:{href:{type:'string',value:this.match[0]},class:{type:'string',value:'tc-tiddlylink-external'},target:{type:'string',value:'_blank'},rel:{type:'string',value:'noopener noreferrer'}},children:[{type:'text',text:this.match[0]}]}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js":{"text":"!function(){'use strict';exports.name='filteredtranscludeblock',exports.types={block:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?(?:\\r?\\n|$)/gm},exports.parse=function(){this.parser.pos=this.matchRegExp.lastIndex;var t=this.match[1],s=this.match[2],e=$tw.utils.trim(this.match[3]),i=this.match[4],r=this.match[5],t={type:'list',attributes:{filter:{type:'string',value:t}},isBlock:!0};return s&&(t.attributes.tooltip={type:'string',value:s}),e&&(t.attributes.template={type:'string',value:e}),i&&(t.attributes.style={type:'string',value:i}),r&&(t.attributes.itemClass={type:'string',value:r.split('.').join(' ')}),[t]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js":{"text":"!function(){'use strict';exports.name='filteredtranscludeinline',exports.types={inline:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?/gm},exports.parse=function(){this.parser.pos=this.matchRegExp.lastIndex;var t=this.match[1],e=this.match[2],i=$tw.utils.trim(this.match[3]),s=this.match[4],r=this.match[5],t={type:'list',attributes:{filter:{type:'string',value:t}}};return e&&(t.attributes.tooltip={type:'string',value:e}),i&&(t.attributes.template={type:'string',value:i}),s&&(t.attributes.style={type:'string',value:s}),r&&(t.attributes.itemClass={type:'string',value:r.split('.').join(' ')}),[t]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js":{"text":"!function(){'use strict';exports.name='hardlinebreaks',exports.types={inline:!0},exports.init=function(e){this.parser=e,this.matchRegExp=/\"\"\"(?:\\r?\\n)?/gm},exports.parse=function(){var e,s=/(\"\"\")|(\\r?\\n)/gm,r=[];for(this.parser.pos=this.matchRegExp.lastIndex;r.push.apply(r,this.parser.parseInlineRun(s,{eatTerminator:!1})),s.lastIndex=this.parser.pos,(e=s.exec(this.parser.source))&&(this.parser.pos=s.lastIndex,e[2]&&r.push({type:'element',tag:'br'})),e&&!e[1];);return r}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/heading.js":{"text":"!function(){'use strict';exports.name='heading',exports.types={block:!0},exports.init=function(e){this.parser=e,this.matchRegExp=/(!{1,6})/gm},exports.parse=function(){var e=this.match[1].length;this.parser.pos=this.matchRegExp.lastIndex;var s=this.parser.parseClasses();this.parser.skipWhitespace({treatNewlinesAsNonWhitespace:!0});var t=this.parser.parseInlineRun(/(\\r?\\n)/gm);return[{type:'element',tag:'h'+e,attributes:{class:{type:'string',value:s.join(' ')}},children:t}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/horizrule.js":{"text":"!function(){'use strict';exports.name='horizrule',exports.types={block:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/-{3,}\\r?(?:\\n|$)/gm},exports.parse=function(){return this.parser.pos=this.matchRegExp.lastIndex,[{type:'element',tag:'hr'}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/html.js":{"text":"!function(){'use strict';exports.name='html',exports.types={inline:!0,block:!0},exports.init=function(e){this.parser=e},exports.findNextMatch=function(e){return this.nextTag=this.findNextTag(this.parser.source,e,{requireLineBreak:this.is.block}),this.nextTag?this.nextTag.start:void 0},exports.parse=function(){var e=this.nextTag;this.nextTag=null,this.parser.pos=e.end;var t,r,s=!e.isSelfClosing&&!!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);return e.isBlock=this.is.block||s,e.isSelfClosing||-1!==$tw.config.htmlVoidElements.indexOf(e.tag)||(t='</'+$tw.utils.escapeRegExp(e.tag)+'>',r=new RegExp('('+t+')','mg'),e.children=s?this.parser.parseBlocks(t):this.parser.parseInlineRun(r),r.lastIndex=this.parser.pos,(r=r.exec(this.parser.source))&&r.index===this.parser.pos&&(this.parser.pos=r.index+r[0].length)),[e]},exports.parseTag=function(e,t,r){r=r||{};var s,n={type:'element',start:t,attributes:{}};if(t=$tw.utils.skipWhiteSpace(e,t),!(s=$tw.utils.parseTokenString(e,t,'<')))return null;if(t=s.end,!(s=$tw.utils.parseTokenRegExp(e,t,/([a-zA-Z0-9\\-\\$]+)/g)))return null;if(n.tag=s.match[1],-1!==n.tag.slice(1).indexOf('$'))return null;if('$'===n.tag.charAt(0)&&(n.type=n.tag.substr(1)),t=s.end,!$tw.utils.parseWhiteSpace(e,t)&&'/'!==e.charAt(t)&&'>'!==e.charAt(t))return null;for(var i=$tw.utils.parseAttribute(e,t);i;)t=(n.attributes[i.name]=i).end,i=$tw.utils.parseAttribute(e,t);return t=$tw.utils.skipWhiteSpace(e,t),(s=$tw.utils.parseTokenString(e,t,'/'))&&(t=s.end,n.isSelfClosing=!0),(s=$tw.utils.parseTokenString(e,t,'>'))?(t=s.end,r.requireLineBreak&&!(s=$tw.utils.parseTokenRegExp(e,t,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g))?null:(n.end=t,n)):null},exports.findNextTag=function(e,t,r){var s=/<([a-zA-Z\\-\\$]+)/g;s.lastIndex=t;for(var n=s.exec(e);n;){var i=this.parseTag(e,n.index,r);if(i&&this.isLegalTag(i))return i;s.lastIndex=n.index+1,n=s.exec(e)}return null},exports.isLegalTag=function(e){return'element'!==e.type||'-'!==e.tag.charAt(0)}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/image.js":{"text":"!function(){'use strict';exports.name='image',exports.types={inline:!0},exports.init=function(t){this.parser=t},exports.findNextMatch=function(t){return this.nextImage=this.findNextImage(this.parser.source,t),this.nextImage?this.nextImage.start:void 0},exports.parse=function(){return this.parser.pos=this.nextImage.end,[{type:'image',attributes:this.nextImage.attributes}]},exports.findNextImage=function(t,e){var i=/(\\[img)/g;i.lastIndex=e;for(var r=i.exec(t);r;){var s=this.parseImage(t,r.index);if(s)return s;i.lastIndex=r.index+1,r=i.exec(t)}return null},exports.parseImage=function(t,e){var i,r={type:'image',start:e,attributes:{}};if(e=$tw.utils.skipWhiteSpace(t,e),!(i=$tw.utils.parseTokenString(t,e,'[img')))return null;if(e=i.end,e=$tw.utils.skipWhiteSpace(t,e),'['!==t.charAt(e))for(var s=$tw.utils.parseAttribute(t,e);s;)e=(r.attributes[s.name]=s).end,e=$tw.utils.skipWhiteSpace(t,e),s='['!==t.charAt(e)?$tw.utils.parseAttribute(t,e):null;return e=$tw.utils.skipWhiteSpace(t,e),(i=$tw.utils.parseTokenString(t,e,'['))?(e=i.end,e=$tw.utils.skipWhiteSpace(t,e),(i=$tw.utils.parseTokenRegExp(t,e,/(?:([^|\\]]*?)\\|)?([^\\]]+?)\\]\\]/g))?(e=i.end,i.match[1]&&(r.attributes.tooltip={type:'string',value:i.match[1].trim()}),r.attributes.source={type:'string',value:(i.match[2]||'').trim()},r.end=e,r):null):null}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/import.js":{"text":"!function(){'use strict';exports.name='import',exports.types={pragma:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/^\\\\import[^\\S\\n]/gm},exports.parse=function(){this.parser.pos=this.matchRegExp.lastIndex;var t=/(.*)(\\r?\\n)|$/gm;t.lastIndex=this.parser.pos;var r=t.exec(this.parser.source);return this.parser.pos=t.lastIndex,[{type:'importvariables',attributes:{filter:{type:'string',value:r[1]}},children:[]}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/list.js":{"text":"!function(){'use strict';exports.name='list',exports.types={block:!0},exports.init=function(e){this.parser=e,this.matchRegExp=/([\\*#;:>]+)/gm};var h={'*':{listTag:'ul',itemTag:'li'},'#':{listTag:'ol',itemTag:'li'},';':{listTag:'dl',itemTag:'dt'},':':{listTag:'dl',itemTag:'dd'},'>':{listTag:'blockquote',itemTag:'div'}};exports.parse=function(){for(var e=[];;){var t=/([\\*#;:>]+)/gm;t.lastIndex=this.parser.pos;var s=t.exec(this.parser.source);if(!s||s.index!==this.parser.pos)break;var i=h[s[0].charAt(0)];if(0<e.length&&e[0].tag!==i.listTag)break;this.parser.pos=s.index+s[0].length;for(var r=0;r<s[0].length;r++){var a,i=h[s[0].charAt(r)];e.length>r&&e[r].tag!==i.listTag&&e.splice(r,e.length-r),e.length<=r?(a={type:'element',tag:i.listTag,children:[{type:'element',tag:i.itemTag,children:[]}]},r&&e[r-1].children[e[r-1].children.length-1].children.push(a),e[r]=a):r===s[0].length-1&&e[r].children.push({type:'element',tag:i.itemTag,children:[]})}e.length>s[0].length&&e.splice(s[0].length,e.length-s[0].length);var l=e[e.length-1].children,n=l[l.length-1],t=this.parser.parseClasses();this.parser.skipWhitespace({treatNewlinesAsNonWhitespace:!0});l=this.parser.parseInlineRun(/(\\r?\\n)/gm);n.children.push.apply(n.children,l),0<t.length&&$tw.utils.addClassToParseTreeNode(n,t.join(' ')),this.parser.skipWhitespace()}return[e[0]]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/macrocallblock.js":{"text":"!function(){'use strict';exports.name='macrocallblock',exports.types={block:!0},exports.init=function(s){this.parser=s,this.matchRegExp=/<<([^>\\s]+)(?:\\s*)((?:[^>]|(?:>(?!>)))*?)>>(?:\\r?\\n|$)/gm},exports.parse=function(){var s=this.match[1],t=this.match[2];this.parser.pos=this.matchRegExp.lastIndex;for(var a=[],e=/\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/gm,r=e.exec(t);r;){var c={value:r[2]||r[3]||r[4]||r[5]||r[6]};r[1]&&(c.name=r[1]),a.push(c),r=e.exec(t)}return[{type:'macrocall',name:s,params:a,isBlock:!0}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/macrocallinline.js":{"text":"!function(){'use strict';exports.name='macrocallinline',exports.types={inline:!0},exports.init=function(s){this.parser=s,this.matchRegExp=/<<([^\\s>]+)\\s*([\\s\\S]*?)>>/gm},exports.parse=function(){var s=this.match[1],e=this.match[2];this.parser.pos=this.matchRegExp.lastIndex;for(var t=[],a=/\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/gm,r=a.exec(e);r;){var i={value:r[2]||r[3]||r[4]||r[5]||r[6]};r[1]&&(i.name=r[1]),t.push(i),r=a.exec(e)}return[{type:'macrocall',name:s,params:t}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/macrodef.js":{"text":"!function(){'use strict';exports.name='macrodef',exports.types={pragma:!0},exports.init=function(s){this.parser=s,this.matchRegExp=/^\\\\define\\s+([^(\\s]+)\\(\\s*([^)]*)\\)(\\s*\\r?\\n)?/gm},exports.parse=function(){this.parser.pos=this.matchRegExp.lastIndex;var s=this.match[2],e=[];if(''!==s)for(var r=/\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))?/gm,t=r.exec(s);t;){var a={name:t[1]},i=t[2]||t[3]||t[4]||t[5]||t[6];i&&(a.default=i),e.push(a),t=r.exec(s)}this.match[3]?n=/(\\r?\\n\\\\end[^\\S\\n\\r]*(?:$|\\r?\\n))/gm:(n=/($|\\r?\\n)/gm,this.parser.pos=$tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos)),n.lastIndex=this.parser.pos;var p,n=n.exec(this.parser.source);return n?(p=this.parser.source.substring(this.parser.pos,n.index),this.parser.pos=n.index+n[0].length):p='',[{type:'set',attributes:{name:{type:'string',value:this.match[1]},value:{type:'string',value:p}},children:[],params:e,isMacroDefinition:!0}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/prettyextlink.js":{"text":"!function(){'use strict';exports.name='prettyextlink',exports.types={inline:!0},exports.init=function(t){this.parser=t},exports.findNextMatch=function(t){return this.nextLink=this.findNextLink(this.parser.source,t),this.nextLink?this.nextLink.start:void 0},exports.parse=function(){return this.parser.pos=this.nextLink.end,[this.nextLink]},exports.findNextLink=function(t,e){var n=/(\\[ext\\[)/g;n.lastIndex=e;for(var r=n.exec(t);r;){var i=this.parseLink(t,r.index);if(i)return i;n.lastIndex=r.index+1,r=n.exec(t)}return null},exports.parseLink=function(t,e){var n={type:'text'},r={type:'element',tag:'a',start:e,attributes:{class:{type:'string',value:'tc-tiddlylink-external'}},children:[n]};if(e=$tw.utils.skipWhiteSpace(t,e),!(a=$tw.utils.parseTokenString(t,e,'[ext[')))return null;e=a.end;var i=t.indexOf(']]',e);if(-1===i)return null;var s,a=t.indexOf('|',e);return(-1===a||i<a)&&(a=null),a?(s=t.substring(a+1,i).trim(),n.text=t.substring(e,a).trim()):(s=t.substring(e,i).trim(),n.text=s),r.attributes.href={type:'string',value:s},r.attributes.target={type:'string',value:'_blank'},r.attributes.rel={type:'string',value:'noopener noreferrer'},r.end=i+2,r}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/prettylink.js":{"text":"!function(){'use strict';exports.name='prettylink',exports.types={inline:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/\\[\\[(.*?)(?:\\|(.*?))?\\]\\]/gm},exports.parse=function(){this.parser.pos=this.matchRegExp.lastIndex;var t=this.match[1],e=this.match[2]||t;return $tw.utils.isLinkExternal(e)?[{type:'element',tag:'a',attributes:{href:{type:'string',value:e},class:{type:'string',value:'tc-tiddlylink-external'},target:{type:'string',value:'_blank'},rel:{type:'string',value:'noopener noreferrer'}},children:[{type:'text',text:t}]}]:[{type:'link',attributes:{to:{type:'string',value:e}},children:[{type:'text',text:t}]}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/quoteblock.js":{"text":"!function(){'use strict';exports.name='quoteblock',exports.types={block:!0},exports.init=function(e){this.parser=e,this.matchRegExp=/(<<<+)/gm},exports.parse=function(){var e=['tc-quote'],t='^'+this.match[1]+'(?!<)';this.parser.pos=this.matchRegExp.lastIndex,e.push.apply(e,this.parser.parseClasses()),this.parser.skipWhitespace({treatNewlinesAsNonWhitespace:!0});var s=this.parser.parseInlineRun(/(\\r?\\n)/gm),t=this.parser.parseBlocks(t);return 0<s.length&&t.unshift({type:'element',tag:'cite',children:s}),this.parser.skipWhitespace({treatNewlinesAsNonWhitespace:!0}),0<(s=this.parser.parseInlineRun(/(\\r?\\n)/gm)).length&&t.push({type:'element',tag:'cite',children:s}),[{type:'element',tag:'blockquote',attributes:{class:{type:'string',value:e.join(' ')}},children:t}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/rules.js":{"text":"!function(){'use strict';exports.name='rules',exports.types={pragma:!0},exports.init=function(s){this.parser=s,this.matchRegExp=/^\\\\rules[^\\S\\n]/gm},exports.parse=function(){this.parser.pos=this.matchRegExp.lastIndex;var s=/[^\\S\\n]*(\\S+)|(\\r?\\n)/gm,e=[];s.lastIndex=this.parser.pos;for(var r=s.exec(this.parser.source);r&&r.index===this.parser.pos&&(this.parser.pos=s.lastIndex,!r[2]);)r[1]&&e.push(r[1]),r=s.exec(this.parser.source);return 0<e.length&&this.parser.amendRules(e[0],e.slice(1)),[]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/styleblock.js":{"text":"!function(){'use strict';exports.name='styleblock',exports.types={block:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(?:\\.([^\\r\\n\\s]+))?\\r?\\n/gm},exports.parse=function(){for(var t=[],s=[];this.match[1]&&s.push(this.match[1]),this.match[2]&&t.push(this.match[2].split('.').join(' ')),this.parser.pos=this.matchRegExp.lastIndex,this.match=this.matchRegExp.exec(this.parser.source),this.match&&this.match.index===this.parser.pos;);for(var e=this.parser.parseBlocks('^@@(?:\\\\r?\\\\n)?'),r=0;r<e.length;r++)0<t.length&&$tw.utils.addClassToParseTreeNode(e[r],t.join(' ')),0<s.length&&$tw.utils.addAttributeToParseTreeNode(e[r],'style',s.join(''));return e}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/styleinline.js":{"text":"!function(){'use strict';exports.name='styleinline',exports.types={inline:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(\\.(?:[^\\r\\n\\s]+)\\s+)?/gm},exports.parse=function(){var t=this.match[1],e=this.match[2]?this.match[2].split('.').join(' '):void 0;this.parser.pos=this.matchRegExp.lastIndex;var s={type:'element',tag:'span',attributes:{class:{type:'string',value:'tc-inline-style'}},children:this.parser.parseInlineRun(/@@/g,{eatTerminator:!0})};return e&&$tw.utils.addClassToParseTreeNode(s,e),t&&$tw.utils.addAttributeToParseTreeNode(s,'style',t),[s]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/syslink.js":{"text":"!function(){'use strict';exports.name='syslink',exports.types={inline:!0},exports.init=function(t){this.parser=t,this.matchRegExp=new RegExp('~?\\\\$:\\\\/['+$tw.config.textPrimitives.anyLetter.substr(1,$tw.config.textPrimitives.anyLetter.length-2)+'/._-]+','mg')},exports.parse=function(){var t=this.match[0];return this.parser.pos=this.matchRegExp.lastIndex,'~'===t.substr(0,1)?[{type:'text',text:t.substr(1)}]:[{type:'link',attributes:{to:{type:'string',value:t}},children:[{type:'text',text:t}]}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/table.js":{"text":"!function(){'use strict';function h(e){var t,r=/(?:\\|([^\\n\\|]*)\\|)|(\\|[fhck]?\\r?(?:\\n|$))/gm,s=/((?:\\x20*)\\|)/gm,a=[],i=0,o=1;r.lastIndex=this.parser.pos;for(var p=r.exec(this.parser.source);p&&p.index===this.parser.pos;){if('~'===p[1]){var n=e[i];n&&(n.rowSpanCount++,$tw.utils.addAttributeToParseTreeNode(n.element,'rowspan',n.rowSpanCount),h=$tw.utils.getAttributeValueFromParseTreeNode(n.element,'valign','center'),$tw.utils.addAttributeToParseTreeNode(n.element,'valign',h),1<o&&($tw.utils.addAttributeToParseTreeNode(n.element,'colspan',o),o=1)),this.parser.pos=r.lastIndex-1}else if('>'===p[1])o++,this.parser.pos=r.lastIndex-1;else if('<'===p[1]&&t)o=1+$tw.utils.getAttributeValueFromParseTreeNode(t,'colspan',1),$tw.utils.addAttributeToParseTreeNode(t,'colspan',o),o=1,this.parser.pos=r.lastIndex-1;else{if(p[2]){t&&1<o&&(t.attributes&&t.attributes&&t.attributes.colspan?o+=t.attributes.colspan.value:--o,$tw.utils.addAttributeToParseTreeNode(t,'colspan',o)),this.parser.pos=r.lastIndex-1;break}this.parser.pos++;var l=!1,h=null;0===this.parser.source.substr(this.parser.pos).search(/^\\^([^\\^]|\\^\\^)/)?h='top':0===this.parser.source.substr(this.parser.pos).search(/^,([^,]|,,)/)&&(h='bottom'),h&&this.parser.pos++;for(var d=this.parser.source.substr(this.parser.pos,1);' '===d;)l=!0,this.parser.pos++,d=this.parser.source.substr(this.parser.pos,1);n='!'===d?(this.parser.pos++,{type:'element',tag:'th',children:[]}):{type:'element',tag:'td',children:[]},a.push(n),t=n,e[i]={rowSpanCount:1,element:n},1<o&&($tw.utils.addAttributeToParseTreeNode(n,'colspan',o),o=1),n.children=this.parser.parseInlineRun(s,{eatTerminator:!0}),h&&$tw.utils.addAttributeToParseTreeNode(n,'valign',h),' '===this.parser.source.substr(this.parser.pos-2,1)?$tw.utils.addAttributeToParseTreeNode(n,'align',l?'center':'left'):l&&$tw.utils.addAttributeToParseTreeNode(n,'align','right'),this.parser.pos--}i++,r.lastIndex=this.parser.pos,p=r.exec(this.parser.source)}return a}exports.name='table',exports.types={block:!0},exports.init=function(e){this.parser=e,this.matchRegExp=/^\\|(?:[^\\n]*)\\|(?:[fhck]?)\\r?(?:\\n|$)/gm},exports.parse=function(){var e,t,r={c:'caption',h:'thead','':'tbody',f:'tfoot'},s={type:'element',tag:'table',children:[]},a=/^\\|([^\\n]*)\\|([fhck]?)\\r?(?:\\n|$)/gm,i=/(\\|(?:[fhck]?)\\r?(?:\\n|$))/gm,o=[],p=0;a.lastIndex=this.parser.pos;for(var n=a.exec(this.parser.source);n&&n.index===this.parser.pos;){var l=n[2];'k'===l?($tw.utils.addClassToParseTreeNode(s,n[1]),this.parser.pos=n.index+n[0].length):(l!==e&&(t={type:'element',tag:r[l],children:[]},s.children.push(t),e=l),'c'===e?(this.parser.pos++,1!==s.children.length&&(s.children.pop(),s.children.splice(0,0,t)),t.children=this.parser.parseInlineRun(i,{eatTerminator:!0})):(l={type:'element',tag:'tr',children:[]},$tw.utils.addClassToParseTreeNode(l,p%2?'oddRow':'evenRow'),t.children.push(l),l.children=h.call(this,o),this.parser.pos=n.index+n[0].length,p++)),n=a.exec(this.parser.source)}return[s]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/transcludeblock.js":{"text":"!function(){'use strict';exports.name='transcludeblock',exports.types={block:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}(?:\\r?\\n|$)/gm},exports.parse=function(){this.parser.pos=this.matchRegExp.lastIndex;var t,e,i,s,r=$tw.utils.trim(this.match[2]),a=$tw.utils.trim(this.match[1]),l={type:'transclude',attributes:{},isBlock:!0};return a&&(t=(s=$tw.utils.parseTextReference(a)).title,e=s.field,i=s.index,s={type:'tiddler',attributes:{tiddler:{type:'string',value:t}},isBlock:!0,children:[l]}),r?(l.attributes.tiddler={type:'string',value:r},a?[s]:[l]):a?(l.attributes.tiddler={type:'string',value:t},e&&(l.attributes.field={type:'string',value:e}),i&&(l.attributes.index={type:'string',value:i}),[s]):[l]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/transcludeinline.js":{"text":"!function(){'use strict';exports.name='transcludeinline',exports.types={inline:!0},exports.init=function(t){this.parser=t,this.matchRegExp=/\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}/gm},exports.parse=function(){this.parser.pos=this.matchRegExp.lastIndex;var t,e,i,r,s=$tw.utils.trim(this.match[2]),n=$tw.utils.trim(this.match[1]),a={type:'transclude',attributes:{}};return n&&(t=(r=$tw.utils.parseTextReference(n)).title,e=r.field,i=r.index,r={type:'tiddler',attributes:{tiddler:{type:'string',value:t}},children:[a]}),s?(a.attributes.tiddler={type:'string',value:s},n?[r]:[a]):n?(a.attributes.tiddler={type:'string',value:t},e&&(a.attributes.field={type:'string',value:e}),i&&(a.attributes.index={type:'string',value:i}),[r]):[a]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/typedblock.js":{"text":"!function(){'use strict';require('$:/core/modules/widgets/widget.js'),exports.name='typedblock',exports.types={block:!0},exports.init=function(e){this.parser=e,this.matchRegExp=/\\$\\$\\$([^ >\\r\\n]*)(?: *> *([^ \\r\\n]+))?\\r?\\n/gm},exports.parse=function(){var e=/\\r?\\n\\$\\$\\$\\r?(?:\\n|$)/gm,t=this.match[1],r=this.match[2];this.parser.pos=this.matchRegExp.lastIndex,e.lastIndex=this.parser.pos;var s,i=e.exec(this.parser.source);i?(s=this.parser.source.substring(this.parser.pos,i.index),this.parser.pos=i.index+i[0].length):(s=this.parser.source.substr(this.parser.pos),this.parser.pos=this.parser.sourceLength);e=this.parser.wiki.parseText(t,s,{defaultType:'text/plain'});if(r){i=this.parser.wiki.makeWidget(e),t=$tw.fakeDocument.createElement('div');return i.render(t,null),[{type:'element',tag:'pre',children:[{type:'text',text:s='text/html'===r?t.innerHTML:t.textContent}]}]}return e.tree}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/whitespace.js":{"text":"!function(){'use strict';exports.name='whitespace',exports.types={pragma:!0},exports.init=function(s){this.parser=s,this.matchRegExp=/^\\\\whitespace[^\\S\\n]/gm},exports.parse=function(){var e=this;this.parser.pos=this.matchRegExp.lastIndex;var s=/[^\\S\\n]*(\\S+)|(\\r?\\n)/gm,r=[];s.lastIndex=this.parser.pos;for(var t=s.exec(this.parser.source);t&&t.index===this.parser.pos&&(this.parser.pos=s.lastIndex,!t[2]);)t[1]&&r.push(t[1]),t=s.exec(this.parser.source);return $tw.utils.each(r,function(s){switch(s){case'trim':e.parser.configTrimWhiteSpace=!0;break;case'notrim':e.parser.configTrimWhiteSpace=!1}}),[]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/wikilink.js":{"text":"!function(){'use strict';exports.name='wikilink',exports.types={inline:!0},exports.init=function(t){this.parser=t,this.matchRegExp=new RegExp($tw.config.textPrimitives.unWikiLink+'?'+$tw.config.textPrimitives.wikiLink,'mg')},exports.parse=function(){var t=this.match[0];if(this.parser.pos=this.matchRegExp.lastIndex,t.substr(0,1)===$tw.config.textPrimitives.unWikiLink)return[{type:'text',text:t.substr(1)}];if(0<this.match.index){var i=new RegExp($tw.config.textPrimitives.blockPrefixLetters,'mg');i.lastIndex=this.match.index-1;i=i.exec(this.parser.source);if(i&&i.index===this.match.index-1)return[{type:'text',text:t}]}return[{type:'link',attributes:{to:{type:'string',value:t}},children:[{type:'text',text:t}]}]}}();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/wikiparser.js":{"text":"!function(){'use strict';var i=function(s,e,t){this.wiki=t.wiki;$tw.browser&&''===(e||'')&&t._canonical_uri&&(this.loadRemoteTiddler(t._canonical_uri),e=$tw.language.getRawString('LazyLoadingWarning')),this.pragmaRuleClasses||(i.prototype.pragmaRuleClasses=$tw.modules.createClassesFromModules('wikirule','pragma',$tw.WikiRuleBase),this.setupRules(i.prototype.pragmaRuleClasses,'$:/config/WikiParserRules/Pragmas/')),this.blockRuleClasses||(i.prototype.blockRuleClasses=$tw.modules.createClassesFromModules('wikirule','block',$tw.WikiRuleBase),this.setupRules(i.prototype.blockRuleClasses,'$:/config/WikiParserRules/Block/')),this.inlineRuleClasses||(i.prototype.inlineRuleClasses=$tw.modules.createClassesFromModules('wikirule','inline',$tw.WikiRuleBase),this.setupRules(i.prototype.inlineRuleClasses,'$:/config/WikiParserRules/Inline/')),this.type=s||'text/vnd.tiddlywiki',this.source=e||'',this.sourceLength=this.source.length,this.configTrimWhiteSpace=!1,this.pos=0,this.pragmaRules=this.instantiateRules(this.pragmaRuleClasses,'pragma',0),this.blockRules=this.instantiateRules(this.blockRuleClasses,'block',0),this.inlineRules=this.instantiateRules(this.inlineRuleClasses,'inline',0),this.tree=[];e=this.parsePragmas();t.parseAsInline?e.push.apply(e,this.parseInlineRun()):e.push.apply(e,this.parseBlocks())};i.prototype.loadRemoteTiddler=function(t){var i=this;$tw.utils.httpRequest({url:t,type:'GET',callback:function(s,e){s||(e=i.wiki.deserializeTiddlers('.tid',e,i.wiki.getCreationFields()),$tw.utils.each(e,function(s){s._canonical_uri=t}),e&&i.wiki.addTiddlers(e))}})},i.prototype.setupRules=function(t,i){var n=this;$tw.safemode||$tw.utils.each(t,function(s,e){'enable'!==n.wiki.getTiddlerText(i+e,'enable')&&delete t[e]})},i.prototype.instantiateRules=function(s,t,i){var n=[],r=this;return $tw.utils.each(s,function(s){var e=new s(r);e.is={},e.is[t]=!0,e.init(r);s=e.findNextMatch(i);void 0!==s&&n.push({rule:e,matchIndex:s})}),n},i.prototype.skipWhitespace=function(s){var e=(s=s||{}).treatNewlinesAsNonWhitespace?/([^\\S\\n]+)/gm:/(\\s+)/gm;e.lastIndex=this.pos;s=e.exec(this.source);s&&s.index===this.pos&&(this.pos=e.lastIndex)},i.prototype.findNextMatch=function(s,e){for(var t,i=this.sourceLength,n=0;n<s.length;n++){var r=s[n];void 0!==r.matchIndex&&r.matchIndex<e&&(r.matchIndex=r.rule.findNextMatch(e)),void 0!==r.matchIndex&&r.matchIndex<=i&&(i=(t=r).matchIndex)}return t},i.prototype.parsePragmas=function(){for(var s=this.tree;this.skipWhitespace(),!(this.pos>=this.sourceLength);){var e=this.findNextMatch(this.pragmaRules,this.pos);if(!e||e.matchIndex!==this.pos)break;e=e.rule.parse();0<e.length&&(s.push.apply(s,e),e[0].children=[],s=e[0].children)}return s},i.prototype.parseBlock=function(s){var e=s?new RegExp('('+s+'|\\\\r?\\\\n\\\\r?\\\\n)','mg'):/(\\r?\\n\\r?\\n)/gm;if(this.skipWhitespace(),this.pos>=this.sourceLength)return[];s=this.findNextMatch(this.blockRules,this.pos);return s&&s.matchIndex===this.pos?s.rule.parse():[{type:'element',tag:'p',children:this.parseInlineRun(e)}]},i.prototype.parseBlocks=function(s){return s?this.parseBlocksTerminated(s):this.parseBlocksUnterminated()},i.prototype.parseBlocksUnterminated=function(){for(var s=[];this.pos<this.sourceLength;)s.push.apply(s,this.parseBlock());return s},i.prototype.parseBlocksTerminated=function(s){var e=new RegExp('('+s+')','mg'),t=[];this.skipWhitespace(),e.lastIndex=this.pos;for(var i=e.exec(this.source);this.pos<this.sourceLength&&(!i||i.index!==this.pos);){var n=this.parseBlock(s);t.push.apply(t,n),this.skipWhitespace(),e.lastIndex=this.pos,i=e.exec(this.source)}return i&&i.index===this.pos&&(this.pos=i.index+i[0].length),t},i.prototype.parseInlineRun=function(s,e){return s?this.parseInlineRunTerminated(s,e):this.parseInlineRunUnterminated(e)},i.prototype.parseInlineRunUnterminated=function(s){for(var e=[],t=this.findNextMatch(this.inlineRules,this.pos);this.pos<this.sourceLength&&t;)t.matchIndex>this.pos&&(this.pushTextWidget(e,this.source.substring(this.pos,t.matchIndex)),this.pos=t.matchIndex),e.push.apply(e,t.rule.parse()),t=this.findNextMatch(this.inlineRules,this.pos);return this.pos<this.sourceLength&&this.pushTextWidget(e,this.source.substr(this.pos)),this.pos=this.sourceLength,e},i.prototype.parseInlineRunTerminated=function(s,e){e=e||{};var t=[];s.lastIndex=this.pos;for(var i=s.exec(this.source),n=this.findNextMatch(this.inlineRules,this.pos);this.pos<this.sourceLength&&(i||n);){if(i&&(!n||n.matchIndex>=i.index))return i.index>this.pos&&this.pushTextWidget(t,this.source.substring(this.pos,i.index)),this.pos=i.index,e.eatTerminator&&(this.pos+=i[0].length),t;n&&(n.matchIndex>this.pos&&(this.pushTextWidget(t,this.source.substring(this.pos,n.matchIndex)),this.pos=n.matchIndex),t.push.apply(t,n.rule.parse()),n=this.findNextMatch(this.inlineRules,this.pos),s.lastIndex=this.pos,i=s.exec(this.source))}return this.pos<this.sourceLength&&this.pushTextWidget(t,this.source.substr(this.pos)),this.pos=this.sourceLength,t},i.prototype.pushTextWidget=function(s,e){this.configTrimWhiteSpace&&(e=$tw.utils.trim(e)),e&&s.push({type:'text',text:e})},i.prototype.parseClasses=function(){var s=/\\.([^\\s\\.]+)/gm,e=[];s.lastIndex=this.pos;for(var t=s.exec(this.source);t&&t.index===this.pos;)this.pos=t.index+t[0].length,e.push(t[1]),t=s.exec(this.source);return e},i.prototype.amendRules=function(s,t){var i;if(t=t||[],'only'===s)i=!0;else{if('except'!==s)return;i=!1}s=function(s){for(var e=s.length-1;0<=e;e--)-1===t.indexOf(s[e].rule.name)===i&&s.splice(e,1)};s(this.pragmaRules),s(this.blockRules),s(this.inlineRules)},exports['text/vnd.tiddlywiki']=i}();","type":"application/javascript","module-type":"parser"},"$:/core/modules/parsers/wikiparser/rules/wikirulebase.js":{"text":"!function(){'use strict';function t(){}t.prototype.init=function(t){this.parser=t},t.prototype.findNextMatch=function(t){return this.matchRegExp.lastIndex=t,this.match=this.matchRegExp.exec(this.parser.source),this.match?this.match.index:void 0},exports.WikiRuleBase=t}();","type":"application/javascript","module-type":"global"},"$:/core/modules/pluginswitcher.js":{"text":"!function(){'use strict';function i(i){this.wiki=i.wiki,this.pluginType=i.pluginType,this.controllerTitle=i.controllerTitle,this.defaultPlugins=i.defaultPlugins||[],this.onSwitch=i.onSwitch,this.switchPlugins();var t=this;this.wiki.addEventListener('change',function(i){$tw.utils.hop(i,t.controllerTitle)&&t.switchPlugins()})}i.prototype.switchPlugins=function(){for(var i=this.wiki.getTiddlerText(this.controllerTitle),t=0;!this.wiki.getTiddler(i)&&t<this.defaultPlugins.length;)i=this.defaultPlugins[t++];var e=[],n=this,s=function(i){var t=n.wiki.getTiddler(i);t&&t.isPlugin()&&-1===e.indexOf(i)&&(e.push(i),JSON.parse(n.wiki.getTiddlerText(i)),t=$tw.utils.parseStringArray(t.fields.dependents||''),$tw.utils.each(t,function(i){s(i)}))};s(i);$tw.wiki.readPluginInfo(e),$tw.wiki.unregisterPluginTiddlers(this.pluginType),$tw.wiki.registerPluginTiddlers(this.pluginType,e);$tw.wiki.unpackPluginTiddlers(),this.onSwitch&&this.onSwitch(e)},exports.PluginSwitcher=i}();","type":"application/javascript","module-type":"global"},"$:/core/modules/saver-handler.js":{"text":"!function(){'use strict';function t(t){var n=this;this.wiki=t.wiki,this.dirtyTracking=t.dirtyTracking,this.preloadDirty=t.preloadDirty||[],this.pendingAutoSave=!1,this.logger=new $tw.utils.Logger('saver-handler'),$tw.browser&&this.initSavers(),$tw.browser&&this.dirtyTracking&&(this.filterFn=this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter)),t=n.filterFn.call(n.wiki,function(e){$tw.utils.each(n.preloadDirty,function(t){var i=n.wiki.getTiddler(t);e(i,t)})}),this.numChanges=t.length,this.wiki.addEventListener('change',function(t){var i=n.filterFn.call(n.wiki,function(a){$tw.utils.each(t,function(t,i){var e=n.wiki.getTiddler(i);a(e,i)})});n.numChanges+=i.length,n.updateDirtyStatus(),n.pendingAutoSave&&0===n.wiki.getSizeOfTiddlerEventQueue()&&(0<n.numChanges&&n.saveWiki({method:'autosave',downloadType:'text/plain'}),n.pendingAutoSave=!1)}),$tw.rootWidget.addEventListener('tm-auto-save-wiki',function(t){0===n.wiki.getSizeOfTiddlerEventQueue()?0<n.numChanges&&n.saveWiki({method:'autosave',downloadType:'text/plain'}):n.pendingAutoSave=!0}),$tw.addUnloadTask(function(t){var i;return n.isDirty()&&(i=$tw.language.getString('UnsavedChangesWarning'),t.returnValue=i),i})),$tw.browser&&($tw.rootWidget.addEventListener('tm-save-wiki',function(t){n.saveWiki({template:t.param,downloadType:'text/plain',variables:t.paramObject})}),$tw.rootWidget.addEventListener('tm-download-file',function(t){n.saveWiki({method:'download',template:t.param,downloadType:'text/plain',variables:t.paramObject})}))}t.prototype.titleSyncFilter='$:/config/SaverFilter',t.prototype.titleAutoSave='$:/config/AutoSave',t.prototype.titleSavedNotification='$:/language/Notifications/Save/Done',t.prototype.initSavers=function(t){t=t||'saver',this.savers=[];var e=this;$tw.modules.forEachModuleOfType(t,function(t,i){i.canSave(e)&&e.savers.push(i.create(e.wiki))}),this.savers.sort(function(t,i){return t.info.priority<i.info.priority?-1:t.info.priority>i.info.priority?1:0})},t.prototype.saveWiki=function(i){var e=this,a=(i=i||{}).method||'save';if('autosave'===a&&($tw.config.disableAutoSave||'yes'!==this.wiki.getTiddlerText(this.titleAutoSave,'yes')))return!1;for(var t=i.variables||{},n=i.template||'$:/core/save/all',r=i.downloadType||'text/plain',o=this.wiki.renderTiddler(r,n,i),s=function(t){t?alert($tw.language.getString('Error/WhileSaving')+':\\n\\n'+t):('download'!==a&&(e.numChanges=0,e.updateDirtyStatus()),$tw.notifier.display(e.titleSavedNotification),i.callback&&i.callback())},l=this.savers.length-1;0<=l;l--){var d=this.savers[l];if(-1!==d.info.capabilities.indexOf(a)&&d.save(o,a,s,{variables:{filename:t.filename}}))return this.logger.log('Saving wiki with method',a,'through saver',d.info.name),!0}return!1},t.prototype.isDirty=function(){return 0<this.numChanges},t.prototype.updateDirtyStatus=function(){var i=this;$tw.browser&&($tw.utils.toggleClass(document.body,'tc-dirty',this.isDirty()),$tw.utils.each($tw.windows,function(t){$tw.utils.toggleClass(t.document.body,'tc-dirty',i.isDirty())}))},exports.SaverHandler=t}();","type":"application/javascript","module-type":"global"},"$:/core/modules/savers/andtidwiki.js":{"text":"!function(){'use strict';function t(e){}t.prototype.save=function(t,e,i,n){var o=n&&n.variables?n.variables.filename:null;if('download'===e)if(window.twi.saveDownload)try{window.twi.saveDownload(t,o)}catch(e){'Method not found'===e.message&&window.twi.saveDownload(t)}else{var a=document.createElement('a');a.setAttribute('href','data:text/plain,'+encodeURIComponent(t)),o&&a.setAttribute('download',o),document.body.appendChild(a),a.click(),document.body.removeChild(a)}else window.twi.saveWiki?window.twi.saveWiki(t):(0===(e=decodeURIComponent(document.location.toString().split('#')[0])).indexOf('file://')&&(e=e.substr(7)),-1!==(a=e.indexOf('?'))&&(e=e.substr(0,a)),-1!==(a=e.indexOf('#'))&&(e=e.substr(0,a)),window.twi.saveFile(e,t));return i(null),!0},t.prototype.info={name:'andtidwiki',priority:1600,capabilities:['save','autosave','download']},exports.canSave=function(e){return!!window.twi&&!!window.twi.saveFile},exports.create=function(e){return new t}}();","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/beaker.js":{"text":"!function(){'use strict';function e(t){this.wiki=t}e.prototype.save=function(e,t,n){var i=new DatArchive(''+window.location),o=(''+window.location.pathname).split('#')[0];return i.stat(o).then(function(t){t.isDirectory()&&(o+='/index.html'),i.writeFile(o,e,'utf8').then(function(t){n(null)},function(t){n('Beaker Saver Write Error: '+t)})},function(t){n('Beaker Saver Stat Error: '+t)}),!0},e.prototype.info={name:'beaker',priority:3e3,capabilities:['save','autosave']},exports.canSave=function(t){return!!window.DatArchive&&'dat:'===location.protocol},exports.create=function(t){return new e(t)}}();","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/custom.js":{"text":"!function(){'use strict';function t(t){try{return t&&t.$tw&&t.$tw.customSaver}catch(t){return console.log({msg:'custom saver is disabled',reason:t}),null}}function e(t){}var r=t(window)||t(window.parent)||{};e.prototype.save=function(t,e,n){return r.save(t,e,n)},e.prototype.info={name:'custom',priority:r.priority||4e3,capabilities:['save','autosave']},exports.canSave=function(t){return!!r.save},exports.create=function(t){return new e}}();","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/download.js":{"text":"!function(){'use strict';function t(e){}t.prototype.save=function(e,t,o,n){var a=(n=n||{}).variables.filename;a||-1!==(r=document.location.pathname.lastIndexOf('/'))&&(a=decodeURIComponent(document.location.pathname.substr(r+1))),a=a||'tiddlywiki.html';var r,n=document.createElement('a');return void 0!==Blob?(r=new Blob([e],{type:'text/html'}),n.setAttribute('href',URL.createObjectURL(r))):n.setAttribute('href','data:text/html,'+encodeURIComponent(e)),n.setAttribute('download',a),document.body.appendChild(n),n.click(),document.body.removeChild(n),o(null),!0},t.prototype.info={name:'download',priority:100},Object.defineProperty(t.prototype.info,'capabilities',{get:function(){var e=['save','download'];return'yes'===($tw.wiki.getTextReference('$:/config/DownloadSaver/AutoSave')||'').toLowerCase()&&e.push('autosave'),e}}),exports.canSave=function(e){return void 0!==document.createElement('a').download},exports.create=function(e){return new t}}();","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/fsosaver.js":{"text":"!function(){'use strict';function e(t){}e.prototype.save=function(t,e,n){var i=unescape(document.location.pathname);if(/^\\/[A-Z]\\:\\\\[^\\\\]+/i.test(i))i=i.substr(1);else{if(''===document.location.hostname||!/^\\/\\\\[^\\\\]+\\\\[^\\\\]+/i.test(i))return!1;i=i.substr(1),i='\\\\\\\\'+document.location.hostname+i}i=new ActiveXObject('Scripting.FileSystemObject').OpenTextFile(i,2,-1,-1);return i.Write(t),i.Close(),n(null),!0},e.prototype.info={name:'FSOSaver',priority:120,capabilities:['save','autosave']},exports.canSave=function(t){try{return'file:'===window.location.protocol&&!!new ActiveXObject('Scripting.FileSystemObject')}catch(t){return!1}},exports.create=function(t){return new e}}();","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/gitea.js":{"text":"!function(){'use strict';function e(t){this.wiki=t}e.prototype.save=function(r,t,o){var u=this,e=this.wiki.getTiddlerText('$:/Gitea/Username'),i=$tw.utils.getPassword('Gitea'),c=this.wiki.getTiddlerText('$:/Gitea/Repo'),a=this.wiki.getTiddlerText('$:/Gitea/Path',''),l=this.wiki.getTiddlerText('$:/Gitea/Filename'),p=this.wiki.getTiddlerText('$:/Gitea/Branch')||'master',h=this.wiki.getTiddlerText('$:/Gitea/ServerURL')||'https://gitea',d={Accept:'application/json','Content-Type':'application/json;charset=UTF-8',Authorization:'token '+i};if(!(e&&i&&c&&l))return!1;'/'!==a.substring(0,1)&&(a='/'+a),'/'!==a.substring(a.length-1)&&(a+='/');var g=h+'/repos/'+c+'/contents'+a;return $tw.utils.httpRequest({url:g,type:'GET',headers:d,data:{ref:p},callback:function(t,e,i){var a='';if(t&&404!==i.status)return o(t);var s=!0;404!==i.status&&(e=JSON.parse(e),$tw.utils.each(e,function(t){t.name===l&&(a=t.sha)}),''===a&&(s=!1));var n={message:$tw.language.getRawString('ControlPanel/Saving/GitService/CommitMessage'),content:$tw.utils.base64Encode(r),sha:a};$tw.utils.httpRequest({url:h+'/repos/'+c+'/branches/'+p,type:'GET',headers:d,callback:function(t,e,i){404===i.status?o('Please ensure the branch in the Gitea repo exists'):(n.branch=p,u.upload(g+l,s?'PUT':'POST',d,n,o))}})}}),!0},e.prototype.upload=function(t,e,i,a,s){$tw.utils.httpRequest({url:t,type:e,headers:i,data:JSON.stringify(a),callback:function(t,e,i){if(t)return s(t);JSON.parse(e);s(null)}})},e.prototype.info={name:'Gitea',priority:2e3,capabilities:['save','autosave']},exports.canSave=function(t){return!0},exports.create=function(t){return new e(t)}}();","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/github.js":{"text":"!function(){'use strict';function e(t){this.wiki=t}e.prototype.save=function(r,t,s){var e=this.wiki.getTiddlerText('$:/GitHub/Username'),i=$tw.utils.getPassword('github'),a=this.wiki.getTiddlerText('$:/GitHub/Repo'),n=this.wiki.getTiddlerText('$:/GitHub/Path',''),u=this.wiki.getTiddlerText('$:/GitHub/Filename'),o=this.wiki.getTiddlerText('$:/GitHub/Branch')||'main',c=this.wiki.getTiddlerText('$:/GitHub/ServerURL')||'https://api.github.com',l={Accept:'application/vnd.github.v3+json','Content-Type':'application/json;charset=UTF-8',Authorization:'Basic '+window.btoa(e+':'+i),'If-None-Match':''};if(!(e&&i&&a&&u))return!1;'/'!==n.substring(0,1)&&(n='/'+n),'/'!==n.substring(n.length-1)&&(n+='/');var h=c+'/repos/'+a+'/contents'+n;return $tw.utils.httpRequest({url:h,type:'GET',headers:l,data:{ref:o},callback:function(t,e,i){var a='';if(t&&404!==i.status)return s(t);404!==i.status&&(n=JSON.parse(e),$tw.utils.each(n,function(t){t.name===u&&(a=t.sha)}));var n={message:$tw.language.getRawString('ControlPanel/Saving/GitService/CommitMessage'),content:$tw.utils.base64Encode(r),branch:o,sha:a};$tw.utils.httpRequest({url:h+u,type:'PUT',headers:l,data:JSON.stringify(n),callback:function(t,e,i){if(t)return s(t);JSON.parse(e);s(null)}})}}),!0},e.prototype.info={name:'github',priority:2e3,capabilities:['save','autosave']},exports.canSave=function(t){return!0},exports.create=function(t){return new e(t)}}();","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/gitlab.js":{"text":"!function(){'use strict';function e(t){this.wiki=t}e.prototype.save=function(s,t,o){var e=this.wiki.getTiddlerText('$:/GitLab/Username'),i=$tw.utils.getPassword('gitlab'),a=this.wiki.getTiddlerText('$:/GitLab/Repo'),c=this.wiki.getTiddlerText('$:/GitLab/Path',''),l=this.wiki.getTiddlerText('$:/GitLab/Filename'),p=this.wiki.getTiddlerText('$:/GitLab/Branch')||'master',n=this.wiki.getTiddlerText('$:/GitLab/ServerURL')||'https://gitlab.com/api/v4',u={'Content-Type':'application/json;charset=UTF-8','Private-Token':i};if(!(e&&i&&a&&l))return!1;'/'!==c.substring(0,1)&&(c='/'+c),'/'!==c.substring(c.length-1)&&(c+='/');var g=n+'/projects/'+encodeURIComponent(a)+'/repository/';return $tw.utils.httpRequest({url:g+'tree/?path='+encodeURIComponent(c.replace(/^\\/+|\\/$/g,''))+'&branch='+encodeURIComponent(p.replace(/^\\/+|\\/$/g,'')),type:'GET',headers:u,callback:function(t,e,i){var a='';if(t&&404!==i.status)return o(t);var n='POST';404!==i.status&&(r=JSON.parse(e),$tw.utils.each(r,function(t){t.name===l&&(n='PUT',a=t.sha)}));var r={commit_message:$tw.language.getRawString('ControlPanel/Saving/GitService/CommitMessage'),content:s,branch:p,sha:a};$tw.utils.httpRequest({url:g+'files/'+encodeURIComponent(c.replace(/^\\/+/,'')+l),type:n,headers:u,data:JSON.stringify(r),callback:function(t,e,i){if(t)return o(t);JSON.parse(e);o(null)}})}}),!0},e.prototype.info={name:'gitlab',priority:2e3,capabilities:['save','autosave']},exports.canSave=function(t){return!0},exports.create=function(t){return new e(t)}}();","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/hyperdrive.js":{"text":"!function(){'use strict';function r(e){this.wiki=e}r.prototype.save=function(r,e,t){var i=beaker.hyperdrive.drive(''+window.location),n=(''+window.location.pathname).split('#')[0];return i.stat(n).then(function(e){e.isDirectory()&&(n+='/index.html'),i.writeFile(n,r,'utf8').then(function(e){t(null)},function(e){t('Hyperdrive Saver Write Error: '+e)})},function(e){t('Hyperdrive Saver Stat Error: '+e)}),!0},r.prototype.info={name:'beaker-1.x',priority:3e3,capabilities:['save','autosave']},exports.canSave=function(e){return!!window.beaker&&!!beaker.hyperdrive&&'hyper:'===location.protocol},exports.create=function(e){return new r(e)}}();","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/manualdownload.js":{"text":"!function(){'use strict';function o(n){}o.prototype.save=function(n,o,t){return $tw.modal.display('$:/language/Modals/Download',{downloadLink:'data:text/html,'+encodeURIComponent(n)}),t(null),!0},o.prototype.info={name:'manualdownload',priority:0,capabilities:['save','download']},exports.canSave=function(n){return!0},exports.create=function(n){return new o}}();","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/msdownload.js":{"text":"!function(){'use strict';function n(t){}n.prototype.save=function(t,n,o){var e='tiddlywiki.html',a=document.location.pathname.lastIndexOf('/');-1!==a&&(e=document.location.pathname.substr(a+1));t=new Blob([t],{type:'text/html'});return window.navigator.msSaveBlob(t,e),o(null),!0},n.prototype.info={name:'msdownload',priority:110,capabilities:['save','download']},exports.canSave=function(t){return!!window.navigator.msSaveBlob},exports.create=function(t){return new n}}();","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/put.js":{"text":"!function(){'use strict';function a(n){$tw.utils.httpRequest({url:n.uri(),type:'HEAD',headers:{Accept:'*/*;charset=UTF-8'},callback:function(t,e,r){t||(r=r.getResponseHeader('ETag'))&&(n.etag=r.replace(/^W\\//,''))}})}function e(t){this.wiki=t;var n=this,t=this.uri();$tw.utils.httpRequest({url:t,type:'OPTIONS',callback:function(t,e,r){t||(n.serverAcceptsPuts=200===r.status&&!!r.getResponseHeader('dav'))}}),a(this)}e.prototype.uri=function(){return document.location.toString().split('#')[0]},e.prototype.save=function(t,e,s){if(!this.serverAcceptsPuts)return!1;var i=this,r={'Content-Type':'text/html;charset=UTF-8'};return this.etag&&(r['If-Match']=this.etag),$tw.utils.httpRequest({url:this.uri(),type:'PUT',headers:r,data:t,callback:function(t,e,r){var n;t?412===Number(t.substring(t.indexOf(':')+2,t.length))?(n=$tw.language.getString('Error/EditConflict'),s(n)):s(t):(i.etag=r.getResponseHeader('ETag'),null==i.etag&&a(i),s(null))}}),!0},e.prototype.info={name:'put',priority:2e3,capabilities:['save','autosave']},exports.canSave=function(t){return/^https?:/.test(location.protocol)},exports.create=function(t){return new e(t)}}();","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/tiddlyfox.js":{"text":"!function(){'use strict';function t(e){}t.prototype.save=function(e,t,n){var i=document.getElementById('tiddlyfox-message-box');if(i){var a=document.location.toString().split('#')[0];0===a.indexOf('file://localhost/')&&(a='file://'+a.substr(16)),a=/^file\\:\\/\\/\\/[A-Z]\\:\\//i.test(a)?a.substr(8).replace(/\\//g,'\\\\'):0===a.indexOf('file://///')?'\\\\\\\\'+unescape(a.substr(10)).replace(/\\//g,'\\\\'):0===a.indexOf('file:///')?unescape(a.substr(7)):0===a.indexOf('file:/')?unescape(a.substr(5)):'\\\\\\\\'+unescape(a.substr(7)).replace(new RegExp('/','g'),'\\\\');var s=document.createElement('div');s.setAttribute('data-tiddlyfox-path',decodeURIComponent(a)),s.setAttribute('data-tiddlyfox-content',e),i.appendChild(s),s.addEventListener('tiddlyfox-have-saved-file',function(e){n(null)},!1);i=document.createEvent('Events');return i.initEvent('tiddlyfox-save-file',!0,!1),s.dispatchEvent(i),!0}return!1},t.prototype.info={name:'tiddlyfox',priority:1500,capabilities:['save','autosave']},exports.canSave=function(e){return!0},exports.create=function(e){return new t}}();","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/tiddlyie.js":{"text":"!function(){'use strict';function t(e){}t.prototype.save=function(e,t,n){if(void 0===window.TiddlyIE)return!1;var o=unescape(document.location.pathname);if(/^\\/[A-Z]\\:\\/[^\\/]+/i.test(o))o=(o=o.substr(1)).replace(/\\//g,'\\\\');else{if(''===document.hostname||!/^\\/[^\\/]+\\/[^\\/]+/i.test(o))return!1;o=o.replace(/\\//g,'\\\\'),o='\\\\\\\\'+document.location.hostname+o}return window.TiddlyIE.save(o,e),n(null),!0},t.prototype.info={name:'tiddlyiesaver',priority:1500,capabilities:['save']},exports.canSave=function(e){return'file:'===window.location.protocol},exports.create=function(e){return new t}}();","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/twedit.js":{"text":"!function(){'use strict';function e(t){}e.prototype.save=function(e,t,n){if('object'!=typeof DeviceInfo)return!1;var o=decodeURIComponent(document.location.pathname),i=o.indexOf('?');-1!==i&&(o=o.substr(0,i)),-1!==(i=o.indexOf('#'))&&(o=o.substr(0,i));i='/Documents';0===o.indexOf(i)&&(o=o.substr(i.length));function r(t){n($tw.language.getString('Error/SavingToTWEdit')+': '+t.target.error.code)}return window.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(t){t.root.getFile(o,{create:!0},function(t){t.createWriter(function(t){t.onerror=r,t.onwrite=function(){n(null)},t.position=0,t.write(e)},r)},r)},r),!0},e.prototype.info={name:'twedit',priority:1600,capabilities:['save','autosave']},exports.canSave=function(t){return!0},exports.create=function(t){return new e},$tw.browser&&(window.version={title:'TiddlyWiki'})}();","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/upload.js":{"text":"!function(){'use strict';function e(t){this.wiki=t}e.prototype.save=function(t,e,n){var r=this.wiki.getTextReference('$:/UploadBackupDir')||'.',i=this.wiki.getTextReference('$:/UploadName'),a=$tw.utils.getPassword('upload'),o=this.wiki.getTextReference('$:/UploadDir')||'.',s=this.wiki.getTextReference('$:/UploadFilename')||'index.html',p=this.wiki.getTextReference('$:/UploadURL');if(!i||''===i.toString().trim()||!a||''===a.toString().trim())return!1;p=p||'http://'+i+'.tiddlyspot.com/store.cgi';var u='---------------------------AaB03x',d=[];d.push('--'+u+'\\r\\nContent-disposition: form-data; name=\"UploadPlugin\"\\r\\n'),d.push('backupDir='+r+';user='+i+';password='+a+';uploaddir='+o+';;'),d.push('\\r\\n--'+u),d.push('Content-disposition: form-data; name=\"userfile\"; filename=\"'+s+'\"'),d.push('Content-Type: text/html;charset=UTF-8'),d.push('Content-Length: '+t.length+'\\r\\n'),d.push('');var c=d.join('\\r\\n')+t+'\\r\\n-----------------------------AaB03x--\\r\\n',l=new XMLHttpRequest;l.open('POST',p,!0,i,a),l.setRequestHeader('Content-Type','multipart/form-data; charset=UTF-8; boundary='+u),l.onreadystatechange=function(){4==l.readyState&&200==l.status&&('0 - '===l.responseText.substr(0,4)?n(null):n(l.responseText))};try{l.send(c)}catch(t){return n($tw.language.getString('Error/Caption')+':'+t)}return $tw.notifier.display('$:/language/Notifications/Save/Starting'),!0},e.prototype.info={name:'upload',priority:2e3,capabilities:['save','autosave']},exports.canSave=function(t){return!0},exports.create=function(t){return new e(t)}}();","type":"application/javascript","module-type":"saver"},"$:/core/modules/server/authenticators/basic.js":{"text":"!function(){'use strict';var r,s;function e(e){this.server=e,this.credentialsData=[]}$tw.node&&(require('util'),r=require('fs'),require('url'),s=require('path')),e.prototype.init=function(){if(this.credentialsFilepath=this.server.get('credentials'),this.credentialsFilepath){var e=s.resolve(this.server.boot.wikiPath,this.credentialsFilepath);if(!r.existsSync(e)||r.statSync(e).isDirectory())return'Error: Unable to load user credentials from \\''+e+'\\'';var t=r.readFileSync(e,'utf8'),t=$tw.utils.parseCsvStringWithHeader(t);if('string'==typeof t)return'Error: '+t+' reading credentials from \\''+e+'\\'';this.credentialsData=t}return this.server.get('username')&&this.server.get('password')&&(this.credentialsData=this.credentialsData||[],this.credentialsData.push({username:this.server.get('username'),password:this.server.get('password')})),0<this.credentialsData.length},e.prototype.authenticateRequest=function(e,t,r){e=e.headers.authorization||'';if(!e&&r.allowAnon)return!0;var e=e.split(/\\s+/).pop()||'',e=$tw.utils.base64Decode(e).split(/:/),s=e[0],i=e[1];return this.credentialsData.find(function(e){return e.username===s&&e.password===i})?(r.authenticatedUsername=s,!0):(t.writeHead(401,'Authentication required',{'WWW-Authenticate':'Basic realm=\"Please provide your username and password to login to '+r.server.servername+'\"'}),t.end(),!1)},exports.AuthenticatorClass=e}();","type":"application/javascript","module-type":"authenticator"},"$:/core/modules/server/authenticators/header.js":{"text":"!function(){'use strict';function e(e){this.server=e,this.header=e.get('authenticated-user-header')?e.get('authenticated-user-header').toLowerCase():void 0}e.prototype.init=function(){return!!this.header},e.prototype.authenticateRequest=function(e,t,r){e=e.headers[this.header];return e||r.allowAnon?(r.authenticatedUsername=e,!0):(t.writeHead(401,'Authorization header required to login to \\''+r.server.servername+'\\''),t.end(),!1)},exports.AuthenticatorClass=e}();","type":"application/javascript","module-type":"authenticator"},"$:/core/modules/server/routes/delete-tiddler.js":{"text":"!function(){'use strict';exports.method='DELETE',exports.path=/^\\/bags\\/default\\/tiddlers\\/(.+)$/,exports.handler=function(e,t,d){var n=decodeURIComponent(d.params[0]);d.wiki.deleteTiddler(n),t.writeHead(204,'OK',{'Content-Type':'text/plain'}),t.end()}}();","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/get-favicon.js":{"text":"!function(){'use strict';exports.method='GET',exports.path=/^\\/favicon.ico$/,exports.handler=function(e,t,i){t.writeHead(200,{'Content-Type':'image/x-icon'});i=i.wiki.getTiddlerText('$:/favicon.ico','');t.end(i,'base64')}}();","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/get-file.js":{"text":"!function(){'use strict';exports.method='GET',exports.path=/^\\/files\\/(.+)$/,exports.handler=function(e,i,t){var o=require('path'),n=require('fs'),r=(require('util'),decodeURIComponent(t.params[0])),a=o.resolve(t.boot.wikiPath,'files',r),s=o.extname(a);n.readFile(a,function(e,t){var o,n='text/plain';e?(console.log('Error accessing file '+a+': '+e.toString()),o=404,t='File \\''+r+'\\' not found'):(o=200,n=$tw.config.fileExtensionInfo[s]?$tw.config.fileExtensionInfo[s].type:'application/octet-stream'),i.writeHead(o,{'Content-Type':n}),i.end(t)})}}();","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/get-index.js":{"text":"!function(){'use strict';var d=require('zlib');exports.method='GET',exports.path=/^\\/$/,exports.handler=function(e,t,r){var n=(n=e.headers['accept-encoding'])||'',o=r.wiki.renderTiddler(r.server.get('root-render-type'),r.server.get('root-tiddler')),e={'Content-Type':r.server.get('root-serve-type')};r.server.enableGzip&&(/\\bdeflate\\b/.test(n)?(e['Content-Encoding']='deflate',o=d.deflateSync(o)):/\\bgzip\\b/.test(n)&&(e['Content-Encoding']='gzip',o=d.gzipSync(o))),t.writeHead(200,e),t.end(o)}}();","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/get-login-basic.js":{"text":"!function(){'use strict';exports.method='GET',exports.path=/^\\/login-basic$/,exports.handler=function(e,t,a){a.authenticatedUsername?t.writeHead(302,{Location:'/'}):t.writeHead(401,{'WWW-Authenticate':'Basic realm=\"Please provide your username and password to login to '+a.server.servername+'\"'}),t.end()}}();","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/get-status.js":{"text":"!function(){'use strict';exports.method='GET',exports.path=/^\\/status$/,exports.handler=function(e,t,n){t.writeHead(200,{'Content-Type':'application/json'});n=JSON.stringify({username:n.authenticatedUsername||n.server.get('anon-username')||'',anonymous:!n.authenticatedUsername,read_only:!n.server.isAuthorized('writers',n.authenticatedUsername),space:{recipe:'default'},tiddlywiki_version:$tw.version});t.end(n,'utf8')}}();","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/get-tiddler-html.js":{"text":"!function(){'use strict';exports.method='GET',exports.path=/^\\/([^\\/]+)$/,exports.handler=function(e,r,t){var d,i=decodeURIComponent(t.params[0]),n=t.wiki.getTiddler(i);n?(d=n.getFieldString('_render_type'),n=n.getFieldString('_render_template'),n=t.wiki.isSystemTiddler(i)?(d=d||t.server.get('system-tiddler-render-type'),n||t.server.get('system-tiddler-render-template')):(d=d||t.server.get('tiddler-render-type'),n||t.server.get('tiddler-render-template')),i=t.wiki.renderTiddler(d,n,{parseAsInline:!0,variables:{currentTiddler:i}}),r.writeHead(200),r.end(i,'utf8')):(r.writeHead(404),r.end())}}();","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/get-tiddler.js":{"text":"!function(){'use strict';exports.method='GET',exports.path=/^\\/recipes\\/default\\/tiddlers\\/(.+)$/,exports.handler=function(e,i,t){var d=decodeURIComponent(t.params[0]),n=t.wiki.getTiddler(d),r={},s=['bag','created','creator','modified','modifier','permissions','recipe','revision','tags','text','title','type','uri'];n?($tw.utils.each(n.fields,function(e,i){var t=n.getFieldString(i);-1!==s.indexOf(i)?r[i]=t:(r.fields=r.fields||{},r.fields[i]=t)}),r.revision=t.wiki.getChangeCount(d),r.bag='default',r.type=r.type||'text/vnd.tiddlywiki',i.writeHead(200,{'Content-Type':'application/json'}),i.end(JSON.stringify(r),'utf8')):(i.writeHead(404),i.end())}}();","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/get-tiddlers-json.js":{"text":"!function(){'use strict';exports.method='GET',exports.path=/^\\/recipes\\/default\\/tiddlers.json$/,exports.handler=function(e,t,i){var r=i.queryParameters.filter||'[all[tiddlers]!is[system]sort[title]]';if('yes'!==i.wiki.getTiddlerText('$:/config/Server/AllowAllExternalFilters')&&'yes'!==i.wiki.getTiddlerText('$:/config/Server/ExternalFilters/'+r))return console.log('Blocked attempt to GET /recipes/default/tiddlers.json with filter: '+r),t.writeHead(403),void t.end();'no'===i.wiki.getTiddlerText('$:/config/SyncSystemTiddlersFromServer')&&(r+='+[!is[system]]');var l=(i.queryParameters.exclude||'text').split(','),r=i.wiki.filterTiddlers(r);t.writeHead(200,{'Content-Type':'application/json'});var s=[];$tw.utils.each(r,function(e){var t=i.wiki.getTiddler(e);t&&((t=t.getFieldStrings({exclude:l})).revision=i.wiki.getChangeCount(e),t.type=t.type||'text/vnd.tiddlywiki',s.push(t))});r=JSON.stringify(s);t.end(r,'utf8')}}();","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/put-tiddler.js":{"text":"!function(){'use strict';exports.method='PUT',exports.path=/^\\/recipes\\/default\\/tiddlers\\/(.+)$/,exports.handler=function(e,t,i){var d=decodeURIComponent(i.params[0]),n=JSON.parse(i.data);n.fields&&($tw.utils.each(n.fields,function(e,t){n[t]=e}),delete n.fields),n.revision&&delete n.revision,i.wiki.addTiddler(new $tw.Tiddler(i.wiki.getCreationFields(),n,{title:d},i.wiki.getModificationFields()));i=i.wiki.getChangeCount(d).toString();t.writeHead(204,'OK',{Etag:'\"default/'+encodeURIComponent(d)+'/'+i+':\"','Content-Type':'text/plain'}),t.end()}}();","type":"application/javascript","module-type":"route"},"$:/core/modules/server/server.js":{"text":"!function(){'use strict';var o,n,a,d;function t(t){var i=this;if(this.routes=t.routes||[],this.authenticators=t.authenticators||[],this.wiki=t.wiki,this.boot=t.boot||$tw.boot,this.servername=$tw.utils.transliterateToSafeASCII(this.wiki.getTiddlerText('$:/SiteTitle')||'TiddlyWiki5'),this.variables=$tw.utils.extend({},this.defaultVariables),t.variables)for(var e in t.variables)t.variables[e]&&(this.variables[e]=t.variables[e]);$tw.utils.extend({},this.defaultVariables,t.variables),this.csrfDisable='yes'===this.get('csrf-disable'),this.enableGzip='yes'===this.get('gzip');var r=this.get('username')&&this.get('password')?this.get('username'):'(anon)';this.authorizationPrincipals={readers:(this.get('readers')||r).split(',').map($tw.utils.trim),writers:(this.get('writers')||r).split(',').map($tw.utils.trim)},$tw.modules.forEachModuleOfType('authenticator',function(t,e){i.addAuthenticator(e.AuthenticatorClass)}),$tw.modules.forEachModuleOfType('route',function(t,e){i.addRoute(e)}),this.listenOptions=null,this.protocol='http';var s=this.get('tls-key'),r=this.get('tls-cert');r&&s&&(this.listenOptions={key:o.readFileSync(a.resolve(this.boot.wikiPath,s),'utf8'),cert:o.readFileSync(a.resolve(this.boot.wikiPath,r),'utf8')},this.protocol='https'),this.transport=require(this.protocol)}$tw.node&&(require('util'),o=require('fs'),n=require('url'),a=require('path'),d=require('querystring')),t.prototype.defaultVariables={port:'8080',host:'127.0.0.1','root-tiddler':'$:/core/save/all','root-render-type':'text/plain','root-serve-type':'text/html','tiddler-render-type':'text/html','tiddler-render-template':'$:/core/templates/server/static.tiddler.html','system-tiddler-render-type':'text/plain','system-tiddler-render-template':'$:/core/templates/wikified-tiddler','debug-level':'none',gzip:'no'},t.prototype.get=function(t){return this.variables[t]},t.prototype.addRoute=function(t){this.routes.push(t)},t.prototype.addAuthenticator=function(t){var e=new t(this),t=e.init();'string'==typeof t?$tw.utils.error('Error: '+t):t&&this.authenticators.push(e)},t.prototype.findMatchingRoute=function(t,e){for(var i=0;i<this.routes.length;i++){var r=this.routes[i],s=(r.path,e.urlInfo.pathname),o=e.pathPrefix?s.substr(0,e.pathPrefix.length)===e.pathPrefix&&(s=s.substr(e.pathPrefix.length)||'/',r.path.exec(s)):r.path.exec(s);if(o&&t.method===r.method){e.params=[];for(var a=1;a<o.length;a++)e.params.push(o[a]);return r}}return null},t.prototype.methodMappings={GET:'readers',OPTIONS:'readers',HEAD:'readers',PUT:'writers',POST:'writers',DELETE:'writers'},t.prototype.isAuthorized=function(t,e){t=this.authorizationPrincipals[t]||[];return-1!==t.indexOf('(anon)')||e&&(-1!==t.indexOf('(authenticated)')||-1!==t.indexOf(e))},t.prototype.requestHandler=function(t,e,i){i=i||{};var r=this,s={};s.wiki=i.wiki||r.wiki,s.boot=i.boot||r.boot,s.server=r,s.urlInfo=n.parse(t.url),s.queryParameters=d.parse(s.urlInfo.query),s.pathPrefix=i.pathPrefix||this.get('path-prefix')||'';i=this.methodMappings[t.method]||'readers';if(!this.csrfDisable&&'writers'===i&&'TiddlyWiki'!==t.headers['x-requested-with'])return e.writeHead(403,'\\'X-Requested-With\\' header required to login to \\''+this.servername+'\\''),void e.end();if(s.allowAnon=this.isAuthorized(i,null),!(0<this.authenticators.length)||this.authenticators[0].authenticateRequest(t,e,s)){if(!this.isAuthorized(i,s.authenticatedUsername))return e.writeHead(401,'\\''+s.authenticatedUsername+'\\' is not authorized to access \\''+this.servername+'\\''),void e.end();var o,a=r.findMatchingRoute(t,s);if('none'!==r.get('debug-level')&&(console.log('Request path:',JSON.stringify(s.urlInfo)),console.log('Request headers:',JSON.stringify(t.headers)),console.log('authenticatedUsername:',s.authenticatedUsername)),!a)return e.writeHead(404),void e.end();'stream'===a.bodyFormat||'GET'===t.method||'HEAD'===t.method?a.handler(t,e,s):'string'!==a.bodyFormat&&a.bodyFormat?'buffer'===a.bodyFormat?(o=[],t.on('data',function(t){o.push(t)}),t.on('end',function(){s.data=Buffer.concat(o),a.handler(t,e,s)})):(e.writeHead(400,'Invalid bodyFormat '+a.bodyFormat+' in route '+a.method+' '+a.path.source),e.end()):(t.setEncoding('utf8'),o='',t.on('data',function(t){o+=t.toString()}),t.on('end',function(){s.data=o,a.handler(t,e,s)}))}},t.prototype.listen=function(t,e,i){var r,s=this;return t=t||this.get('port'),e=e||this.get('host'),i=i||this.get('path-prefix')||'',parseInt(t,10).toString()!==t&&(t=process.env[t]||8080),this.wiki.getTiddler('$:/plugins/tiddlywiki/tiddlyweb')&&this.wiki.getTiddler('$:/plugins/tiddlywiki/filesystem')||$tw.utils.warning('Warning: Plugins required for client-server operation (\"tiddlywiki/filesystem\" and \"tiddlywiki/tiddlyweb\") are missing from tiddlywiki.info file'),(r=this.listenOptions?this.transport.createServer(this.listenOptions,this.requestHandler.bind(this)):this.transport.createServer(this.requestHandler.bind(this))).on('listening',function(){var t=r.address();$tw.utils.log('Serving on '+s.protocol+'://'+t.address+':'+t.port+i,'brown/orange'),$tw.utils.log('(press ctrl-C to exit)','red')}),r.listen(t,e)},exports.Server=t}();","type":"application/javascript","module-type":"library"},"$:/core/modules/browser-messaging.js":{"text":"!function(){'use strict';function e(t,e){if(r=$tw.browserMessaging.iframeInfoMap[t])e(null,r);else{var i=document.createElement('iframe'),r={url:t,status:'loading',domNode:i};o($tw.browserMessaging.iframeInfoMap[t]=r),i.style.display='none',i.setAttribute('library','true'),document.body.appendChild(i),i.onload=function(){r.status='loaded',o(r),e(null,r)},i.onerror=function(){e('Cannot load iframe')};try{i.src=t}catch(t){e(t)}}}function o(t){$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),{title:'$:/temp/ServerConnection/'+t.url,text:t.status,tags:['$:/tags/ServerConnection'],url:t.url},$tw.wiki.getModificationFields()))}exports.name='browser-messaging',exports.platforms=['browser'],exports.after=['startup'],exports.synchronous=!0,exports.startup=function(){$tw.browserMessaging={iframeInfoMap:{}},$tw.rootWidget.addEventListener('tm-load-plugin-library',function(t){var i=t.paramObject||{},r=i.url;r&&e(r,function(t,e){t?alert($tw.language.getString('Error/LoadingPluginLibrary')+': '+r):e.domNode.contentWindow.postMessage({verb:'GET',url:'recipes/library/tiddlers.json',cookies:{type:'save-info',infoTitlePrefix:i.infoTitlePrefix||'$:/temp/RemoteAssetInfo/',url:r}},'*')})}),$tw.rootWidget.addEventListener('tm-unload-plugin-library',function(t){var e,t=(t.paramObject||{}).url;$tw.browserMessaging.iframeInfoMap[t]=void 0,t&&(e=t,$tw.utils.each(document.getElementsByTagName('iframe'),function(t){'true'===t.getAttribute('library')&&t.getAttribute('src')===e&&t.parentNode.removeChild(t)}),$tw.utils.each($tw.wiki.filterTiddlers('[[$:/temp/ServerConnection/'+t+']] [prefix[$:/temp/RemoteAssetInfo/'+t+'/]]'),function(t){$tw.wiki.deleteTiddler(t)}))}),$tw.rootWidget.addEventListener('tm-load-plugin-from-library',function(t){var t=t.paramObject||{},i=t.url,r=t.title;i&&r&&e(i,function(t,e){t?alert($tw.language.getString('Error/LoadingPluginLibrary')+': '+i):e.domNode.contentWindow.postMessage({verb:'GET',url:'recipes/library/tiddlers/'+encodeURIComponent(r)+'.json',cookies:{type:'save-tiddler',url:i}},'*')})}),window.addEventListener('message',function(e){var t;'GET-RESPONSE'===e.data.verb&&'2'===e.data.status.charAt(0)&&e.data.cookies&&('save-info'===e.data.cookies.type?(t=JSON.parse(e.data.body),$tw.utils.each(t,function(t){$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),t,{title:e.data.cookies.infoTitlePrefix+e.data.cookies.url+'/'+t.title,'original-title':t.title,text:'',type:'text/vnd.tiddlywiki','original-type':t.type,'plugin-type':void 0,'original-plugin-type':t['plugin-type'],'module-type':void 0,'original-module-type':t['module-type'],tags:['$:/tags/RemoteAssetInfo'],'original-tags':$tw.utils.stringifyList(t.tags||[]),'server-url':e.data.cookies.url},$tw.wiki.getModificationFields()))})):'save-tiddler'===e.data.cookies.type&&(t=JSON.parse(e.data.body),$tw.wiki.addTiddler(new $tw.Tiddler(t))))},!1)}}();","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/commands.js":{"text":"!function(){'use strict';exports.name='commands',exports.platforms=['node'],exports.after=['story'],exports.synchronous=!1,exports.startup=function(t){new $tw.Commander($tw.boot.argv,function(r){if(r)return $tw.utils.error('Error: '+r);t()},$tw.wiki,{output:process.stdout,error:process.stderr}).execute()}}();","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/CSSescape.js":{"text":"!function(r){'use strict';exports.name='css-escape',exports.platforms=['browser'],exports.after=['startup'],exports.synchronous=!0,exports.startup=function(r){if(r.CSS&&r.CSS.escape)return;var e=function(r){if(arguments.length==0)throw new TypeError('`CSS.escape` requires an argument.');var e=String(r);var t=e.length;var n=-1;var a;var o='';var i=e.charCodeAt(0);while(++n<t){a=e.charCodeAt(n);if(a==0){o+='�';continue}if(a>=1&&a<=31||a==127||n==0&&a>=48&&a<=57||n==1&&a>=48&&a<=57&&i==45){o+='\\\\'+a.toString(16)+' ';continue}if(n==0&&t==1&&a==45){o+='\\\\'+e.charAt(n);continue}if(a>=128||a==45||a==95||a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122){o+=e.charAt(n);continue}o+='\\\\'+e.charAt(n)}return o};if(!r.CSS)r.CSS={};r.CSS.escape=e}(r)}('undefined'!=typeof global?global:this);","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/favicon.js":{"text":"!function(){'use strict';exports.name='favicon',exports.platforms=['browser'],exports.after=['startup'],exports.synchronous=!0;var e='$:/favicon.ico';function i(){var t=$tw.wiki.getTiddler(e);t&&document.getElementById('faviconLink').setAttribute('href',$tw.utils.makeDataUri(t.fields.text,t.fields.type,t.fields._canonical_uri))}exports.startup=function(){i(),$tw.wiki.addEventListener('change',function(t){$tw.utils.hop(t,e)&&i()})}}();","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/info.js":{"text":"!function(){'use strict';exports.name='info',exports.before=['startup'],exports.after=['load-modules'],exports.synchronous=!0;var r='$:/temp/info-plugin';exports.startup=function(){function e(t){var i=$tw.wiki.getTiddlerData(r,{tiddlers:{}});$tw.utils.each(t,function(t){t&&t.title&&(i.tiddlers[t.title]=t)}),t={title:r,type:'application/json','plugin-type':'info',text:JSON.stringify(i,null,$tw.config.preferences.jsonSpaces)},$tw.wiki.addTiddler(new $tw.Tiddler(t))}var n=[];$tw.modules.forEachModuleOfType('info',function(t,i){i&&i.getInfoTiddlerFields&&Array.prototype.push.apply(n,i.getInfoTiddlerFields(e))}),e(n);$tw.wiki.readPluginInfo([r]);$tw.wiki.registerPluginTiddlers('info',[r]),$tw.wiki.unpackPluginTiddlers()}}();","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/load-modules.js":{"text":"!function(){'use strict';exports.name='load-modules',exports.synchronous=!0,exports.startup=function(){$tw.modules.applyMethods('utils',$tw.utils),$tw.node&&$tw.modules.applyMethods('utils-node',$tw.utils),$tw.modules.applyMethods('global',$tw),$tw.modules.applyMethods('config',$tw.config),$tw.Tiddler.fieldModules=$tw.modules.getModulesByTypeAsHashmap('tiddlerfield'),$tw.modules.applyMethods('tiddlermethod',$tw.Tiddler.prototype),$tw.modules.applyMethods('wikimethod',$tw.Wiki.prototype),$tw.wiki.addIndexersToWiki(),$tw.modules.applyMethods('tiddlerdeserializer',$tw.Wiki.tiddlerDeserializerModules),$tw.macros=$tw.modules.getModulesByTypeAsHashmap('macro'),$tw.wiki.initParsers(),$tw.Commander.initCommands()}}();","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/password.js":{"text":"!function(){'use strict';exports.name='password',exports.platforms=['browser'],exports.after=['startup'],exports.synchronous=!0,exports.startup=function(){$tw.rootWidget.addEventListener('tm-set-password',function(t){$tw.passwordPrompt.createPrompt({serviceName:$tw.language.getString('Encryption/PromptSetPassword'),noUserName:!0,submitText:$tw.language.getString('Encryption/SetPassword'),canCancel:!0,repeatPassword:!0,callback:function(t){return t&&$tw.crypto.setPassword(t.password),!0}})}),$tw.rootWidget.addEventListener('tm-clear-password',function(t){$tw.browser&&!confirm($tw.language.getString('Encryption/ConfirmClearPassword'))||$tw.crypto.setPassword(null)}),$tw.wiki.addEventListener('change',function(t){$tw.utils.hop(t,'$:/isEncrypted')&&$tw.crypto.updateCryptoStateTiddler()})}}();","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/plugins.js":{"text":"!function(){'use strict';exports.name='plugins',exports.after=['load-modules'],exports.synchronous=!0;var l='$:/status/RequireReloadDueToPluginChange';exports.startup=function(){$tw.wiki.addTiddler({title:l,text:'no'}),$tw.wiki.addEventListener('change',function(e){var i,t=[],n=!1;$tw.utils.each(Object.keys(e),function(e){var i=$tw.wiki.getTiddler(e);$tw.wiki.doesPluginRequireReload(e)?n=!0:i&&(i.fields['plugin-type'],'yes'===$tw.wiki.getTiddlerText('$:/config/RegisterPluginType/'+(i.fields['plugin-type']||''),'no')&&t.push(e))}),n&&$tw.wiki.addTiddler({title:l,text:'yes'}),0<t.length&&(0<(e=$tw.wiki.readPluginInfo(t)).modifiedPlugins.length||0<e.deletedPlugins.length)&&(i={},$tw.utils.each(e.deletedPlugins,function(e){e=$tw.wiki.getPluginInfo(e);e&&$tw.utils.each(Object.keys(e.tiddlers),function(e){i[e]=!0})}),$tw.utils.each(e.modifiedPlugins,function(e){e=$tw.wiki.getPluginInfo(e);e&&$tw.utils.each(Object.keys(e.tiddlers),function(e){i[e]=!1})}),$tw.wiki.registerPluginTiddlers(null,e.modifiedPlugins),$tw.wiki.unregisterPluginTiddlers(null,e.deletedPlugins),$tw.wiki.unpackPluginTiddlers(),$tw.utils.each(Object.keys(i),function(e){$tw.wiki.enqueueTiddlerEvent(e,i[e])}))})}}();","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/render.js":{"text":"!function(){'use strict';exports.name='render',exports.platforms=['browser'],exports.after=['story'],exports.synchronous=!0,exports.startup=function(){$tw.titleWidgetNode=$tw.wiki.makeTranscludeWidget('$:/core/wiki/title',{document:$tw.fakeDocument,parseAsInline:!0}),$tw.titleContainer=$tw.fakeDocument.createElement('div'),$tw.titleWidgetNode.render($tw.titleContainer,null),document.title=$tw.titleContainer.textContent,$tw.wiki.addEventListener('change',function(e){$tw.titleWidgetNode.refresh(e,$tw.titleContainer,null)&&(document.title=$tw.titleContainer.textContent)}),$tw.styleWidgetNode=$tw.wiki.makeTranscludeWidget('$:/core/ui/PageStylesheet',{document:$tw.fakeDocument}),$tw.styleContainer=$tw.fakeDocument.createElement('style'),$tw.styleWidgetNode.render($tw.styleContainer,null),$tw.styleElement=document.createElement('style'),$tw.styleElement.innerHTML=$tw.styleContainer.textContent,document.head.insertBefore($tw.styleElement,document.head.firstChild),$tw.wiki.addEventListener('change',$tw.perf.report('styleRefresh',function(e){$tw.styleWidgetNode.refresh(e,$tw.styleContainer,null)&&($tw.styleElement.innerHTML=$tw.styleContainer.textContent)})),$tw.perf.report('mainRender',function(){$tw.pageWidgetNode=$tw.wiki.makeTranscludeWidget('$:/core/ui/RootTemplate',{document:document,parentWidget:$tw.rootWidget,recursionMarker:'no'}),$tw.pageContainer=document.createElement('div'),$tw.utils.addClass($tw.pageContainer,'tc-page-container-wrapper'),document.body.insertBefore($tw.pageContainer,document.body.firstChild),$tw.pageWidgetNode.render($tw.pageContainer,null),$tw.hooks.invokeHook('th-page-refreshed')})();var e=document.querySelectorAll('.tc-remove-when-wiki-loaded');$tw.utils.each(e,function(e){e.parentNode&&e.parentNode.removeChild(e)});var i,a=Object.create(null);function d(){$tw.hooks.invokeHook('th-page-refreshing'),$tw.pageWidgetNode.refresh(a),a=Object.create(null),$tw.hooks.invokeHook('th-page-refreshed')}$tw.wiki.addEventListener('change',$tw.perf.report('mainRefresh',function(e){var t,n,o=!0;for(t in e){var r=$tw.wiki.getTiddler(t);r&&(r.hasField('draft.of')||r.hasField('throttle.refresh'))||(o=!1)}i&&clearTimeout(i),i=null,o?(n=parseInt($tw.wiki.getTiddlerText('$:/config/Drafts/TypingTimeout',''),10),isNaN(n)&&(n=400),i=setTimeout(d,n),$tw.utils.extend(a,e)):($tw.utils.extend(a,e),d())})),$tw.rootWidget.domNodes=[$tw.pageContainer],$tw.rootWidget.children=[$tw.pageWidgetNode],$tw.rootWidget.invokeActionsByTag('$:/tags/StartupAction/PostRender')}}();","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/rootwidget.js":{"text":"!function(){'use strict';exports.name='rootwidget',exports.platforms=['browser'],exports.after=['startup'],exports.before=['story'],exports.synchronous=!0,exports.startup=function(){$tw.modal=new $tw.utils.Modal($tw.wiki),$tw.rootWidget.addEventListener('tm-modal',function(t){$tw.modal.display(t.param,{variables:t.paramObject,event:t})}),$tw.rootWidget.addEventListener('tm-show-switcher',function(t){$tw.modal.display('$:/core/ui/SwitcherModal',{variables:t.paramObject,event:t})}),$tw.notifier=new $tw.utils.Notifier($tw.wiki),$tw.rootWidget.addEventListener('tm-notify',function(t){$tw.notifier.display(t.param,{variables:t.paramObject})}),$tw.rootWidget.addEventListener('tm-copy-to-clipboard',function(t){$tw.utils.copyToClipboard(t.param)}),$tw.rootWidget.addEventListener('tm-focus-selector',function(t){var e,o=t.param||'';try{e=document.querySelector(o)}catch(t){console.log('Error in selector: ',o)}e&&e.focus&&e.focus(t.paramObject)}),$tw.pageScroller=new $tw.utils.PageScroller,$tw.rootWidget.addEventListener('tm-scroll',function(t){$tw.pageScroller.handleEvent(t)});var o=$tw.utils.getFullScreenApis();o&&$tw.rootWidget.addEventListener('tm-full-screen',function(t){var e=t.event?t.event.target.ownerDocument:document;'enter'!==t.param&&('exit'===t.param||e[o._fullscreenElement])?e[o._exitFullscreen]():e.documentElement[o._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT)}),'data:'===document.location.protocol&&$tw.rootWidget.dispatchEvent({type:'tm-modal',param:'$:/language/Modals/SaveInstructions'})}}();","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup.js":{"text":"!function(){'use strict';exports.name='startup',exports.after=['load-modules'],exports.synchronous=!0;var t=require('$:/core/modules/widgets/widget.js');exports.startup=function(){if($tw.browser&&($tw.browser.isIE=/msie|trident/i.test(navigator.userAgent),$tw.browser.isFirefox=!!document.mozFullScreenEnabled),$tw.platform={},$tw.browser)$tw.platform.isMac=/Mac/.test(navigator.platform),$tw.platform.isWindows=/win/i.test(navigator.platform),$tw.platform.isLinux=/Linux/i.test(navigator.platform);else switch(require('os').platform()){case'darwin':$tw.platform.isMac=!0;break;case'win32':$tw.platform.isWindows=!0;break;case'freebsd':case'linux':$tw.platform.isLinux=!0}$tw.version=$tw.utils.extractVersionInfo(),$tw.perf=new $tw.Performance('yes'===$tw.wiki.getTiddlerText('$:/config/Performance/Instrumentation','no')),$tw.rootWidget=new t.widget({type:'widget',children:[]},{wiki:$tw.wiki,document:$tw.browser?document:$tw.fakeDocument}),$tw.rootWidget.invokeActionsByTag('$:/tags/StartupAction'),$tw.browser&&$tw.rootWidget.invokeActionsByTag('$:/tags/StartupAction/Browser'),$tw.node&&$tw.rootWidget.invokeActionsByTag('$:/tags/StartupAction/Node'),$tw.language=new $tw.Language,$tw.languageSwitcher=new $tw.PluginSwitcher({wiki:$tw.wiki,pluginType:'language',controllerTitle:'$:/language',defaultPlugins:['$:/languages/en-GB'],onSwitch:function(t){$tw.browser&&((t=$tw.wiki.getTiddler(t[0]))?document.documentElement.setAttribute('dir',t.getFieldString('text-direction')||'auto'):document.documentElement.removeAttribute('dir'))}}),$tw.themeManager=new $tw.PluginSwitcher({wiki:$tw.wiki,pluginType:'theme',controllerTitle:'$:/theme',defaultPlugins:['$:/themes/tiddlywiki/snowwhite','$:/themes/tiddlywiki/vanilla']}),$tw.keyboardManager=new $tw.KeyboardManager,$tw.browser&&$tw.utils.addEventListeners(document,[{name:'keydown',handlerObject:$tw.keyboardManager,handlerMethod:'handleKeydownEvent'}]),$tw.wiki.clearTiddlerEventQueue(),$tw.syncadaptor=void 0,$tw.modules.forEachModuleOfType('syncadaptor',function(t,e){!$tw.syncadaptor&&e.adaptorClass&&($tw.syncadaptor=new e.adaptorClass({wiki:$tw.wiki}))}),$tw.syncadaptor&&($tw.syncer=new $tw.Syncer({wiki:$tw.wiki,syncadaptor:$tw.syncadaptor})),$tw.saverHandler=new $tw.SaverHandler({wiki:$tw.wiki,dirtyTracking:!$tw.syncadaptor,preloadDirty:$tw.boot.preloadDirty||[]}),$tw.browser&&($tw.popup=new $tw.utils.Popup,$tw.anim=new $tw.utils.Animator)}}();","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/story.js":{"text":"!function(){'use strict';exports.name='story',exports.after=['startup'],exports.synchronous=!0;var r='$:/StoryList',a='$:/HistoryList',s='$:/DefaultTiddlers',i='$:/config/Navigation/UpdateHistory',e='$:/config/Navigation/Permalinkview/CopyToClipboard',o='$:/config/Navigation/Permalinkview/UpdateAddressBar';function n(t){t=t||{};var i,e,o=null,n=null;1<$tw.locationHash.length&&(-1===(e=(i=$tw.locationHash.substr(1)).indexOf(':'))?o=decodeURIComponent(i.trim()):(o=decodeURIComponent(i.substr(0,e).trim()),n=decodeURIComponent(i.substr(e+1).trim()))),null===n&&(n=t.defaultToCurrentStory?(d=$tw.wiki.getTiddlerList(r),$tw.utils.stringifyList(d)):o&&''!==o?'':$tw.wiki.getTiddlerText(s));var d=$tw.wiki.filterTiddlers(n),d=$tw.hooks.invokeHook('th-opening-default-tiddlers-list',d);o&&-1===d.indexOf(o)&&d.unshift(o),$tw.wiki.addTiddler({title:r,text:'',list:d},$tw.wiki.getModificationFields());n=new $tw.Story({wiki:$tw.wiki,storyTitle:r,historyTitle:a});t.disableHistory||(o&&''!==o?(0===o.indexOf('[[')&&']]'===o.substr(-2)&&(o=o.substr(2,o.length-4)),n.addToHistory(o)):0<d.length&&n.addToHistory(d[0]))}function d(t){var i=$tw.wiki.getTiddlerList(r),e=$tw.wiki.getTiddlerData(a,[]),o='';switch(t.targetTiddler?o=t.targetTiddler:(0<e.length&&(o=e[e.length-1].title),-1===i.indexOf(o)&&(o='')),t.updateAddressBar){case'permalink':$tw.locationHash='#'+encodeURIComponent(o);break;case'permaview':$tw.locationHash='#'+encodeURIComponent(o)+':'+encodeURIComponent($tw.utils.stringifyList(i))}switch(t.copyToClipboard){case'permalink':$tw.utils.copyToClipboard($tw.utils.getLocationPath()+'#'+encodeURIComponent(o));break;case'permaview':$tw.utils.copyToClipboard($tw.utils.getLocationPath()+'#'+encodeURIComponent(o)+':'+encodeURIComponent($tw.utils.stringifyList(i)))}$tw.utils.getLocationHash()!==$tw.locationHash&&('yes'===t.updateHistory?window.location.hash=$tw.locationHash:window.location.replace(window.location.toString().split('#')[0]+$tw.locationHash))}exports.startup=function(){n({disableHistory:$tw.boot.disableStartupNavigation}),$tw.browser&&($tw.wiki.addEventListener('change',function(t){($tw.utils.hop(t,r)||$tw.utils.hop(t,a))&&d({updateAddressBar:$tw.wiki.getTiddlerText('$:/config/Navigation/UpdateAddressBar','permaview').trim(),updateHistory:$tw.wiki.getTiddlerText(i,'no').trim()})}),window.addEventListener('hashchange',function(){var t=$tw.utils.getLocationHash();t!==$tw.locationHash&&($tw.locationHash=t,n({defaultToCurrentStory:!0}))},!1),$tw.rootWidget.addEventListener('tm-browser-refresh',function(t){window.location.reload(!0)}),$tw.rootWidget.addEventListener('tm-open-external-window',function(t){var i=t.paramObject||{},e=t.param||'http://tiddlywiki.com/#WidgetMessage%3A%20tm-open-external-window',t=i.windowName,i=i.windowFeatures;window.open(e,t,i)}),$tw.rootWidget.addEventListener('tm-print',function(t){(t.event.view||window).print()}),$tw.rootWidget.addEventListener('tm-home',function(t){window.location.hash='';var i=$tw.wiki.getTiddlerText(s),i=$tw.wiki.filterTiddlers(i),i=$tw.hooks.invokeHook('th-opening-default-tiddlers-list',i);$tw.wiki.addTiddler({title:r,text:'',list:i},$tw.wiki.getModificationFields()),i[0]&&$tw.wiki.addToHistory(i[0])}),$tw.rootWidget.addEventListener('tm-permalink',function(t){d({updateAddressBar:'yes'===$tw.wiki.getTiddlerText(o,'yes').trim()?'permalink':'none',updateHistory:$tw.wiki.getTiddlerText(i,'no').trim(),targetTiddler:t.param||t.tiddlerTitle,copyToClipboard:'yes'===$tw.wiki.getTiddlerText(e,'yes').trim()?'permalink':'none'})}),$tw.rootWidget.addEventListener('tm-permaview',function(t){d({updateAddressBar:'yes'===$tw.wiki.getTiddlerText(o,'yes').trim()?'permaview':'none',updateHistory:$tw.wiki.getTiddlerText(i,'no').trim(),targetTiddler:t.param||t.tiddlerTitle,copyToClipboard:'yes'===$tw.wiki.getTiddlerText(e,'yes').trim()?'permaview':'none'})}))}}();","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/windows.js":{"text":"!function(){'use strict';exports.name='windows',exports.platforms=['browser'],exports.after=['startup'],exports.synchronous=!0,$tw.windows={},exports.startup=function(){$tw.rootWidget.addEventListener('tm-open-window',function(e){var t,n,i,d,r,o,a,s=e.param||e.tiddlerTitle,w=e.paramObject||{},l=w.windowTitle||s,e=w.template||'$:/core/templates/single.tiddler.window',c=w.width||'700',u=w.height||'600',w=$tw.utils.extend({},w,{currentTiddler:s});try{i=(n=window.open('','external-'+s,'scrollbars,width='+c+',height='+u)).document}catch(e){return}($tw.windows[s]=n).haveInitialisedWindow||(i.write('<html><head></head><body class=\\'tc-body tc-single-tiddler-window\\'></body></html>'),i.close(),i.title=l,n.addEventListener('beforeunload',function(e){delete $tw.windows[s],$tw.wiki.removeEventListener('change',t)},!1),d=$tw.wiki.makeTranscludeWidget('$:/core/ui/PageStylesheet',{document:$tw.fakeDocument,variables:w,importPageMacros:!0}),r=$tw.fakeDocument.createElement('style'),d.render(r,null),(o=i.createElement('style')).innerHTML=r.textContent,i.head.insertBefore(o,i.head.firstChild),e=$tw.wiki.parseTiddler(e),(a=$tw.wiki.makeWidget(e,{document:i,parentWidget:$tw.rootWidget,variables:w})).render(i.body,i.body.firstChild),t=function(e){d.refresh(e,r,null)&&(o.innerHTML=r.textContent),a.refresh(e)},$tw.wiki.addEventListener('change',t),$tw.utils.addEventListeners(i,[{name:'keydown',handlerObject:$tw.keyboardManager,handlerMethod:'handleKeydownEvent'}]),n.document.documentElement.addEventListener('click',$tw.popup,!0),n.haveInitialisedWindow=!0)}),$tw.addUnloadTask(function(){$tw.utils.each($tw.windows,function(e){e.close()})})}}();","type":"application/javascript","module-type":"startup"},"$:/core/modules/story.js":{"text":"!function(){'use strict';function t(t){t=t||{},this.wiki=t.wiki||$tw.wiki,this.storyTitle=t.storyTitle||'$:/StoryList',this.historyTitle=t.historyTitle||'$:/HistoryList'}t.prototype.navigateTiddler=function(t,i,e){this.addToStory(t,i),this.addToHistory(t,e)},t.prototype.getStoryList=function(){return this.wiki.getTiddlerList(this.storyTitle)||[]},t.prototype.addToStory=function(t,i,e){e=e||{};var o=this.getStoryList(),r=o.indexOf(t);if(!(0<=r)){var s=o.indexOf(i);if(0<=s)switch(e.openLinkFromInsideRiver){case'top':r=0;break;case'bottom':r=o.length;break;case'above':r=s;break;case'below':default:r=s+1}else r='bottom'===e.openLinkFromOutsideRiver?o.length:0;o.splice(r,0,t),this.saveStoryList(o)}},t.prototype.saveStoryList=function(t){var i=this.wiki.getTiddler(this.storyTitle);this.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),{title:this.storyTitle},i,{list:t},this.wiki.getModificationFields()))},t.prototype.addToHistory=function(t,i){var t=$tw.utils.isArray(t)?t:[t],e=this.wiki.getTiddlerData(this.historyTitle,[]);$tw.utils.each(t,function(t){e.push({title:t,fromPageRect:i})}),this.wiki.setTiddlerData(this.historyTitle,e,{'current-tiddler':t[t.length-1]})},t.prototype.storyCloseTiddler=function(t){},t.prototype.storyCloseAllTiddlers=function(){},t.prototype.storyCloseOtherTiddlers=function(t){},t.prototype.storyEditTiddler=function(t){},t.prototype.storyDeleteTiddler=function(t){},t.prototype.storySaveTiddler=function(t){},t.prototype.storyCancelTiddler=function(t){},t.prototype.storyNewTiddler=function(t){},exports.Story=t}();","type":"application/javascript","module-type":"global"},"$:/core/modules/storyviews/classic.js":{"text":"!function(){'use strict';function t(t){this.listWidget=t}var a='cubic-bezier(0.645, 0.045, 0.355, 1)';t.prototype.navigateTo=function(t){var i=$tw.utils.getAnimationDuration(),t=this.listWidget.findListItem(0,t.title);void 0===t||(t=this.listWidget.children[t].findFirstDomNode())instanceof Element&&(i?this.listWidget.dispatchEvent({type:'tm-scroll',target:t}):t.scrollIntoView())},t.prototype.insert=function(t){var i,o,e=$tw.utils.getAnimationDuration();!e||(i=t.findFirstDomNode())instanceof Element&&(o=window.getComputedStyle(i),t=parseInt(o.marginBottom,10),o=parseInt(o.marginTop,10),o=i.offsetHeight+o,setTimeout(function(){$tw.utils.setStyle(i,[{transition:'none'},{marginBottom:''}])},e),$tw.utils.setStyle(i,[{transition:'none'},{marginBottom:-o+'px'},{opacity:'0.0'}]),$tw.utils.forceLayout(i),$tw.utils.setStyle(i,[{transition:'opacity '+e+'ms '+a+', margin-bottom '+e+'ms '+a},{marginBottom:t+'px'},{opacity:'1.0'}]))},t.prototype.remove=function(t){var i,o,e,n,s,r=$tw.utils.getAnimationDuration();r?(o=function(){t.removeChildDomNodes()},(i=t.findFirstDomNode())instanceof Element?(e=i.offsetWidth,s=window.getComputedStyle(i),n=parseInt(s.marginBottom,10),s=parseInt(s.marginTop,10),s=i.offsetHeight+s,setTimeout(o,r),$tw.utils.setStyle(i,[{transition:'none'},{transform:'translateX(0px)'},{marginBottom:n+'px'},{opacity:'1.0'}]),$tw.utils.forceLayout(i),$tw.utils.setStyle(i,[{transition:$tw.utils.roundTripPropertyName('transform')+' '+r+'ms '+a+', opacity '+r+'ms '+a+', margin-bottom '+r+'ms '+a},{transform:'translateX(-'+e+'px)'},{marginBottom:-s+'px'},{opacity:'0.0'}])):o()):t.removeChildDomNodes()},exports.classic=t}();","type":"application/javascript","module-type":"storyview"},"$:/core/modules/storyviews/pop.js":{"text":"!function(){'use strict';function t(t){this.listWidget=t}t.prototype.navigateTo=function(t){t=this.listWidget.findListItem(0,t.title);void 0===t||(t=this.listWidget.children[t].findFirstDomNode())instanceof Element&&this.listWidget.dispatchEvent({type:'tm-scroll',target:t})},t.prototype.insert=function(t){var e=t.findFirstDomNode(),i=$tw.utils.getAnimationDuration();e instanceof Element&&(setTimeout(function(){$tw.utils.setStyle(e,[{transition:'none'},{transform:'none'}]),$tw.utils.setStyle(t.document.body,[{'overflow-x':''}])},i),$tw.utils.setStyle(t.document.body,[{'overflow-x':'hidden'}]),$tw.utils.setStyle(e,[{transition:'none'},{transform:'scale(2)'},{opacity:'0.0'}]),$tw.utils.forceLayout(e),$tw.utils.setStyle(e,[{transition:$tw.utils.roundTripPropertyName('transform')+' '+i+'ms ease-in-out, opacity '+i+'ms ease-in-out'},{transform:'scale(1)'},{opacity:'1.0'}]))},t.prototype.remove=function(t){function e(){i&&i.parentNode&&t.removeChildDomNodes()}var i=t.findFirstDomNode(),o=$tw.utils.getAnimationDuration();i instanceof Element?(setTimeout(e,o),$tw.utils.setStyle(i,[{transition:'none'},{transform:'scale(1)'},{opacity:'1.0'}]),$tw.utils.forceLayout(i),$tw.utils.setStyle(i,[{transition:$tw.utils.roundTripPropertyName('transform')+' '+o+'ms ease-in-out, opacity '+o+'ms ease-in-out'},{transform:'scale(0.1)'},{opacity:'0.0'}])):e()},exports.pop=t}();","type":"application/javascript","module-type":"storyview"},"$:/core/modules/storyviews/zoomin.js":{"text":"!function(){'use strict';function t(t){var n,s=this;this.listWidget=t,0<(t=this.listWidget.wiki.getTiddlerDataCached(this.listWidget.historyTitle,[])).length&&(n=t[t.length-1].title),$tw.utils.each(this.listWidget.children,function(t,i){var e=t.findFirstDomNode();e instanceof Element&&(n&&n!==t.parseTreeNode.itemTitle||!n&&i?e.style.display='none':s.currentTiddlerDomNode=e,$tw.utils.addClass(e,'tc-storyview-zoomin-tiddler'))})}var m='cubic-bezier(0.645, 0.045, 0.355, 1)';t.prototype.navigateTo=function(t){var i,e,n,s,r,o,l,a=$tw.utils.getAnimationDuration(),d=this.listWidget.findListItem(0,t.title);void 0===d||(i=(r=this.listWidget.children[d]).findFirstDomNode())instanceof Element&&($tw.utils.addClass(i,'tc-storyview-zoomin-tiddler'),$tw.utils.setStyle(i,[{display:'block'},{transformOrigin:'0 0'},{transform:'translateX(0px) translateY(0px) scale(1)'},{transition:'none'},{opacity:'0.0'}]),e=t.fromPageRect||{left:window.innerWidth/2-2,top:window.innerHeight/2-2,width:window.innerWidth/8,height:window.innerHeight/8},n=(function(t,i){i=i||'tc-title';t=t.findFirstDomNode();if(t&&t.querySelector)return t.querySelector('.'+i);return null}(r)||r.findFirstDomNode()).getBoundingClientRect(),s=i.getBoundingClientRect(),d=e.width/n.width,t=e.left-s.left-(n.left-s.left)*d,r=e.top-s.top-(n.top-s.top)*d,$tw.utils.setStyle(i,[{transform:'translateX('+t+'px) translateY('+r+'px) scale('+d+')'}]),$tw.utils.forceLayout(i),l=(o=this).currentTiddlerDomNode,this.currentTiddlerDomNode=i,$tw.utils.setStyle(i,[{transition:$tw.utils.roundTripPropertyName('transform')+' '+a+'ms '+m+', opacity '+a+'ms '+m},{opacity:'1.0'},{transform:'translateX(0px) translateY(0px) scale(1)'},{zIndex:'500'}]),l&&l!==i&&(d=n.width/e.width,t=n.left-s.left-(e.left-s.left)*d,r=n.top-s.top-(e.top-s.top)*d,$tw.utils.setStyle(l,[{transition:$tw.utils.roundTripPropertyName('transform')+' '+a+'ms '+m+', opacity '+a+'ms '+m},{opacity:'0.0'},{transformOrigin:'0 0'},{transform:'translateX('+t+'px) translateY('+r+'px) scale('+d+')'},{zIndex:'0'}]),setTimeout(function(){o.currentTiddlerDomNode!==l&&(l.style.display='none')},a)))},t.prototype.insert=function(t){t=t.findFirstDomNode();t instanceof Element&&($tw.utils.addClass(t,'tc-storyview-zoomin-tiddler'),$tw.utils.setStyle(t,[{display:'none'}]))},t.prototype.remove=function(t){function i(){t.removeChildDomNodes()}var e=t.findFirstDomNode(),n=$tw.utils.getAnimationDuration();if(e instanceof Element){if('block'==e.style.display){$tw.utils.addClass(e,'tc-storyview-zoomin-tiddler'),$tw.utils.setStyle(e,[{display:'block'},{transformOrigin:'50% 50%'},{transform:'translateX(0px) translateY(0px) scale(1)'},{transition:'none'},{zIndex:'0'}]);var s=t.previousSibling(),s=(s=s||t.nextSibling())&&s.findFirstDomNode();return s&&($tw.utils.addClass(s,'tc-storyview-zoomin-tiddler'),$tw.utils.setStyle(s,[{display:'block'},{transformOrigin:'50% 50%'},{transform:'translateX(0px) translateY(0px) scale(10)'},{transition:$tw.utils.roundTripPropertyName('transform')+' '+n+'ms '+m+', opacity '+n+'ms '+m},{opacity:'0'},{zIndex:'500'}]),this.currentTiddlerDomNode=s),$tw.utils.forceLayout(this.listWidget.parentDomNode),$tw.utils.setStyle(e,[{transformOrigin:'50% 50%'},{transform:'translateX(0px) translateY(0px) scale(0.1)'},{transition:$tw.utils.roundTripPropertyName('transform')+' '+n+'ms '+m+', opacity '+n+'ms '+m},{opacity:'0'},{zIndex:'0'}]),setTimeout(i,n),s&&$tw.utils.setStyle(s,[{transform:'translateX(0px) translateY(0px) scale(1)'},{opacity:'1'}]),!0}i()}else i()},exports.zoomin=t}();","type":"application/javascript","module-type":"storyview"},"$:/core/modules/syncer.js":{"text":"!function(){'use strict';function t(t){var n=this;this.wiki=t.wiki,this.syncadaptor=t.syncadaptor,this.disableUI=!!t.disableUI,this.titleIsLoggedIn=t.titleIsLoggedIn||this.titleIsLoggedIn,this.titleUserName=t.titleUserName||this.titleUserName,this.titleSyncFilter=t.titleSyncFilter||this.titleSyncFilter,this.titleSavedNotification=t.titleSavedNotification||this.titleSavedNotification,this.taskTimerInterval=t.taskTimerInterval||this.taskTimerInterval,this.throttleInterval=t.throttleInterval||parseInt(this.wiki.getTiddlerText(this.titleSyncThrottleInterval,''),10)||this.throttleInterval,this.errorRetryInterval=t.errorRetryInterval||this.errorRetryInterval,this.fallbackInterval=t.fallbackInterval||this.fallbackInterval,this.pollTimerInterval=t.pollTimerInterval||parseInt(this.wiki.getTiddlerText(this.titleSyncPollingInterval,''),10)||this.pollTimerInterval,this.logging=!('logging'in t)||t.logging,this.logger=new $tw.utils.Logger('syncer'+($tw.browser?'-browser':'')+($tw.node?'-server':'')+(this.syncadaptor.name?'-'+this.syncadaptor.name:''),{colour:'cyan',enable:this.logging,saveHistory:!0}),this.loggerConnection=new $tw.utils.Logger('syncer'+($tw.browser?'-browser':'')+($tw.node?'-server':'')+(this.syncadaptor.name?'-'+this.syncadaptor.name:'')+'-connection',{colour:'cyan',enable:this.logging}),this.syncadaptor.setLoggerSaveBuffer&&this.syncadaptor.setLoggerSaveBuffer(this.logger),this.filterFn=this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter)),this.readTiddlerInfo(),this.titlesToBeLoaded={},this.titlesHaveBeenLazyLoaded={},this.taskTimerId=null,this.pollTimerId=null,this.numTasksInProgress=0,this.wiki.addEventListener('change',function(t){var r;0<n.getSyncedTiddlers(function(r){$tw.utils.each(t,function(t,e){var i=n.wiki.tiddlerExists(e)&&n.wiki.getTiddler(e);r(i,e)})}).length?n.processTaskQueue():(r=!1,$tw.utils.each(t,function(t,e,i){t.deleted&&$tw.utils.hop(n.tiddlerInfo,e)&&(r=!0)}),r&&n.processTaskQueue())}),$tw.browser&&!this.disableUI&&($tw.addUnloadTask(function(t){var e;return n.isDirty()&&(e=$tw.language.getString('UnsavedChangesWarning'),t.returnValue=e),e}),$tw.rootWidget.addEventListener('tm-login',function(t){var e=t&&t.paramObject&&t.paramObject.username,t=t&&t.paramObject&&t.paramObject.password;e&&t?n.login(e,t,function(){}):n.handleLoginEvent()}),$tw.rootWidget.addEventListener('tm-logout',function(){n.handleLogoutEvent()}),$tw.rootWidget.addEventListener('tm-server-refresh',function(){n.handleRefreshEvent()}),$tw.rootWidget.addEventListener('tm-copy-syncer-logs-to-clipboard',function(){$tw.utils.copyToClipboard($tw.utils.getSystemInfo()+'\\n\\nLog:\\n'+n.logger.getBuffer())})),this.disableUI||'yes'===this.wiki.getTiddlerText(this.titleSyncDisableLazyLoading)||this.wiki.addEventListener('lazyLoad',function(t){n.handleLazyLoadEvent(t)}),this.getStatus(function(t,e){n.syncFromServer()})}function d(t,e){this.syncer=t,this.title=e,this.type='save'}function g(t,e){this.syncer=t,this.title=e,this.type='delete'}function h(t,e){this.syncer=t,this.title=e,this.type='load'}t.prototype.titleIsLoggedIn='$:/status/IsLoggedIn',t.prototype.titleIsAnonymous='$:/status/IsAnonymous',t.prototype.titleIsReadOnly='$:/status/IsReadOnly',t.prototype.titleUserName='$:/status/UserName',t.prototype.titleSyncFilter='$:/config/SyncFilter',t.prototype.titleSyncPollingInterval='$:/config/SyncPollingInterval',t.prototype.titleSyncDisableLazyLoading='$:/config/SyncDisableLazyLoading',t.prototype.titleSavedNotification='$:/language/Notifications/Save/Done',t.prototype.titleSyncThrottleInterval='$:/config/SyncThrottleInterval',t.prototype.taskTimerInterval=1e3,t.prototype.throttleInterval=1e3,t.prototype.errorRetryInterval=5e3,t.prototype.fallbackInterval=1e4,t.prototype.pollTimerInterval=6e4,t.prototype.displayError=function(t,e){e===$tw.language.getString('Error/XMLHttpRequest')+': 0'?(this.loggerConnection.alert($tw.language.getString('Error/NetworkErrorAlert')),this.logger.log(t+':',e)):this.logger.alert(t+':',e)},t.prototype.getSyncedTiddlers=function(t){return this.filterFn.call(this.wiki,t)},t.prototype.getTiddlerRevision=function(t){return this.syncadaptor&&this.syncadaptor.getTiddlerRevision?this.syncadaptor.getTiddlerRevision(t):this.wiki.getTiddler(t).fields.revision},t.prototype.readTiddlerInfo=function(){this.tiddlerInfo={};var i=this,t=this.getSyncedTiddlers();$tw.utils.each(t,function(t){var e=i.wiki.getTiddler(t);e&&(i.tiddlerInfo[t]={revision:i.getTiddlerRevision(t),adaptorInfo:i.syncadaptor&&i.syncadaptor.getTiddlerInfo(e),changeCount:i.wiki.getChangeCount(t)})})},t.prototype.isDirty=function(){this.logger.log('Checking dirty status');for(var t=this.getSyncedTiddlers(),e=0;e<t.length;e++){var i=t[e],r=this.tiddlerInfo[i];if(this.wiki.tiddlerExists(i)){if(!r)return!0;if(this.wiki.getChangeCount(i)>r.changeCount)return!0}}for(t=Object.keys(this.tiddlerInfo),e=0;e<t.length;e++)if(!this.wiki.tiddlerExists(t[e]))return!0;return!1},t.prototype.updateDirtyStatus=function(){var t;$tw.browser&&!this.disableUI&&(t=this.isDirty(),$tw.utils.toggleClass(document.body,'tc-dirty',t),t||this.loggerConnection.clearAlerts())},t.prototype.storeTiddler=function(t){var e=new $tw.Tiddler(t);this.wiki.addTiddler(e),this.tiddlerInfo[t.title]={revision:this.getTiddlerRevision(t.title),adaptorInfo:this.syncadaptor.getTiddlerInfo(e),changeCount:this.wiki.getChangeCount(t.title)}},t.prototype.getStatus=function(s){var o=this;this.syncadaptor&&this.syncadaptor.getStatus?(this.wiki.addTiddler({title:this.titleIsLoggedIn,text:'no'}),this.syncadaptor.getStatus(function(t,e,i,r,n){t?o.logger.alert(t):(o.wiki.addTiddler({title:o.titleIsReadOnly,text:r?'yes':'no'}),o.wiki.addTiddler({title:o.titleIsAnonymous,text:n?'yes':'no'}),o.wiki.addTiddler({title:o.titleIsLoggedIn,text:e?'yes':'no'}),e&&o.wiki.addTiddler({title:o.titleUserName,text:i||''})),s&&s(t,e,i)})):s(null,!0,'UNAUTHENTICATED')},t.prototype.syncFromServer=function(){function t(){g.pollTimerId&&(clearTimeout(g.pollTimerId),g.pollTimerId=null)}function d(){g.pollTimerId=setTimeout(function(){g.pollTimerId=null,g.syncFromServer.call(g)},g.pollTimerInterval)}var g=this,h='yes'===g.wiki.getTiddlerText('$:/config/SyncSystemTiddlersFromServer');this.syncadaptor&&this.syncadaptor.getUpdatedTiddlers?(this.logger.log('Retrieving updated tiddler list'),t(),this.syncadaptor.getUpdatedTiddlers(g,function(t,e){d(),t?g.displayError($tw.language.getString('Error/RetrievingSkinny'),t):e&&($tw.utils.each(e.modifications,function(t){g.titlesToBeLoaded[t]=!0}),$tw.utils.each(e.deletions,function(t){!h&&g.wiki.isSystemTiddler(t)||(delete g.tiddlerInfo[t],g.logger.log('Deleting tiddler missing from server:',t),g.wiki.deleteTiddler(t))}),(0<e.modifications.length||0<e.deletions.length)&&g.processTaskQueue())})):this.syncadaptor&&this.syncadaptor.getSkinnyTiddlers&&(this.logger.log('Retrieving skinny tiddler list'),t(),this.syncadaptor.getSkinnyTiddlers(function(t,e){if(d(),t)g.displayError($tw.language.getString('Error/RetrievingSkinny'),t);else{for(var i=Object.keys(g.tiddlerInfo),r=0;r<e.length;r++){var n=e[r],s=n.revision+'',o=g.wiki.tiddlerExists(n.title)&&g.wiki.getTiddler(n.title),l=g.tiddlerInfo[n.title],a=l?l.revision:null,l=i.indexOf(n.title);-1!==l&&i.splice(l,1),a!==s&&(o&&void 0!==o.fields.text||g.storeTiddler(n),g.titlesToBeLoaded[n.title]=!0)}$tw.utils.each(i,function(t){!h&&g.wiki.isSystemTiddler(t)||(delete g.tiddlerInfo[t],g.logger.log('Deleting tiddler missing from server:',t),g.wiki.deleteTiddler(t))}),g.processTaskQueue()}}))},t.prototype.enqueueLoadTiddler=function(t){this.titlesToBeLoaded[t]=!0,this.processTaskQueue()},t.prototype.handleLazyLoadEvent=function(t){this.syncadaptor.supportsLazyLoading&&(this.titlesHaveBeenLazyLoaded[t]||-1!==this.getSyncedTiddlers().indexOf(t)&&(this.titlesToBeLoaded[t]=!0,this.titlesHaveBeenLazyLoaded[t]=!0))},t.prototype.handleLoginEvent=function(){var r=this;this.getStatus(function(t,e,i){t||e||(r.syncadaptor&&r.syncadaptor.displayLoginPrompt?r.syncadaptor.displayLoginPrompt(r):r.displayLoginPrompt())})},t.prototype.displayLoginPrompt=function(){var i=this;$tw.passwordPrompt.createPrompt({serviceName:$tw.language.getString('LoginToTiddlySpace'),callback:function(t){return i.login(t.username,t.password,function(t,e){i.syncFromServer()}),!0}})},t.prototype.login=function(t,e,r){this.logger.log('Attempting to login as',t);var i=this;this.syncadaptor.login?this.syncadaptor.login(t,e,function(t){return t?r(t):void i.getStatus(function(t,e,i){r&&r(t,e)})}):r(null,!0)},t.prototype.handleLogoutEvent=function(){this.logger.log('Attempting to logout');var e=this;this.syncadaptor.logout&&this.syncadaptor.logout(function(t){t?e.logger.alert(t):e.getStatus()})},t.prototype.handleRefreshEvent=function(){this.syncFromServer()},t.prototype.processTaskQueue=function(){var e,i=this;this.syncadaptor.isReady&&!this.syncadaptor.isReady()||0!==this.numTasksInProgress?this.updateDirtyStatus():'object'==typeof(e=this.chooseNextTask())&&null!==e?(this.numTasksInProgress+=1,e.run(function(t){--i.numTasksInProgress,t?(i.displayError('Sync error while processing '+e.type+' of \\''+e.title+'\\'',t),i.updateDirtyStatus(),i.triggerTimeout(i.errorRetryInterval)):(i.updateDirtyStatus(),i.processTaskQueue.call(i))})):(this.updateDirtyStatus(),!0===e&&this.triggerTimeout())},t.prototype.triggerTimeout=function(t){var e=this;this.taskTimerId||(this.taskTimerId=setTimeout(function(){e.taskTimerId=null,e.processTaskQueue.call(e)},t||e.taskTimerInterval))},t.prototype.chooseNextTask=function(){for(var t=new Date-this.throttleInterval,e=null,i=this.getSyncedTiddlers(),r=0;r<i.length;r++){var n=i[r],s=this.wiki.tiddlerExists(n)&&this.wiki.getTiddler(n),o=this.tiddlerInfo[n];if(s){var l=!o||this.wiki.getChangeCount(n)>o.changeCount,a=!o||!o.timestampLastSaved||o.timestampLastSaved<t;if(l){if(a)return new d(this,n);e=!0}}}for(i=Object.keys(this.tiddlerInfo),r=0;r<i.length;r++)if(n=i[r],o=this.tiddlerInfo[n],!(s=this.wiki.tiddlerExists(n)&&this.wiki.getTiddler(n)))return new g(this,n);return(n=Object.keys(this.titlesToBeLoaded)[0])?(delete this.titlesToBeLoaded[n],new h(this,n)):e},d.prototype.run=function(r){var n=this,s=this.syncer.wiki.getChangeCount(this.title),t=this.syncer.wiki.tiddlerExists(this.title)&&this.syncer.wiki.getTiddler(this.title);this.syncer.logger.log('Dispatching \\'save\\' task:',this.title),t?this.syncer.syncadaptor.saveTiddler(t,function(t,e,i){return t?r(t):(n.syncer.tiddlerInfo[n.title]={changeCount:s,adaptorInfo:e,revision:i,timestampLastSaved:new Date},void r(null))},{tiddlerInfo:n.syncer.tiddlerInfo[n.title]}):(this.syncer.logger.log(' Not Dispatching \\'save\\' task:',this.title,'tiddler does not exist'),$tw.utils.nextTick(r(null)))},g.prototype.run=function(e){var i=this;this.syncer.logger.log('Dispatching \\'delete\\' task:',this.title),this.syncer.syncadaptor.deleteTiddler(this.title,function(t){return t?e(t):(delete i.syncer.tiddlerInfo[i.title],$tw.boot.files&&delete $tw.boot.files[i.title],void e(null))},{tiddlerInfo:i.syncer.tiddlerInfo[this.title]})},h.prototype.run=function(i){var r=this;this.syncer.logger.log('Dispatching \\'load\\' task:',this.title),this.syncer.syncadaptor.loadTiddler(this.title,function(t,e){return t?i(t):(e&&r.syncer.storeTiddler(e),void i(null))})},exports.Syncer=t}();","type":"application/javascript","module-type":"global"},"$:/core/modules/tiddler.js":{"text":"!function(){'use strict';exports.hasTag=function(t){return this.fields.tags&&-1!==this.fields.tags.indexOf(t)},exports.isPlugin=function(){return'application/json'===this.fields.type&&this.hasField('plugin-type')},exports.isDraft=function(){return this.hasField('draft.of')},exports.getFieldString=function(t){var i=this.fields[t];if(null==i)return'';t=$tw.Tiddler.fieldModules[t];return t&&t.stringify?t.stringify.call(this,i):i.toString()},exports.getFieldList=function(t){t=this.fields[t];return null==t?[]:$tw.utils.parseStringArray(t)},exports.getFieldStrings=function(t){var i,e=(t=t||{}).exclude||[],s={};for(i in this.fields)$tw.utils.hop(this.fields,i)&&-1===e.indexOf(i)&&(s[i]=this.getFieldString(i));return s},exports.getFieldStringBlock=function(t){for(var i=(t=t||{}).exclude||[],e=Object.keys(this.fields).sort(),s=[],r=0;r<e.length;r++){var n=e[r];-1===i.indexOf(n)&&s.push(n+': '+this.getFieldString(n))}return s.join('\\n')},exports.getFieldDay=function(t){if(this.cache&&this.cache.day&&$tw.utils.hop(this.cache.day,t))return this.cache.day[t];var i='';return this.fields[t]&&(i=new Date($tw.utils.parseDate(this.fields[t])).setHours(0,0,0,0)),this.cache.day=this.cache.day||{},this.cache.day[t]=i}}();","type":"application/javascript","module-type":"tiddlermethod"},"$:/core/modules/upgraders/plugins.js":{"text":"!function(){'use strict';var a={'$:/themes/tiddlywiki/stickytitles':{versions:['*']},'$:/plugins/tiddlywiki/fullscreen':{versions:['*']}};exports.upgrade=function(s,e,t){var l,d={};return $tw.utils.each(e,function(e){var i=t[e];if(i&&i['plugin-type']){var r=s.doesPluginInfoRequireReload(JSON.parse(i.text))?s.getTiddlerText('$:/language/ControlPanel/Plugins/PluginWillRequireReload')+' ':'';if(d[e]=r,i.version){var n=(n=e,l||((l=s.getTiddlerData('$:/UpgradeLibrary',{})).tiddlers=l.tiddlers||{}),l.tiddlers[n]);if(n&&n['plugin-type']&&n.version)return t[e]=n,void(d[e]=r+$tw.language.getString('Import/Upgrader/Plugins/Upgraded',{variables:{incoming:i.version,upgraded:n.version}}));n=s.getTiddler(e);if(n&&n.hasField('plugin-type')&&n.hasField('version')&&$tw.utils.checkVersions(n.fields.version,i.version))return t[e]=Object.create(null),void(d[e]=$tw.language.getString('Import/Upgrader/Plugins/Suppressed/Version',{variables:{incoming:i.version,existing:n.fields.version}}))}n=a[e];n&&(-1!==n.versions.indexOf('*')||i.version&&-1!==n.versions.indexOf(i.version))&&(t[e]=Object.create(null),d[e]=$tw.language.getString('Import/Upgrader/Plugins/Suppressed/Incompatible'))}}),d}}();","type":"application/javascript","module-type":"upgrader"},"$:/core/modules/upgraders/system.js":{"text":"!function(){'use strict';var i=['$:/StoryList','$:/HistoryList'],l=['$:/temp/','$:/state/','$:/Import'],u=['$:/core/modules/'];exports.upgrade=function(g,t,a){var n={},s=!1;return $tw.utils.each(t,function(t){if(-1!==i.indexOf(t))a[t]=Object.create(null),n[t]=$tw.language.getString('Import/Upgrader/System/Suppressed');else{for(var e=0;e<l.length;e++){var r=l[e];t.substr(0,r.length)===r&&(a[t]=Object.create(null),n[t]=$tw.language.getString('Import/Upgrader/State/Suppressed'))}for(e=0;e<u.length;e++){r=u[e];t.substr(0,r.length)===r&&g.isShadowTiddler(t)&&(s=!0,n[t]=$tw.language.getString('Import/Upgrader/System/Warning'))}}}),s&&new $tw.utils.Logger('import').alert($tw.language.getString('Import/Upgrader/System/Alert')),n}}();","type":"application/javascript","module-type":"upgrader"},"$:/core/modules/upgraders/themetweaks.js":{"text":"!function(){'use strict';var h={'$:/themes/tiddlywiki/vanilla/metrics':{fontsize:'$:/themes/tiddlywiki/vanilla/metrics/fontsize',lineheight:'$:/themes/tiddlywiki/vanilla/metrics/lineheight',storyleft:'$:/themes/tiddlywiki/vanilla/metrics/storyleft',storytop:'$:/themes/tiddlywiki/vanilla/metrics/storytop',storyright:'$:/themes/tiddlywiki/vanilla/metrics/storyright',storywidth:'$:/themes/tiddlywiki/vanilla/metrics/storywidth',tiddlerwidth:'$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth'},'$:/themes/tiddlywiki/vanilla/settings':{fontfamily:'$:/themes/tiddlywiki/vanilla/settings/fontfamily'}};exports.upgrade=function(s,t,d){var n={};return $tw.utils.each(t,function(t){var i=h[t];if(i){var e,l=new $tw.Tiddler(d[t]),r=s.getTiddlerDataCached(l,{});for(e in i){var a=i[e];d[a]&&d[a].title===a||(d[a]={title:a,text:r[e]},n[a]=$tw.language.getString('Import/Upgrader/ThemeTweaks/Created',{variables:{from:t+'##'+e}}))}}}),n}}();","type":"application/javascript","module-type":"upgrader"},"$:/core/modules/utils/base64-utf8/base64-utf8.module.js":{"text":"(function(){var r,e;r=function(){return{encode:function(r){if('string'!=typeof r)return r;r=r.replace(/\\r\\n/g,'\\n');for(var e,o,t,n='',i=0;i<r.length;i++)(e=r.charCodeAt(i))<128?n+=String.fromCharCode(e):127<e&&e<2048?(n+=String.fromCharCode(e>>6|192),n+=String.fromCharCode(63&e|128)):55295<e&&e<57344&&r.length>i+1?(o=e,t=r.charCodeAt(i+1),i++,t=65536+(o-55296<<10|t-56320),n+=String.fromCharCode(t>>18|240),n+=String.fromCharCode(t>>12&63|128),n+=String.fromCharCode(t>>6&63|128),n+=String.fromCharCode(63&t|128)):(n+=String.fromCharCode(e>>12|224),n+=String.fromCharCode(e>>6&63|128),n+=String.fromCharCode(63&e|128));return n},decode:function(r){if('string'!=typeof r)return r;for(var e,o,t='',n=0;n<r.length;)(e=r.charCodeAt(n))<128?(t+=String.fromCharCode(e),n++):191<e&&e<224?(t+=String.fromCharCode((31&e)<<6|63&r.charCodeAt(n+1)),n+=2):223<e&&e<240?(t+=String.fromCharCode((15&e)<<12|(63&r.charCodeAt(n+1))<<6|63&r.charCodeAt(n+2)),n+=3):(o=(7&e)<<18|(63&r.charCodeAt(n+1))<<12|(63&r.charCodeAt(n+2))<<6|63&r.charCodeAt(n+3),t+=String.fromCharCode(55296+(o-65536>>10))+String.fromCharCode(56320+(o-65536&1023)),n+=4);return t}}},void 0!==(e=this).module&&e.module.exports?e.module.exports=r.apply(e):void 0!==e.define&&'function'===e.define&&e.define.amd?define('utf8',[],r):e.utf8=r.apply(e),function(r,e,o){if(void 0!==e.module&&e.module.exports){if(e.require)for(var t=0;t<o.length;t++)e[o[t]]=e.require(o[t]);e.module.exports=r.apply(e)}else void 0!==e.define&&'function'===e.define&&e.define.amd?define('base64',o,r):e.base64=r.apply(e)}(function(r){var h=r||this.utf8,C='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';return{encode:function(r){if(void 0===h)throw{error:'MissingMethod',message:'UTF8 Module is missing.'};if('string'!=typeof r)return r;r=h.encode(r);for(var e,o,t,n,i,d,a='',f=0;f<r.length;)t=(d=r.charCodeAt(f++))>>2,n=(3&d)<<4|(e=r.charCodeAt(f++))>>4,i=(15&e)<<2|(o=r.charCodeAt(f++))>>6,d=63&o,isNaN(e)?i=d=64:isNaN(o)&&(d=64),a+=C.charAt(t)+C.charAt(n)+C.charAt(i)+C.charAt(d);return a},decode:function(r){if(void 0===h)throw{error:'MissingMethod',message:'UTF8 Module is missing.'};if('string'!=typeof r)return r;r=r.replace(/[^A-Za-z0-9\\+\\/\\=]/g,'');for(var e,o,t,n,i,d='',a=0;a<r.length;)e=C.indexOf(r.charAt(a++))<<2|(t=C.indexOf(r.charAt(a++)))>>4,o=(15&t)<<4|(n=C.indexOf(r.charAt(a++)))>>2,t=(3&n)<<6|(i=C.indexOf(r.charAt(a++))),d+=String.fromCharCode(e),64!=n&&(d+=String.fromCharCode(o)),64!=i&&(d+=String.fromCharCode(t));return h.decode(d)}}},this,['utf8'])}).call(exports);","type":"application/javascript","module-type":"library"},"$:/core/modules/utils/crypto.js":{"text":"!function(){'use strict';exports.extractEncryptedStoreArea=function(t){var r='<pre id=\"encryptedStoreArea\" type=\"text/plain\" style=\"display:none;\">',e=t.indexOf(r);if(-1!==e){var n=t.indexOf('</pre>',e);if(-1!==n)return $tw.utils.htmlDecode(t.substring(e+r.length,n-1))}return null},exports.decryptStoreArea=function(t,r){r=$tw.crypto.decrypt(t,r);if(r){var e,n=JSON.parse(r),s=[];for(e in n)'$:/isEncrypted'!==e&&s.push(n[e]);return s}return null},exports.decryptStoreAreaInteractive=function(e,n,t){var r=$tw.utils.decryptStoreArea(e);r?n(r):$tw.passwordPrompt.createPrompt({serviceName:'Enter a password to decrypt the imported TiddlyWiki',noUserName:!0,canCancel:!0,submitText:'Decrypt',callback:function(t){if(!t)return!1;var r=$tw.utils.decryptStoreArea(e,t.password);return!!r&&($tw.config.usePasswordVault&&$tw.crypto.setPassword(t.password),n(r),!0)}})}}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/csv.js":{"text":"!function(){'use strict';exports.parseCsvStringWithHeader=function(r,t){var e=(t=t||{}).separator||',',n=r.split(/\\r?\\n/gm).map(function(r){return $tw.utils.trim(r)}).filter(function(r){return''!==r});if(n.length<1)return'Missing header row';for(var i=n[0].split(e),l=[],s=1;s<n.length;s++){var u=n[s].split(e),a=Object.create(null);if(u.length!==i.length)return'Malformed CSV row \\''+n[s]+'\\'';for(var o=0;o<u.length;o++)a[i[o]]=$tw.utils.trim(u[o]||'');l.push(a)}return l}}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/diff-match-patch/diff_match_patch.js":{"text":"(function(){function o(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32}var x=-1;o.prototype.diff_main=function(t,e,n,i){if(void 0===i&&(i=this.Diff_Timeout<=0?Number.MAX_VALUE:(new Date).getTime()+1e3*this.Diff_Timeout),null==t||null==e)throw Error('Null input. (diff_main)');if(t==e)return t?[[0,t]]:[];void 0===n&&(n=!0);var r=n,h=this.diff_commonPrefix(t,e);n=t.substring(0,h),t=t.substring(h),e=e.substring(h),h=this.diff_commonSuffix(t,e);var s=t.substring(t.length-h);return t=t.substring(0,t.length-h),e=e.substring(0,e.length-h),t=this.diff_compute_(t,e,r,i),n&&t.unshift([0,n]),s&&t.push([0,s]),this.diff_cleanupMerge(t),t},o.prototype.diff_compute_=function(t,e,n,i){if(!t)return[[1,e]];if(!e)return[[x,t]];var r=t.length>e.length?t:e,h=t.length>e.length?e:t,s=r.indexOf(h);return-1!=s?(n=[[1,r.substring(0,s)],[0,h],[1,r.substring(s+h.length)]],t.length>e.length&&(n[0][0]=n[2][0]=x),n):1==h.length?[[x,t],[1,e]]:(r=this.diff_halfMatch_(t,e))?(e=r[1],h=r[3],t=r[4],r=this.diff_main(r[0],r[2],n,i),n=this.diff_main(e,h,n,i),r.concat([[0,t]],n)):n&&100<t.length&&100<e.length?this.diff_lineMode_(t,e,i):this.diff_bisect_(t,e,i)},o.prototype.diff_lineMode_=function(t,e,n){var i=this.diff_linesToChars_(t,e);t=i.chars1,e=i.chars2,i=i.lineArray,t=this.diff_main(t,e,!1,n),this.diff_charsToLines_(t,i),this.diff_cleanupSemantic(t),t.push([0,'']);for(var r=i=e=0,h='',s='';e<t.length;){switch(t[e][0]){case 1:r++,s+=t[e][1];break;case x:i++,h+=t[e][1];break;case 0:if(1<=i&&1<=r){for(t.splice(e-i-r,i+r),e=e-i-r,r=(i=this.diff_main(h,s,!1,n)).length-1;0<=r;r--)t.splice(e,0,i[r]);e+=i.length}i=r=0,s=h=''}e++}return t.pop(),t},o.prototype.diff_bisect_=function(t,e,n){for(var i=t.length,r=e.length,h=Math.ceil((i+r)/2),s=2*h,a=Array(s),f=Array(s),l=0;l<s;l++)a[l]=-1,f[l]=-1;a[h+1]=0;for(var g=(f[h+1]=0)!=(l=i-r)%2,o=0,c=0,u=0,p=0,d=0;d<h&&!((new Date).getTime()>n);d++){for(var _=-d+o;_<=d-c;_+=2){for(var b=h+_,m=_==-d||_!=d&&a[b-1]<a[b+1]?a[b+1]:a[b-1]+1,v=m-_;m<i&&v<r&&t.charAt(m)==e.charAt(v);)m++,v++;if(i<(a[b]=m))c+=2;else if(r<v)o+=2;else if(g&&(0<=(b=h+l-_)&&b<s&&-1!=f[b])){var M=i-f[b];if(M<=m)return this.diff_bisectSplit_(t,e,m,v,n)}}for(_=-d+u;_<=d-p;_+=2){for(b=h+_,m=(M=_==-d||_!=d&&f[b-1]<f[b+1]?f[b+1]:f[b-1]+1)-_;M<i&&m<r&&t.charAt(i-M-1)==e.charAt(r-m-1);)M++,m++;if(i<(f[b]=M))p+=2;else if(r<m)u+=2;else if(!g&&(0<=(b=h+l-_)&&b<s&&-1!=a[b]&&(v=h+(m=a[b])-b,(M=i-M)<=m)))return this.diff_bisectSplit_(t,e,m,v,n)}}return[[x,t],[1,e]]},o.prototype.diff_bisectSplit_=function(t,e,n,i,r){var h=t.substring(0,n),s=e.substring(0,i);return t=t.substring(n),e=e.substring(i),h=this.diff_main(h,s,!1,r),r=this.diff_main(t,e,!1,r),h.concat(r)},o.prototype.diff_linesToChars_=function(t,e){function n(t){for(var e='',n=0,i=-1,r=s.length;i<t.length-1;){-1==(i=t.indexOf('\\n',n))&&(i=t.length-1);var h=t.substring(n,i+1),n=i+1;(a.hasOwnProperty?a.hasOwnProperty(h):void 0!==a[h])?e+=String.fromCharCode(a[h]):(e+=String.fromCharCode(r),a[h]=r,s[r++]=h)}return e}var s=[],a={};return s[0]='',{chars1:n(t),chars2:n(e),lineArray:s}},o.prototype.diff_charsToLines_=function(t,e){for(var n=0;n<t.length;n++){for(var i=t[n][1],r=[],h=0;h<i.length;h++)r[h]=e[i.charCodeAt(h)];t[n][1]=r.join('')}},o.prototype.diff_commonPrefix=function(t,e){if(!t||!e||t.charAt(0)!=e.charAt(0))return 0;for(var n=0,i=Math.min(t.length,e.length),r=i,h=0;n<r;)t.substring(h,r)==e.substring(h,r)?h=n=r:i=r,r=Math.floor((i-n)/2+n);return r},o.prototype.diff_commonSuffix=function(t,e){if(!t||!e||t.charAt(t.length-1)!=e.charAt(e.length-1))return 0;for(var n=0,i=Math.min(t.length,e.length),r=i,h=0;n<r;)t.substring(t.length-r,t.length-h)==e.substring(e.length-r,e.length-h)?h=n=r:i=r,r=Math.floor((i-n)/2+n);return r},o.prototype.diff_commonOverlap_=function(t,e){var n=t.length,i=e.length;if(0==n||0==i)return 0;if(i<n?t=t.substring(n-i):n<i&&(e=e.substring(0,n)),n=Math.min(n,i),t==e)return n;i=0;for(var r=1;;){var h=t.substring(n-r);if(-1==(h=e.indexOf(h)))return i;r+=h,0!=h&&t.substring(n-r)!=e.substring(0,r)||(i=r,r++)}},o.prototype.diff_halfMatch_=function(t,e){function n(t,e,n){for(var i,r,h,s,a=t.substring(n,n+Math.floor(t.length/4)),f=-1,l='';-1!=(f=e.indexOf(a,f+1));){var g=c.diff_commonPrefix(t.substring(n),e.substring(f)),o=c.diff_commonSuffix(t.substring(0,n),e.substring(0,f));l.length<o+g&&(l=e.substring(f-o,f)+e.substring(f,f+g),i=t.substring(0,n-o),r=t.substring(n+g),h=e.substring(0,f-o),s=e.substring(f+g))}return 2*l.length>=t.length?[i,r,h,s,l]:null}if(this.Diff_Timeout<=0)return null;var i=t.length>e.length?t:e,r=t.length>e.length?e:t;if(i.length<4||2*r.length<i.length)return null;var h,s,c=this,a=n(i,r,Math.ceil(i.length/4)),i=n(i,r,Math.ceil(i.length/2));return a||i?(a=!i||a&&a[4].length>i[4].length?a:i,t.length>e.length?(i=a[0],r=a[1],h=a[2],s=a[3]):(h=a[0],s=a[1],i=a[2],r=a[3]),[i,r,h,s,a[4]]):null},o.prototype.diff_cleanupSemantic=function(t){for(var e=!1,n=[],i=0,r=null,h=0,s=0,a=0,f=0,l=0;h<t.length;)0==t[h][0]?(s=f,a=l,l=f=0,r=t[n[i++]=h][1]):(1==t[h][0]?f+=t[h][1].length:l+=t[h][1].length,r&&r.length<=Math.max(s,a)&&r.length<=Math.max(f,l)&&(t.splice(n[i-1],0,[x,r]),t[n[i-1]+1][0]=1,i--,h=0<--i?n[i-1]:-1,l=f=a=s=0,e=!(r=null))),h++;for(e&&this.diff_cleanupMerge(t),this.diff_cleanupSemanticLossless(t),h=1;h<t.length;)t[h-1][0]==x&&1==t[h][0]&&(e=t[h-1][1],n=t[h][1],i=this.diff_commonOverlap_(e,n),(r=this.diff_commonOverlap_(n,e))<=i?(i>=e.length/2||i>=n.length/2)&&(t.splice(h,0,[0,n.substring(0,i)]),t[h-1][1]=e.substring(0,e.length-i),t[h+1][1]=n.substring(i),h++):(r>=e.length/2||r>=n.length/2)&&(t.splice(h,0,[0,e.substring(0,r)]),t[h-1][0]=1,t[h-1][1]=n.substring(0,n.length-r),t[h+1][0]=x,t[h+1][1]=e.substring(r),h++),h++),h++},o.prototype.diff_cleanupSemanticLossless=function(t){function e(t,e){if(!t||!e)return 6;var n=t.charAt(t.length-1),i=e.charAt(0),r=n.match(o.nonAlphaNumericRegex_),h=i.match(o.nonAlphaNumericRegex_),s=r&&n.match(o.whitespaceRegex_),a=h&&i.match(o.whitespaceRegex_),n=s&&n.match(o.linebreakRegex_),i=a&&i.match(o.linebreakRegex_),t=n&&t.match(o.blanklineEndRegex_),e=i&&e.match(o.blanklineStartRegex_);return t||e?5:n||i?4:r&&!s&&a?3:s||a?2:r||h?1:0}for(var n=1;n<t.length-1;){if(0==t[n-1][0]&&0==t[n+1][0]){var i,r=t[n-1][1],h=t[n][1],s=t[n+1][1],a=this.diff_commonSuffix(r,h);a&&(i=h.substring(h.length-a),r=r.substring(0,r.length-a),h=i+h.substring(0,h.length-a),s=i+s);for(var f=s,l=e(a=r,i=h)+e(h,s);h.charAt(0)===s.charAt(0);){r+=h.charAt(0),h=h.substring(1)+s.charAt(0),s=s.substring(1);var g=e(r,h)+e(h,s);l<=g&&(l=g,a=r,i=h,f=s)}t[n-1][1]!=a&&(a?t[n-1][1]=a:(t.splice(n-1,1),n--),t[n][1]=i,f?t[n+1][1]=f:(t.splice(n+1,1),n--))}n++}},o.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,o.whitespaceRegex_=/\\s/,o.linebreakRegex_=/[\\r\\n]/,o.blanklineEndRegex_=/\\n\\r?\\n$/,o.blanklineStartRegex_=/^\\r?\\n\\r?\\n/,o.prototype.diff_cleanupEfficiency=function(t){for(var e=!1,n=[],i=0,r=null,h=0,s=!1,a=!1,f=!1,l=!1;h<t.length;)0==t[h][0]?(r=t[h][1].length<this.Diff_EditCost&&(f||l)?(s=f,a=l,t[n[i++]=h][1]):(i=0,null),f=l=!1):(t[h][0]==x?l=!0:f=!0,r&&(s&&a&&f&&l||r.length<this.Diff_EditCost/2&&3==s+a+f+l)&&(t.splice(n[i-1],0,[x,r]),t[n[i-1]+1][0]=1,i--,r=null,s&&a?(f=l=!0,i=0):(h=0<--i?n[i-1]:-1,f=l=!1),e=!0)),h++;e&&this.diff_cleanupMerge(t)},o.prototype.diff_cleanupMerge=function(t){t.push([0,'']);for(var e,n=0,i=0,r=0,h='',s='';n<t.length;)switch(t[n][0]){case 1:r++,s+=t[n][1],n++;break;case x:i++,h+=t[n][1],n++;break;case 0:1<i+r?(0!==i&&0!==r&&(0!==(e=this.diff_commonPrefix(s,h))&&(0<n-i-r&&0==t[n-i-r-1][0]?t[n-i-r-1][1]+=s.substring(0,e):(t.splice(0,0,[0,s.substring(0,e)]),n++),s=s.substring(e),h=h.substring(e)),0!==(e=this.diff_commonSuffix(s,h))&&(t[n][1]=s.substring(s.length-e)+t[n][1],s=s.substring(0,s.length-e),h=h.substring(0,h.length-e))),0===i?t.splice(n-r,i+r,[1,s]):0===r?t.splice(n-i,i+r,[x,h]):t.splice(n-i-r,i+r,[x,h],[1,s]),n=n-i-r+(i?1:0)+(r?1:0)+1):0!==n&&0==t[n-1][0]?(t[n-1][1]+=t[n][1],t.splice(n,1)):n++,i=r=0,s=h=''}for(''===t[t.length-1][1]&&t.pop(),i=!1,n=1;n<t.length-1;)0==t[n-1][0]&&0==t[n+1][0]&&(t[n][1].substring(t[n][1].length-t[n-1][1].length)==t[n-1][1]?(t[n][1]=t[n-1][1]+t[n][1].substring(0,t[n][1].length-t[n-1][1].length),t[n+1][1]=t[n-1][1]+t[n+1][1],t.splice(n-1,1),i=!0):t[n][1].substring(0,t[n+1][1].length)==t[n+1][1]&&(t[n-1][1]+=t[n+1][1],t[n][1]=t[n][1].substring(t[n+1][1].length)+t[n+1][1],t.splice(n+1,1),i=!0)),n++;i&&this.diff_cleanupMerge(t)},o.prototype.diff_xIndex=function(t,e){for(var n=0,i=0,r=0,h=0,s=0;s<t.length&&(1!==t[s][0]&&(n+=t[s][1].length),t[s][0]!==x&&(i+=t[s][1].length),!(e<n));s++)r=n,h=i;return t.length!=s&&t[s][0]===x?h:h+(e-r)},o.prototype.diff_prettyHtml=function(t){for(var e=[],n=/&/g,i=/</g,r=/>/g,h=/\\n/g,s=0;s<t.length;s++){var a=t[s][0],f=t[s][1].replace(n,'&').replace(i,'<').replace(r,'>').replace(h,'¶<br>');switch(a){case 1:e[s]='<ins style=\"background:#e6ffe6;\">'+f+'</ins>';break;case x:e[s]='<del style=\"background:#ffe6e6;\">'+f+'</del>';break;case 0:e[s]='<span>'+f+'</span>'}}return e.join('')},o.prototype.diff_text1=function(t){for(var e=[],n=0;n<t.length;n++)1!==t[n][0]&&(e[n]=t[n][1]);return e.join('')},o.prototype.diff_text2=function(t){for(var e=[],n=0;n<t.length;n++)t[n][0]!==x&&(e[n]=t[n][1]);return e.join('')},o.prototype.diff_levenshtein=function(t){for(var e=0,n=0,i=0,r=0;r<t.length;r++){var h=t[r][1];switch(t[r][0]){case 1:n+=h.length;break;case x:i+=h.length;break;case 0:e+=Math.max(n,i),i=n=0}}return e+Math.max(n,i)},o.prototype.diff_toDelta=function(t){for(var e=[],n=0;n<t.length;n++)switch(t[n][0]){case 1:e[n]='+'+encodeURI(t[n][1]);break;case x:e[n]='-'+t[n][1].length;break;case 0:e[n]='='+t[n][1].length}return e.join('\\t').replace(/%20/g,' ')},o.prototype.diff_fromDelta=function(t,e){for(var n=[],i=0,r=0,h=e.split(/\\t/g),s=0;s<h.length;s++){var a=h[s].substring(1);switch(h[s].charAt(0)){case'+':try{n[i++]=[1,decodeURI(a)]}catch(t){throw Error('Illegal escape in diff_fromDelta: '+a)}break;case'-':case'=':var f=parseInt(a,10);if(isNaN(f)||f<0)throw Error('Invalid number in diff_fromDelta: '+a);a=t.substring(r,r+=f),'='==h[s].charAt(0)?n[i++]=[0,a]:n[i++]=[x,a];break;default:if(h[s])throw Error('Invalid diff operation in diff_fromDelta: '+h[s])}}if(r!=t.length)throw Error('Delta length ('+r+') does not equal source text length ('+t.length+').');return n},o.prototype.match_main=function(t,e,n){if(null==t||null==e||null==n)throw Error('Null input. (match_main)');return n=Math.max(0,Math.min(n,t.length)),t==e?0:t.length?t.substring(n,n+e.length)==e?n:this.match_bitap_(t,e,n):-1},o.prototype.match_bitap_=function(t,n,i){function e(t,e){t/=n.length,e=Math.abs(i-e);return h.Match_Distance?t+e/h.Match_Distance:e?1:t}if(n.length>this.Match_MaxBits)throw Error('Pattern too long for this browser.');var r=this.match_alphabet_(n),h=this,s=this.Match_Threshold;-1!=(g=t.indexOf(n,i))&&(s=Math.min(e(0,g),s),-1!=(g=t.lastIndexOf(n,i+n.length))&&(s=Math.min(e(0,g),s)));for(var a,f,l=1<<n.length-1,g=-1,o=n.length+t.length,c=0;c<n.length;c++){for(a=0,u=o;a<u;)e(c,i+u)<=s?a=u:o=u,u=Math.floor((o-a)/2+a);o=u,a=Math.max(1,i-u+1);var u,p=Math.min(i+u,t.length)+n.length;for((u=Array(p+2))[p+1]=(1<<c)-1;a<=p;p--){var d=r[t.charAt(p-1)];if(u[p]=0===c?(u[p+1]<<1|1)&d:(u[p+1]<<1|1)&d|(f[p+1]|f[p])<<1|1|f[p+1],u[p]&l&&(d=e(c,p-1))<=s){if(s=d,!(i<(g=p-1)))break;a=Math.max(1,2*i-g)}}if(e(c+1,i)>s)break;f=u}return g},o.prototype.match_alphabet_=function(t){for(var e={},n=0;n<t.length;n++)e[t.charAt(n)]=0;for(n=0;n<t.length;n++)e[t.charAt(n)]|=1<<t.length-n-1;return e},o.prototype.patch_addContext_=function(t,e){if(0!=e.length){for(var n=e.substring(t.start2,t.start2+t.length1),i=0;e.indexOf(n)!=e.lastIndexOf(n)&&n.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)i+=this.Patch_Margin,n=e.substring(t.start2-i,t.start2+t.length1+i);i+=this.Patch_Margin,(n=e.substring(t.start2-i,t.start2))&&t.diffs.unshift([0,n]),(i=e.substring(t.start2+t.length1,t.start2+t.length1+i))&&t.diffs.push([0,i]),t.start1-=n.length,t.start2-=n.length,t.length1+=n.length+i.length,t.length2+=n.length+i.length}},o.prototype.patch_make=function(t,e,n){if('string'==typeof t&&'string'==typeof e&&void 0===n){var i=t;2<(e=this.diff_main(i,e,!0)).length&&(this.diff_cleanupSemantic(e),this.diff_cleanupEfficiency(e))}else if(t&&'object'==typeof t&&void 0===e&&void 0===n)e=t,i=this.diff_text1(e);else if('string'==typeof t&&e&&'object'==typeof e&&void 0===n)i=t;else{if('string'!=typeof t||'string'!=typeof e||!n||'object'!=typeof n)throw Error('Unknown call format to patch_make.');i=t,e=n}if(0===e.length)return[];n=[],t=new o.patch_obj;for(var r=0,h=0,s=0,a=i,f=0;f<e.length;f++){var l=e[f][0],g=e[f][1];switch(r||0===l||(t.start1=h,t.start2=s),l){case 1:t.diffs[r++]=e[f],t.length2+=g.length,i=i.substring(0,s)+g+i.substring(s);break;case x:t.length1+=g.length,t.diffs[r++]=e[f],i=i.substring(0,s)+i.substring(s+g.length);break;case 0:g.length<=2*this.Patch_Margin&&r&&e.length!=f+1?(t.diffs[r++]=e[f],t.length1+=g.length,t.length2+=g.length):g.length>=2*this.Patch_Margin&&r&&(this.patch_addContext_(t,a),n.push(t),t=new o.patch_obj,r=0,a=i,h=s)}1!==l&&(h+=g.length),l!==x&&(s+=g.length)}return r&&(this.patch_addContext_(t,a),n.push(t)),n},o.prototype.patch_deepCopy=function(t){for(var e=[],n=0;n<t.length;n++){var i=t[n],r=new o.patch_obj;r.diffs=[];for(var h=0;h<i.diffs.length;h++)r.diffs[h]=i.diffs[h].slice();r.start1=i.start1,r.start2=i.start2,r.length1=i.length1,r.length2=i.length2,e[n]=r}return e},o.prototype.patch_apply=function(t,e){if(0==t.length)return[e,[]];t=this.patch_deepCopy(t);var n=this.patch_addPadding(t);e=n+e+n,this.patch_splitMax(t);for(var i=0,r=[],h=0;h<t.length;h++){var s,a,f=t[h].start2+i,l=this.diff_text1(t[h].diffs),g=-1;if(l.length>this.Match_MaxBits?-1!=(s=this.match_main(e,l.substring(0,this.Match_MaxBits),f))&&(-1==(g=this.match_main(e,l.substring(l.length-this.Match_MaxBits),f+l.length-this.Match_MaxBits))||g<=s)&&(s=-1):s=this.match_main(e,l,f),-1==s)r[h]=!1,i-=t[h].length2-t[h].length1;else if(r[h]=!0,i=s-f,l==(f=-1==g?e.substring(s,s+l.length):e.substring(s,g+this.Match_MaxBits)))e=e.substring(0,s)+this.diff_text2(t[h].diffs)+e.substring(s+l.length);else if(f=this.diff_main(l,f,!1),l.length>this.Match_MaxBits&&this.diff_levenshtein(f)/l.length>this.Patch_DeleteThreshold)r[h]=!1;else for(this.diff_cleanupSemanticLossless(f),g=l=0;g<t[h].diffs.length;g++){var o=t[h].diffs[g];0!==o[0]&&(a=this.diff_xIndex(f,l)),1===o[0]?e=e.substring(0,s+a)+o[1]+e.substring(s+a):o[0]===x&&(e=e.substring(0,s+a)+e.substring(s+this.diff_xIndex(f,l+o[1].length))),o[0]!==x&&(l+=o[1].length)}}return[e=e.substring(n.length,e.length-n.length),r]},o.prototype.patch_addPadding=function(t){for(var e=this.Patch_Margin,n='',i=1;i<=e;i++)n+=String.fromCharCode(i);for(i=0;i<t.length;i++)t[i].start1+=e,t[i].start2+=e;var r,h=(i=t[0]).diffs;return 0==h.length||0!=h[0][0]?(h.unshift([0,n]),i.start1-=e,i.start2-=e,i.length1+=e,i.length2+=e):e>h[0][1].length&&(r=e-h[0][1].length,h[0][1]=n.substring(h[0][1].length)+h[0][1],i.start1-=r,i.start2-=r,i.length1+=r,i.length2+=r),0==(h=(i=t[t.length-1]).diffs).length||0!=h[h.length-1][0]?(h.push([0,n]),i.length1+=e,i.length2+=e):e>h[h.length-1][1].length&&(r=e-h[h.length-1][1].length,h[h.length-1][1]+=n.substring(0,r),i.length1+=r,i.length2+=r),n},o.prototype.patch_splitMax=function(t){for(var e=this.Match_MaxBits,n=0;n<t.length;n++)if(!(t[n].length1<=e)){var i=t[n];t.splice(n--,1);for(var r=i.start1,h=i.start2,s='';0!==i.diffs.length;){var a=new o.patch_obj,f=!0;for(a.start1=r-s.length,a.start2=h-s.length,''!==s&&(a.length1=a.length2=s.length,a.diffs.push([0,s]));0!==i.diffs.length&&a.length1<e-this.Patch_Margin;){s=i.diffs[0][0];var l=i.diffs[0][1];1===s?(a.length2+=l.length,h+=l.length,a.diffs.push(i.diffs.shift()),f=!1):s===x&&1==a.diffs.length&&0==a.diffs[0][0]&&l.length>2*e?(a.length1+=l.length,r+=l.length,f=!1,a.diffs.push([s,l]),i.diffs.shift()):(l=l.substring(0,e-a.length1-this.Patch_Margin),a.length1+=l.length,r+=l.length,0===s?(a.length2+=l.length,h+=l.length):f=!1,a.diffs.push([s,l]),l==i.diffs[0][1]?i.diffs.shift():i.diffs[0][1]=i.diffs[0][1].substring(l.length))}s=(s=this.diff_text2(a.diffs)).substring(s.length-this.Patch_Margin),''!==(l=this.diff_text1(i.diffs).substring(0,this.Patch_Margin))&&(a.length1+=l.length,a.length2+=l.length,0!==a.diffs.length&&0===a.diffs[a.diffs.length-1][0]?a.diffs[a.diffs.length-1][1]+=l:a.diffs.push([0,l])),f||t.splice(++n,0,a)}}},o.prototype.patch_toText=function(t){for(var e=[],n=0;n<t.length;n++)e[n]=t[n];return e.join('')},o.prototype.patch_fromText=function(t){var e=[];if(!t)return e;t=t.split('\\n');for(var n=0,i=/^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;n<t.length;){var r=t[n].match(i);if(!r)throw Error('Invalid patch string: '+t[n]);var h=new o.patch_obj;for(e.push(h),h.start1=parseInt(r[1],10),''===r[2]?(h.start1--,h.length1=1):'0'==r[2]?h.length1=0:(h.start1--,h.length1=parseInt(r[2],10)),h.start2=parseInt(r[3],10),''===r[4]?(h.start2--,h.length2=1):'0'==r[4]?h.length2=0:(h.start2--,h.length2=parseInt(r[4],10)),n++;n<t.length;){r=t[n].charAt(0);try{var s=decodeURI(t[n].substring(1))}catch(t){throw Error('Illegal escape in patch_fromText: '+s)}if('-'==r)h.diffs.push([x,s]);else if('+'==r)h.diffs.push([1,s]);else if(' '==r)h.diffs.push([0,s]);else{if('@'==r)break;if(''!==r)throw Error('Invalid patch mode \"'+r+'\" in: '+s)}n++}}return e},(o.patch_obj=function(){this.diffs=[],this.start2=this.start1=null,this.length2=this.length1=0}).prototype.toString=function(){for(var t,e=['@@ -'+(0===this.length1?this.start1+',0':1==this.length1?this.start1+1:this.start1+1+','+this.length1)+' +'+(0===this.length2?this.start2+',0':1==this.length2?this.start2+1:this.start2+1+','+this.length2)+' @@\\n'],n=0;n<this.diffs.length;n++){switch(this.diffs[n][0]){case 1:t='+';break;case x:t='-';break;case 0:t=' '}e[n+1]=t+encodeURI(this.diffs[n][1])+'\\n'}return e.join('').replace(/%20/g,' ')},this.diff_match_patch=o,this.DIFF_DELETE=x,this.DIFF_INSERT=1,this.DIFF_EQUAL=0}).call(exports);","type":"application/javascript","module-type":"library"},"$:/core/modules/utils/dom/animations/slide.js":{"text":"!function(){'use strict';exports.slide={open:function(t,o){var i=(o=o||{}).duration||$tw.utils.getAnimationDuration(),n=window.getComputedStyle(t),a=parseInt(n.marginBottom,10),e=parseInt(n.marginTop,10),p=parseInt(n.paddingBottom,10),s=parseInt(n.paddingTop,10),n=t.offsetHeight;setTimeout(function(){$tw.utils.setStyle(t,[{transition:'none'},{marginBottom:''},{marginTop:''},{paddingBottom:''},{paddingTop:''},{height:'auto'},{opacity:''}]),o.callback&&o.callback()},i),$tw.utils.setStyle(t,[{transition:'none'},{marginTop:'0px'},{marginBottom:'0px'},{paddingTop:'0px'},{paddingBottom:'0px'},{height:'0px'},{opacity:'0'}]),$tw.utils.forceLayout(t),$tw.utils.setStyle(t,[{transition:'margin-top '+i+'ms ease-in-out, margin-bottom '+i+'ms ease-in-out, padding-top '+i+'ms ease-in-out, padding-bottom '+i+'ms ease-in-out, height '+i+'ms ease-in-out, opacity '+i+'ms ease-in-out'},{marginBottom:a+'px'},{marginTop:e+'px'},{paddingBottom:p+'px'},{paddingTop:s+'px'},{height:n+'px'},{opacity:'1'}])},close:function(t,o){var i=(o=o||{}).duration||$tw.utils.getAnimationDuration(),n=t.offsetHeight;setTimeout(function(){$tw.utils.setStyle(t,[{transition:'none'},{marginBottom:''},{marginTop:''},{paddingBottom:''},{paddingTop:''},{height:'auto'},{opacity:''}]),o.callback&&o.callback()},i),$tw.utils.setStyle(t,[{height:n+'px'},{opacity:'1'}]),$tw.utils.forceLayout(t),$tw.utils.setStyle(t,[{transition:'margin-top '+i+'ms ease-in-out, margin-bottom '+i+'ms ease-in-out, padding-top '+i+'ms ease-in-out, padding-bottom '+i+'ms ease-in-out, height '+i+'ms ease-in-out, opacity '+i+'ms ease-in-out'},{marginTop:'0px'},{marginBottom:'0px'},{paddingTop:'0px'},{paddingBottom:'0px'},{height:'0px'},{opacity:'0'}])}}}();","type":"application/javascript","module-type":"animation"},"$:/core/modules/utils/dom/animator.js":{"text":"!function(){'use strict';function t(){this.animations={},$tw.modules.applyMethods('animation',this.animations)}t.prototype.perform=function(n,t,i){var o;i=i||{},$tw.utils.each(this.animations,function(t,i){$tw.utils.hop(t,n)&&(o=t[n])}),(o=o||function(t,i){i.callback&&i.callback()})(t,i)},exports.Animator=t}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/browser.js":{"text":"!function(){'use strict';exports.setStyle=function(e,n){if(1===e.nodeType)for(var t=0;t<n.length;t++)for(var r in n[t])e.style[$tw.utils.convertStyleNameToPropertyName(r)]=n[t][r]};var l={};exports.convertStyleNameToPropertyName=function(e){if(l[e])return l[e];var n=$tw.utils.unHyphenateCss(e);if($tw.browser&&void 0===document.body.style[n])for(var t=['O','MS','Moz','webkit'],r=0;r<t.length;r++){var i=t[r]+n.substr(0,1).toUpperCase()+n.substr(1);if(void 0!==document.body.style[i]){n=i;break}}return l[e]=n},exports.convertPropertyNameToStyleName=function(e){e=$tw.utils.hyphenateCss(e);return 0===e.indexOf('webkit')?e='-'+e:0===e.indexOf('-m-s')&&(e='-ms'+e.substr(4)),e},exports.roundTripPropertyName=function(e){return $tw.utils.convertPropertyNameToStyleName($tw.utils.convertStyleNameToPropertyName(e))};var i={},o={transitionEnd:{correspondingCssProperty:'transition',mappings:{transition:'transitionend',OTransition:'oTransitionEnd',MSTransition:'msTransitionEnd',MozTransition:'transitionend',webkitTransition:'webkitTransitionEnd'}},animationEnd:{correspondingCssProperty:'animation',mappings:{animation:'animationend',OAnimation:'oAnimationEnd',MSAnimation:'msAnimationEnd',MozAnimation:'animationend',webkitAnimation:'webkitAnimationEnd'}}};exports.convertEventName=function(e){if(i[e])return i[e];var n,t=e,r=o[e];return r&&(n=$tw.utils.convertStyleNameToPropertyName(r.correspondingCssProperty),r.mappings[n]&&(t=r.mappings[n])),i[e]=t},exports.getFullScreenApis=function(){var e=document,n=e.body,e={_requestFullscreen:void 0!==n.webkitRequestFullscreen?'webkitRequestFullscreen':void 0!==n.mozRequestFullScreen?'mozRequestFullScreen':void 0!==n.msRequestFullscreen?'msRequestFullscreen':void 0!==n.requestFullscreen?'requestFullscreen':'',_exitFullscreen:void 0!==e.webkitExitFullscreen?'webkitExitFullscreen':void 0!==e.mozCancelFullScreen?'mozCancelFullScreen':void 0!==e.msExitFullscreen?'msExitFullscreen':void 0!==e.exitFullscreen?'exitFullscreen':'',_fullscreenElement:void 0!==e.webkitFullscreenElement?'webkitFullscreenElement':void 0!==e.mozFullScreenElement?'mozFullScreenElement':void 0!==e.msFullscreenElement?'msFullscreenElement':void 0!==e.fullscreenElement?'fullscreenElement':'',_fullscreenChange:void 0!==e.webkitFullscreenElement?'webkitfullscreenchange':void 0!==e.mozFullScreenElement?'mozfullscreenchange':void 0!==e.msFullscreenElement?'MSFullscreenChange':void 0!==e.fullscreenElement?'fullscreenchange':''};return e._requestFullscreen&&e._exitFullscreen&&e._fullscreenElement&&e._fullscreenChange?e:null}}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/csscolorparser.js":{"text":"var s={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function g(e){return(e=Math.round(e))<0?0:255<e?255:e}function r(e){return e<0?0:1<e?1:e}function d(e){return'%'===e[e.length-1]?g(parseFloat(e)/100*255):g(parseInt(e))}function h(e){return'%'===e[e.length-1]?r(parseFloat(e)/100):r(parseFloat(e))}function c(e,r,l){return l<0?l+=1:1<l&&--l,6*l<1?e+(r-e)*l*6:2*l<1?r:3*l<2?e+(r-e)*(2/3-l)*6:e}try{exports.parseCSSColor=function(e){var r=e.replace(/ /g,'').toLowerCase();if(r in s)return s[r].slice();if('#'===r[0])return 4===r.length?0<=(a=parseInt(r.substr(1),16))&&a<=4095?[(3840&a)>>4|(3840&a)>>8,240&a|(240&a)>>4,15&a|(15&a)<<4,1]:null:7===r.length&&0<=(a=parseInt(r.substr(1),16))&&a<=16777215?[(16711680&a)>>16,(65280&a)>>8,255&a,1]:null;var l=r.indexOf('('),e=r.indexOf(')');if(-1!==l&&e+1===r.length){var a=r.substr(0,l),n=r.substr(l+1,e-(l+1)).split(','),t=1;switch(a){case'rgba':if(4!==n.length)return null;t=h(n.pop());case'rgb':return 3!==n.length?null:[d(n[0]),d(n[1]),d(n[2]),t];case'hsla':if(4!==n.length)return null;t=h(n.pop());case'hsl':if(3!==n.length)return null;var i=(parseFloat(n[0])%360+360)%360/360,o=h(n[1]),u=h(n[2]),o=u<=.5?u*(o+1):u+o-u*o,u=2*u-o;return[g(255*c(u,o,i+1/3)),g(255*c(u,o,i)),g(255*c(u,o,i-1/3)),t];default:return null}}return null}}catch(e){}","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom.js":{"text":"!function(){'use strict';exports.domContains=function(t,e){return t.contains?t!==e&&t.contains(e):!!(16&t.compareDocumentPosition(e))},exports.removeChildren=function(t){for(;t.hasChildNodes();)t.removeChild(t.firstChild)},exports.hasClass=function(t,e){return t&&t.hasAttribute&&t.hasAttribute('class')&&-1!==t.getAttribute('class').split(' ').indexOf(e)},exports.addClass=function(t,e){var o=(t.getAttribute('class')||'').split(' ');-1===o.indexOf(e)&&(o.push(e),t.setAttribute('class',o.join(' ')))},exports.removeClass=function(t,e){var o=(t.getAttribute('class')||'').split(' '),e=o.indexOf(e);-1!==e&&(o.splice(e,1),t.setAttribute('class',o.join(' ')))},exports.toggleClass=function(t,e,o){void 0===o&&(o=!exports.hasClass(t,e)),o?exports.addClass(t,e):exports.removeClass(t,e)},exports.getScrollContainer=function(t){for(var e=t.ownerDocument;t.parentNode;)if((t=t.parentNode).scrollTop)return t;return e.body},exports.getScrollPosition=function(t){t=t||window;return'scrollX'in t?{x:t.scrollX,y:t.scrollY}:{x:t.document.documentElement.scrollLeft,y:t.document.documentElement.scrollTop}},exports.resizeTextAreaToFit=function(t,e){var o=$tw.utils.getScrollContainer(t),s=o.scrollTop;t.style.height=e;e=t.offsetHeight||parseInt(e,10);t.style.height='auto';e=Math.max(t.scrollHeight+t.offsetHeight-t.clientHeight,e);return e!==t.offsetHeight&&(t.style.height=e+'px',$tw.utils.forceLayout(t),o.scrollTop=s),e},exports.getBoundingPageRect=function(t){var e=$tw.utils.getScrollPosition(t.ownerDocument.defaultView),t=t.getBoundingClientRect();return{left:t.left+e.x,width:t.width,right:t.right+e.x,top:t.top+e.y,height:t.height,bottom:t.bottom+e.y}},exports.savePassword=function(t,e){var o=!1;try{window.localStorage.setItem('tw5-password-'+t,e),o=!0}catch(t){}o||($tw.savedPasswords=$tw.savedPasswords||Object.create(null),$tw.savedPasswords[t]=e)},exports.getPassword=function(t){var e;try{e=window.localStorage.getItem('tw5-password-'+t)}catch(t){}return void 0!==e?e:($tw.savedPasswords||Object.create(null))[t]||''},exports.forceLayout=function(t){t.offsetWidth},exports.pulseElement=function(o){o.addEventListener($tw.browser.animationEnd,function t(e){o.removeEventListener($tw.browser.animationEnd,t,!1),$tw.utils.removeClass(o,'pulse')},!1),$tw.utils.removeClass(o,'pulse'),$tw.utils.forceLayout(o),$tw.utils.addClass(o,'pulse')},exports.addEventListeners=function(o,t){$tw.utils.each(t,function(e){var t;e.handlerFunction?t=e.handlerFunction:e.handlerObject&&(t=e.handlerMethod?function(t){e.handlerObject[e.handlerMethod].call(e.handlerObject,t)}:e.handlerObject),o.addEventListener(e.name,t,!1)})},exports.getComputedStyles=function(t){for(var e,o=window.getComputedStyle(t,null),s=[],n=0;n<o.length;n++)e=o[n],s.push(e+': '+o.getPropertyValue(e)+';');return s},exports.setStyles=function(t,e){t.style.cssText=e.join('')},exports.copyStyles=function(t,e){$tw.utils.setStyles(e,$tw.utils.getComputedStyles(t))},exports.copyToClipboard=function(t,e){e=e||{};var o=document.createElement('textarea');o.style.position='fixed',o.style.top=0,o.style.left=0,o.style.fontSize='12pt',o.style.width='2em',o.style.height='2em',o.style.padding=0,o.style.border='none',o.style.outline='none',o.style.boxShadow='none',o.style.background='transparent',o.value=t,document.body.appendChild(o),o.select(),o.setSelectionRange(0,t.length);var s=!1;try{s=document.execCommand('copy')}catch(t){}e.doNotNotify||$tw.notifier.display(s?'$:/language/Notifications/CopiedToClipboard/Succeeded':'$:/language/Notifications/CopiedToClipboard/Failed'),document.body.removeChild(o)},exports.getLocationPath=function(){return window.location.toString().split('#')[0]}}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/dragndrop.js":{"text":"!function(){'use strict';exports.makeDraggable=function(n){var l,o=n.dragImageType||'dom',s=n.domNode;'a'!==(s.tagName||'').toLowerCase()&&s.setAttribute('draggable','true'),$tw.utils.addEventListeners(s,[{name:'dragstart',handlerFunction:function(t){if(void 0===t.dataTransfer)return!1;var e=n.dragTiddlerFn&&n.dragTiddlerFn(),r=n.dragFilterFn&&n.dragFilterFn(),i=e?[e]:[],d=n.startActions;r&&i.push.apply(i,n.widget.wiki.filterTiddlers(r,n.widget));var a,e=$tw.utils.stringifyList(i);return 0<i.length&&t.target===s&&($tw.dragInProgress=s,$tw.utils.addClass(t.target,'tc-dragging'),void 0!==d&&n.widget.invokeActionString(d,n.widget,t,{actionTiddler:e}),(l=n.widget.document.createElement('div')).className='tc-tiddler-dragger',(r=n.widget.document.createElement('div')).className='tc-tiddler-dragger-inner',r.appendChild(n.widget.document.createTextNode(1===i.length?i[0]:i.length+' tiddlers')),l.appendChild(r),n.widget.document.body.appendChild(l),(d=t.dataTransfer).effectAllowed='all',d.setDragImage&&('pill'===o?d.setDragImage(l.firstChild,-16,-16):(r=s.getBoundingClientRect(),d.setDragImage(s,t.clientX-r.left,t.clientY-r.top))),d.clearData&&d.clearData(),a=[],a=1<i.length?(i.forEach(function(t){a.push(n.widget.wiki.getTiddlerAsJson(t))}),'['+a.join(',')+']'):n.widget.wiki.getTiddlerAsJson(i[0]),$tw.browser.isIE||(d.setData('text/vnd.tiddler',a),d.setData('text/plain',e),d.setData('text/x-moz-url','data:text/vnd.tiddler,'+encodeURIComponent(a))),d.setData('URL','data:text/vnd.tiddler,'+encodeURIComponent(a)),d.setData('Text',e),t.stopPropagation()),!1}},{name:'dragend',handlerFunction:function(t){var e,r,i;return t.target===s&&(r=n.dragTiddlerFn&&n.dragTiddlerFn(),e=n.dragFilterFn&&n.dragFilterFn(),i=r?[r]:[],r=n.endActions,e&&i.push.apply(i,n.widget.wiki.filterTiddlers(e,n.widget)),i=$tw.utils.stringifyList(i),$tw.dragInProgress=null,void 0!==r&&n.widget.invokeActionString(r,n.widget,t,{actionTiddler:i}),$tw.utils.removeClass(t.target,'tc-dragging'),l&&(l.parentNode.removeChild(l),l=null)),!1}}])};var l=[{type:'text/vnd.tiddler',IECompatible:!(exports.importDataTransfer=function(t,e,r){if($tw.log.IMPORT){console.log('Available data types:');for(var i=0;i<t.types.length;i++)console.log('type',t.types[i],t.getData(t.types[i]))}for(var d=0;d<l.length;d++)if(!$tw.browser.isIE||l[d].IECompatible){var a=l[d],n=t.getData(a.type);if(''!==n&&null!==n)return $tw.log.IMPORT&&console.log('Importing data type \\''+a.type+'\\', data: \\''+n+'\\''),void r(a.toTiddlerFieldsArray(n,e))}}),toTiddlerFieldsArray:i},{type:'URL',IECompatible:!0,toTiddlerFieldsArray:function(t,e){var r=decodeURIComponent(t).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);return r?i(r[1],e):[{title:e,text:t}]}},{type:'text/x-moz-url',IECompatible:!1,toTiddlerFieldsArray:function(t,e){var r=decodeURIComponent(t).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);return r?i(r[1],e):[{title:e,text:t}]}},{type:'text/html',IECompatible:!1,toTiddlerFieldsArray:function(t,e){return[{title:e,text:t}]}},{type:'text/plain',IECompatible:!1,toTiddlerFieldsArray:function(t,e){return[{title:e,text:t}]}},{type:'Text',IECompatible:!0,toTiddlerFieldsArray:function(t,e){return[{title:e,text:t}]}},{type:'text/uri-list',IECompatible:!1,toTiddlerFieldsArray:function(t,e){return[{title:e,text:t}]}}];function i(t,e){t=JSON.parse(t);return $tw.utils.isArray(t)||(t=[t]),t.forEach(function(t){t.title=t.title||e}),t}}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/http.js":{"text":"!function(){'use strict';exports.httpRequest=function(e){function t(a){a=a.toLowerCase();var n=!1;return $tw.utils.each(i,function(t,e,s){e.toLowerCase()===a&&(n=!0)}),n}var s,a=e.type||'GET',n=e.url,i=e.headers||{accept:'application/json'},u=e.returnProp||'responseText',o=new XMLHttpRequest,r='';e.data&&('string'==typeof e.data?r=e.data:(s=[],$tw.utils.each(e.data,function(t,e){s.push(e+'='+encodeURIComponent(t))}),'GET'===a||'HEAD'===a?n+='?'+s.join('&'):r=s.join('&'))),o.onreadystatechange=function(){4===this.readyState&&(200!==this.status&&201!==this.status&&204!==this.status?e.callback($tw.language.getString('Error/XMLHttpRequest')+': '+this.status,null,this):e.callback(null,this[u],this))},o.open(a,n,!0),i&&$tw.utils.each(i,function(t,e,s){o.setRequestHeader(e,t)}),r&&!t('Content-Type')&&o.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'),t('X-Requested-With')||o.setRequestHeader('X-Requested-With','TiddlyWiki');try{o.send(r)}catch(t){e.callback(t,null,this)}return o}}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/keyboard.js":{"text":"!function(){'use strict';['parseKeyDescriptor','checkKeyDescriptor'].forEach(function(r){exports[r]=function(){return $tw.keyboardManager?$tw.keyboardManager[r].apply($tw.keyboardManager,Array.prototype.slice.call(arguments,0)):null}})}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/modal.js":{"text":"!function(){'use strict';function t(t){this.wiki=t,this.modalCount=0}require('$:/core/modules/widgets/widget.js');var C=require('$:/core/modules/widgets/navigator.js');t.prototype.display=function(t,e){e=e||{},this.srcDocument=(!e.variables||'true'!==e.variables.rootwindow&&'yes'!==e.variables.rootwindow)&&e.event.event&&e.event.event.target?e.event.event.target.ownerDocument:document,this.srcWindow=this.srcDocument.defaultView;var i,s,r,n,a,l,o,d,c,u,m,h,p,w,g,v=this,y=$tw.utils.getAnimationDuration(),f=this.wiki.getTiddler(t);f&&(g=$tw.utils.extend({currentTiddler:t,'tv-story-list':e.event&&e.event.widget?e.event.widget.getVariable('tv-story-list'):'','tv-history-list':e.event&&e.event.widget?e.event.widget.getVariable('tv-history-list'):''},e.variables),s=this.srcDocument.createElement('div'),r=this.srcDocument.createElement('div'),n=this.srcDocument.createElement('div'),a=this.srcDocument.createElement('div'),l=this.srcDocument.createElement('h3'),o=this.srcDocument.createElement('div'),p=this.srcDocument.createElement('a'),u=this.srcDocument.createElement('div'),d=this.srcDocument.createElement('span'),c=this.srcDocument.createElement('span'),this.modalCount++,this.adjustPageClass(),$tw.utils.addClass(s,'tc-modal-wrapper'),f.fields&&f.fields.class&&$tw.utils.addClass(s,f.fields.class),$tw.utils.addClass(r,'tc-modal-backdrop'),$tw.utils.addClass(n,'tc-modal'),$tw.utils.addClass(a,'tc-modal-header'),$tw.utils.addClass(o,'tc-modal-body'),$tw.utils.addClass(u,'tc-modal-footer'),s.appendChild(r),s.appendChild(n),a.appendChild(l),n.appendChild(a),n.appendChild(o),u.appendChild(d),u.appendChild(c),n.appendChild(u),u={type:'navigator',attributes:{story:{name:'story',type:'string',value:g['tv-story-list']},history:{name:'history',type:'string',value:g['tv-history-list']}},tag:'$navigator',isBlock:!0,children:[]},(u=new C.navigator(u,{wiki:this.wiki,document:this.srcDocument,parentWidget:$tw.rootWidget})).render(o,null),(m=this.wiki.makeTranscludeWidget(t,{field:'subtitle',mode:'inline',children:[{type:'text',attributes:{text:{type:'string',value:t}}}],parentWidget:u,document:this.srcDocument,variables:g,importPageMacros:!0})).render(l,null),(h=this.wiki.makeTranscludeWidget(t,{parentWidget:u,document:this.srcDocument,variables:g,importPageMacros:!0})).render(o,null),e.downloadLink&&(p.href=e.downloadLink,p.appendChild(this.srcDocument.createTextNode('Right-click to save changes')),o.appendChild(p)),f.fields&&f.fields.help&&((p=this.srcDocument.createElement('a')).setAttribute('href',f.fields.help),p.setAttribute('target','_blank'),p.setAttribute('rel','noopener noreferrer'),p.appendChild(this.srcDocument.createTextNode('Help')),d.appendChild(p),d.style.float='left'),(w=this.wiki.makeTranscludeWidget(t,{field:'footer',mode:'inline',children:[{type:'button',attributes:{message:{type:'string',value:'tm-close-tiddler'}},children:[{type:'text',attributes:{text:{type:'string',value:$tw.language.getString('Buttons/Close/Caption')}}}]}],parentWidget:u,document:this.srcDocument,variables:g,importPageMacros:!0})).render(c,null),i=function(t){m.refresh(t,a,null),h.refresh(t,o,null),w.refresh(t,c,null)},this.wiki.addEventListener('change',i),g=function(t){return v.wiki.removeEventListener('change',i),v.modalCount--,v.adjustPageClass(),$tw.utils.forceLayout(r),$tw.utils.forceLayout(n),$tw.utils.setStyle(r,[{opacity:'0'}]),$tw.utils.setStyle(n,[{transform:'translateY('+v.srcWindow.innerHeight+'px)'}]),v.srcWindow.setTimeout(function(){s.parentNode&&v.srcDocument.body.removeChild(s)},y),!1},m.addEventListener('tm-close-tiddler',g,!1),h.addEventListener('tm-close-tiddler',g,!1),w.addEventListener('tm-close-tiddler',g,!1),$tw.utils.setStyle(r,[{opacity:'0'}]),$tw.utils.setStyle(n,[{transformOrigin:'0% 0%'},{transform:'translateY('+-this.srcWindow.innerHeight+'px)'}]),this.srcDocument.body.appendChild(s),$tw.utils.setStyle(r,[{transition:'opacity '+y+'ms ease-out'}]),$tw.utils.setStyle(n,[{transition:$tw.utils.roundTripPropertyName('transform')+' '+y+'ms ease-in-out'}]),$tw.utils.forceLayout(r),$tw.utils.forceLayout(n),$tw.utils.setStyle(r,[{opacity:'0.7'}]),$tw.utils.setStyle(n,[{transform:'translateY(0px)'}]))},t.prototype.adjustPageClass=function(){var t=$tw.pageContainer?$tw.pageContainer===this.srcDocument.body.firstChild?$tw.pageContainer:this.srcDocument.body.firstChild:null;t&&$tw.utils.toggleClass(t,'tc-modal-displayed',0<this.modalCount)},exports.Modal=t}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/notifier.js":{"text":"!function(){'use strict';function t(t){this.wiki=t}require('$:/core/modules/widgets/widget.js'),t.prototype.display=function(t,e){e=e||{};var i,n,o=this,r=document.createElement('div'),s=this.wiki.getTiddler(t),a=$tw.utils.getAnimationDuration();s&&($tw.utils.addClass(r,'tc-notification'),e=$tw.utils.extend({currentTiddler:t},e.variables),(n=this.wiki.makeTranscludeWidget(t,{parentWidget:$tw.rootWidget,document:document,variables:e,importPageMacros:!0})).render(r,null),i=function(t){n.refresh(t,r,null)},this.wiki.addEventListener('change',i),$tw.utils.setStyle(r,[{opacity:'0'},{transformOrigin:'0% 0%'},{transform:'translateY('+-window.innerHeight+'px)'},{transition:'opacity '+a+'ms ease-out, '+$tw.utils.roundTripPropertyName('transform')+' '+a+'ms ease-in-out'}]),document.body.appendChild(r),$tw.utils.forceLayout(r),$tw.utils.setStyle(r,[{opacity:'1.0'},{transform:'translateY(0px)'}]),window.setTimeout(function(){o.wiki.removeEventListener('change',i),$tw.utils.forceLayout(r),$tw.utils.setStyle(r,[{opacity:'0.0'},{transform:'translateX('+r.offsetWidth+'px)'}]),setTimeout(function(){r.parentNode&&document.body.removeChild(r)},a)},$tw.config.preferences.notificationDuration))},exports.Notifier=t}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/popup.js":{"text":"!function(){'use strict';function t(t){t=t||{},this.rootElement=t.rootElement||document.documentElement,this.popups=[]}t.prototype.triggerPopup=function(t){var e=this.findPopup(t.title),o=-1===e;void 0!==t.force&&(o=t.force),o?this.show(t):this.cancel(e)},t.prototype.findPopup=function(t){for(var e=-1,o=0;o<this.popups.length;o++)this.popups[o].title===t&&(e=o);return e},t.prototype.handleEvent=function(t){var e;'click'===t.type&&(t=(e=this.popupInfo(t.target)).popupLevel-1,e.isHandle&&t++,this.cancel(t))},t.prototype.popupInfo=function(t){for(var e=!1,o=0,p=t;p;)$tw.utils.hasClass(p,'tc-popup-handle')&&(e=!0,o++),$tw.utils.hasClass(p,'tc-popup-keep')&&(e=!0),p=p.parentNode;for(p=t;p;)$tw.utils.hasClass(p,'tc-popup')&&o++,p=p.parentNode;return{popupLevel:o,isHandle:e}},t.prototype.show=function(t){var e=this.popupInfo(t.domNode);this.cancel(e.popupLevel),t.floating||-1!==this.findPopup(t.title)||this.popups.push({title:t.title,wiki:t.wiki,domNode:t.domNode,noStateReference:t.noStateReference});e='('+(e=t.domNodeRect||{left:t.domNode.offsetLeft,top:t.domNode.offsetTop,width:t.domNode.offsetWidth,height:t.domNode.offsetHeight}).left+','+e.top+','+e.width+','+e.height+')';t.noStateReference?t.wiki.setText(t.title,'text',void 0,e):t.wiki.setTextReference(t.title,e),0<this.popups.length&&this.rootElement.addEventListener('click',this,!0)},t.prototype.cancel=function(t){for(var e=this.popups.length,o=t=Math.max(0,Math.min(t,e));o<e;o++){var p=this.popups.pop();p.title&&(p.noStateReference?p.wiki.deleteTiddler(p.title):p.wiki.deleteTiddler($tw.utils.parseTextReference(p.title).title))}0===this.popups.length&&this.rootElement.removeEventListener('click',this,!1)},t.prototype.readPopupState=function(t){return/^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/.test(t)},exports.Popup=t}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/scroller.js":{"text":"!function(){'use strict';function t(){this.idRequestFrame=null,this.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)},this.cancelAnimationFrame=window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelAnimationFrame||window.mozCancelRequestAnimationFrame||function(t){window.clearTimeout(t)}}t.prototype.isScrolling=function(){return null!==this.idRequestFrame},t.prototype.cancelScroll=function(t){this.idRequestFrame&&(this.cancelAnimationFrame.call(t,this.idRequestFrame),this.idRequestFrame=null)},t.prototype.handleEvent=function(t){return'tm-scroll'!==t.type||(t.paramObject&&t.paramObject.selector?this.scrollSelectorIntoView(null,t.paramObject.selector):this.scrollIntoView(t.target),!1)},t.prototype.scrollIntoView=function(r,l){var a=this,c=$tw.utils.getAnimationDuration(),s=r?r.ownerDocument.defaultView:window;this.cancelScroll(s),this.startTime=Date.now();var t=s.document.querySelector('.tc-adjust-top-of-scroll'),u=0;t&&(u=t.offsetHeight);function m(t,e,i,n){return t<50&&(t=0),t}(function t(){var e=c<=0?1:(Date.now()-a.startTime)/c;1<=e&&(a.cancelScroll(s),e=1),e=$tw.utils.slowInSlowOut(e);var i,n,o=$tw.utils.getScrollPosition(s),n=(i='function'==typeof l?l():r.getBoundingClientRect(),n=$tw.utils.getScrollPosition(s),{left:i.left+n.x,top:i.top+n.y-u,width:i.width,height:i.height}),i=m(n.left,0,o.x,s.innerWidth),n=m(n.top,0,o.y,s.innerHeight);s.scrollTo(o.x+(i-o.x)*e,o.y+(n-o.y)*e),e<1&&(a.idRequestFrame=a.requestAnimationFrame.call(s,t))})()},t.prototype.scrollSelectorIntoView=function(t,e,i){e=(t=t||document.body).querySelector(e);e&&this.scrollIntoView(e,i)},exports.PageScroller=t}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/edition-info.js":{"text":"!function(){'use strict';var f,s=require('fs'),c=require('path');exports.getEditionInfo=function(){if(!f){var r=$tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar);f={};for(var t=0;t<r.length;t++)for(var i=r[t],e=s.readdirSync(i),n=0;n<e.length;n++){var a,o=e[n];if(!f[o]&&$tw.utils.isDirectory(c.resolve(i,o))){try{a=JSON.parse(s.readFileSync(c.resolve(i,o,'tiddlywiki.info'),'utf8'))}catch(r){}a&&(f[o]=a)}}}return f}}();","type":"application/javascript","module-type":"utils-node"},"$:/core/modules/utils/fakedom.js":{"text":"!function(){'use strict';function n(t){null!==e&&(t.sequenceNumber=e++)}var e=null,t=function(){throw TypeError('Illegal constructor')};function i(t){n(this),this.textContent=t+''}function r(t,e){n(this),this.isTiddlyWikiFakeDom=!0,this.tag=t,this.attributes={},this.isRaw=!1,this.children=[],this._style={},this.namespaceURI=e||'http://www.w3.org/1999/xhtml'}Object.defineProperty(t.prototype,'ELEMENT_NODE',{get:function(){return 1}}),Object.defineProperty(t.prototype,'TEXT_NODE',{get:function(){return 3}}),i.prototype=Object.create(t.prototype),Object.defineProperty(i.prototype,'nodeType',{get:function(){return this.TEXT_NODE}}),Object.defineProperty(i.prototype,'formattedTextContent',{get:function(){return this.textContent.replace(/(\\r?\\n)/g,'')}}),r.prototype=Object.create(t.prototype),Object.defineProperty(r.prototype,'style',{get:function(){return this._style},set:function(t){var n=this;t=t||'',$tw.utils.each(t.split(';'),function(t){var e=t.split(':'),t=$tw.utils.trim(e[0]),e=$tw.utils.trim(e[1]);t&&e&&(n._style[$tw.utils.convertStyleNameToPropertyName(t)]=e)})}}),Object.defineProperty(r.prototype,'nodeType',{get:function(){return this.ELEMENT_NODE}}),r.prototype.getAttribute=function(t){if(this.isRaw)throw'Cannot getAttribute on a raw TW_Element';return this.attributes[t]},r.prototype.setAttribute=function(t,e){if(this.isRaw)throw'Cannot setAttribute on a raw TW_Element';this.attributes[t]=e+''},r.prototype.setAttributeNS=function(t,e,n){this.setAttribute(e,n)},r.prototype.removeAttribute=function(t){if(this.isRaw)throw'Cannot removeAttribute on a raw TW_Element';$tw.utils.hop(this.attributes,t)&&delete this.attributes[t]},r.prototype.appendChild=function(t){this.children.push(t),t.parentNode=this},r.prototype.insertBefore=function(t,e){var n;e&&-1!==(n=this.children.indexOf(e))?(this.children.splice(n,0,t),t.parentNode=this):this.appendChild(t)},r.prototype.removeChild=function(t){t=this.children.indexOf(t);-1!==t&&this.children.splice(t,1)},r.prototype.hasChildNodes=function(){return!!this.children.length},Object.defineProperty(r.prototype,'childNodes',{get:function(){return this.children}}),Object.defineProperty(r.prototype,'firstChild',{get:function(){return this.children[0]}}),r.prototype.addEventListener=function(t,e,n){},Object.defineProperty(r.prototype,'tagName',{get:function(){return this.tag||''}}),Object.defineProperty(r.prototype,'className',{get:function(){return this.attributes.class||''},set:function(t){this.attributes.class=t+''}}),Object.defineProperty(r.prototype,'value',{get:function(){return this.attributes.value||''},set:function(t){this.attributes.value=t+''}}),Object.defineProperty(r.prototype,'outerHTML',{get:function(){var t,e,n,i=[];if(i.push('<',this.tag),this.attributes){for(e in t=[],this.attributes)t.push(e);for(t.sort(),e=0;e<t.length;e++)void 0!==(n=this.attributes[t[e]])&&i.push(' ',t[e],'=\"',$tw.utils.htmlEncode(n),'\"')}if(this._style){var r,o=[];for(r in this._style)o.push($tw.utils.convertPropertyNameToStyleName(r)+':'+this._style[r]+';');0<o.length&&i.push(' style=\"',o.join(''),'\"')}return i.push('>'),-1===$tw.config.htmlVoidElements.indexOf(this.tag)&&(i.push(this.innerHTML),i.push('</',this.tag,'>')),i.join('')}}),Object.defineProperty(r.prototype,'innerHTML',{get:function(){if(this.isRaw)return this.rawHTML;var e=[];return $tw.utils.each(this.children,function(t){t instanceof r?e.push(t.outerHTML):t instanceof i&&e.push($tw.utils.htmlEncode(t.textContent))}),e.join('')},set:function(t){this.isRaw=!0,this.rawHTML=t,this.rawTextContent=null}}),Object.defineProperty(r.prototype,'textInnerHTML',{set:function(t){if(!this.isRaw)throw'Cannot set textInnerHTML of a non-raw TW_Element';this.rawTextContent=t}}),Object.defineProperty(r.prototype,'textContent',{get:function(){if(this.isRaw)return null===this.rawTextContent?'':this.rawTextContent;var e=[];return $tw.utils.each(this.children,function(t){e.push(t.textContent)}),e.join('')},set:function(t){this.children=[new i(t)]}}),Object.defineProperty(r.prototype,'formattedTextContent',{get:function(){if(this.isRaw)return'';var e=[],t=-1!==$tw.config.htmlBlockElements.indexOf(this.tag);return t&&e.push('\\n'),'li'===this.tag&&e.push('* '),$tw.utils.each(this.children,function(t){e.push(t.formattedTextContent)}),t&&e.push('\\n'),e.join('')}}),t={setSequenceNumber:function(t){e=t},createElementNS:function(t,e){return new r(e,t)},createElement:function(t){return new r(t)},createTextNode:function(t){return new i(t)},compatMode:'CSS1Compat',isTiddlyWikiFakeDom:!0},exports.fakeDocument=t}();","type":"application/javascript","module-type":"global"},"$:/core/modules/utils/filesystem.js":{"text":"!function(){'use strict';var o,d=require('fs'),u=require('path');exports.getSubdirectories=function(t){if(!$tw.utils.isDirectory(t))return null;var i=[];return $tw.utils.each(d.readdirSync(t),function(e){$tw.utils.isDirectory(u.resolve(t,e))&&i.push(e)}),i},exports.copyDirectory=function(e,t){if(e=u.resolve($tw.utils.removeTrailingSeparator(e)),t=u.resolve($tw.utils.removeTrailingSeparator(t)),e.substring(0,t.length)===t||t.substring(0,e.length)===e)return'Cannot copy nested directories';var i=$tw.utils.createDirectory(t);if(i)return i;var o=function(e,t){var i=d.lstatSync(e);d.existsSync(t);if(i.isFile())$tw.utils.copyFile(e,t);else if(i.isDirectory())for(var r=d.readdirSync(e),n=0;n<r.length;n++){var l=r[n],l=o(e+u.sep+l,t+u.sep+l);if(l)return l}};return o(e,t),null},exports.copyFile=function(e,t){o=o||Buffer.alloc(65536),$tw.utils.createDirectory(u.dirname(t));for(var i=d.openSync(e,'r'),r=d.openSync(t,'w'),n=1,l=0;0<n;)n=d.readSync(i,o,0,65536,l),d.writeSync(r,o,0,n),l+=n;return d.closeSync(i),d.closeSync(r),null},exports.removeTrailingSeparator=function(e){var t=e.length;return e.charAt(t-1)===u.sep&&(e=e.substr(0,t-1)),e},exports.createDirectory=function(e){e.substr(e.length-1,1)!==u.sep&&(e+=u.sep);for(var t=1,t=e.indexOf(u.sep,t);-1!==t;){var i=e.substr(0,t);if(!$tw.utils.isDirectory(i))try{d.mkdirSync(i)}catch(e){return'Error creating directory \\''+i+'\\''}t=e.indexOf(u.sep,t+1)}return null},exports.createFileDirectories=function(e){return $tw.utils.createDirectory(u.dirname(e))},exports.deleteDirectory=function(e){if(d.existsSync(e)){for(var t=d.readdirSync(e),i=0;i<t.length;i++){var r=e+u.sep+t[i];d.lstatSync(r).isDirectory()?$tw.utils.deleteDirectory(r):d.unlinkSync(r)}d.rmdirSync(e)}return null},exports.isDirectory=function(e){return d.existsSync(e)&&d.statSync(e).isDirectory()},exports.isDirectoryEmpty=function(e){if(!$tw.utils.isDirectory(e))return!1;var e=d.readdirSync(e),i=!0;return $tw.utils.each(e,function(e,t){'.'!==e.charAt(0)&&(i=!1)}),i},exports.deleteEmptyDirs=function(i,r){var n=this;d.readdir(i,function(e,t){return e?r(e):0<t.length?r(null):void d.rmdir(i,function(e){return e?r(e):void n.deleteEmptyDirs(u.dirname(i),r)})})},exports.generateTiddlerFileInfo=function(e,t){var i={};t.fileInfo&&(i.isEditableFile=t.fileInfo.isEditableFile||!1);var r,n,l=!1;$tw.utils.each(e.getFieldStrings(),function(e,t){'text'!==t&&(l=(l=l||/[\\x00-\\x1F]/gm.test(e))||$tw.utils.trim(e)!==e)}),l?(i.type='application/json',i.hasMetaFile=!1):('text/vnd.tiddlywiki'===(r=e.fields.type||'text/vnd.tiddlywiki')?(i.type='application/x-tiddler',i.hasMetaFile=!1):(i.type=r,i.hasMetaFile=!0),t.extFilters&&(n=$tw.utils.generateTiddlerExtension(e.fields.title,{extFilters:t.extFilters,wiki:t.wiki}))&&('.tid'===n?(i.type='application/x-tiddler',i.hasMetaFile=!1):'.json'===n?(i.type='application/json',i.hasMetaFile=!1):(o=$tw.utils.getFileExtensionInfo(n),i.type=o?o.type:null,i.encoding=$tw.utils.getTypeEncoding(n),i.hasMetaFile=!0)));var o=$tw.config.contentTypeInfo[i.type]||{extension:''};return i.filepath=$tw.utils.generateTiddlerFilepath(e.fields.title,{extension:n||o.extension,directory:t.directory,pathFilters:t.pathFilters,wiki:t.wiki,fileInfo:t.fileInfo,originalpath:t.originalpath}),i},exports.generateTiddlerExtension=function(i,r){var n;return r.extFilters&&r.wiki&&$tw.utils.each(r.extFilters,function(e){var t;n||(t=r.wiki.makeTiddlerIterator([i]),0<(t=r.wiki.filterTiddlers(e,null,t)).length&&(n=t[0]))}),n},exports.generateTiddlerFilepath=function(i,r){var n,e=r.directory||'',t=r.extension||'',l=r.originalpath||'';r.pathFilters&&r.wiki&&$tw.utils.each(r.pathFilters,function(e){var t;n||(t=r.wiki.makeTiddlerIterator([i]),0<(t=r.wiki.filterTiddlers(e,null,t)).length&&(n=t[0]))}),n||''===l?n||((n=i).substring(n.length-t.length)===t&&(n=n.substring(0,n.length-t.length)),n=n.replace(/\\/|\\\\/g,'_')):(c=u.extname(l),n=l.substring(0,l.length-c.length)),/^\\.{1,2}[/\\\\]/g.test(n)||(n=n.replace(/^\\.+/g,'_')),200<(n=$tw.utils.transliterate(n.replace(/<|>|~|\\:|\\\"|\\||\\?|\\*|\\^/g,'_'))).length&&(n=n.substr(0,200)),n||(n='',$tw.utils.each(i.split(''),function(e){n&&(n+='-'),n+=e.charCodeAt(0).toString()}));for(var o,s=r.fileInfo?r.fileInfo.filepath:void 0,a=0;o=u.resolve(e,n+(a?'_'+a:'')+t),(!s||s!=o)&&(a++,d.existsSync(o)););var c=o;return(1==(r.fileInfo||{writeError:!1}).writeError||!(0==o.indexOf(u.resolve(e))||0==o.indexOf(u.resolve($tw.boot.wikiPath))||0==o.indexOf($tw.boot.wikiTiddlersPath)))&&(o=u.resolve(e,encodeURIComponent(o))),o=$tw.hooks.invokeHook('th-make-tiddler-path',c,o)},exports.saveTiddlerToFile=function(t,i,r){var e;$tw.utils.createDirectory(u.dirname(i.filepath)),i.hasMetaFile?(e=$tw.config.contentTypeInfo[t.fields.type||'text/plain']||{encoding:'utf8'},d.writeFile(i.filepath,t.fields.text,e.encoding,function(e){return e?r(e):void d.writeFile(i.filepath+'.meta',t.getFieldStringBlock({exclude:['text','bag']}),'utf8',r)})):'application/x-tiddler'===i.type?d.writeFile(i.filepath,t.getFieldStringBlock({exclude:['text','bag']})+(t.fields.text?'\\n\\n'+t.fields.text:''),'utf8',r):d.writeFile(i.filepath,JSON.stringify([t.getFieldStrings({exclude:['bag']})],null,$tw.config.preferences.jsonSpaces),'utf8',r)},exports.saveTiddlerToFileSync=function(e,t){var i;$tw.utils.createDirectory(u.dirname(t.filepath)),t.hasMetaFile?(i=$tw.config.contentTypeInfo[e.fields.type||'text/plain']||{encoding:'utf8'},d.writeFileSync(t.filepath,e.fields.text,i.encoding),d.writeFileSync(t.filepath+'.meta',e.getFieldStringBlock({exclude:['text','bag']}),'utf8')):'application/x-tiddler'===t.type?d.writeFileSync(t.filepath,e.getFieldStringBlock({exclude:['text','bag']})+(e.fields.text?'\\n\\n'+e.fields.text:''),'utf8'):d.writeFileSync(t.filepath,JSON.stringify([e.getFieldStrings({exclude:['bag']})],null,$tw.config.preferences.jsonSpaces),'utf8')},exports.deleteTiddlerFile=function(t,i){if(!t.filepath||!d.existsSync(t.filepath))return i(null);d.unlink(t.filepath,function(e){return e?i(e):t.hasMetaFile&&d.existsSync(t.filepath+'.meta')?void d.unlink(t.filepath+'.meta',function(e){return e?i(e):$tw.utils.deleteEmptyDirs(u.dirname(t.filepath),i)}):$tw.utils.deleteEmptyDirs(u.dirname(t.filepath),i)})},exports.cleanupTiddlerFiles=function(e,t){var i=e.adaptorInfo||{},r=e.bootInfo||{},n=e.title||'undefined';return i.filepath&&r.filepath&&i.filepath!==r.filepath?$tw.utils.deleteTiddlerFile(i,function(e){return e?'EPERM'!=e.code&&'EACCES'!=e.code||'unlink'!=e.syscall?t(e):($tw.syncer.displayError('Server desynchronized. Error cleaning up previous file for tiddler: '+n,e),t(null)):t(null)}):t(null)}}();","type":"application/javascript","module-type":"utils-node"},"$:/core/modules/utils/linkedlist.js":{"text":"function t(){this.clear()}function r(t,e){var i=t.index[e];return i&&(i.prev.next=i.next,i.next.prev=i.prev,--t.length,t.index[e]=i.copy),i}function o(t,e){(t.prev.next=e).prev=t.prev,((t.prev=e).next=t).length+=1}t.prototype.clear=function(){this.index=Object.create(null),((this.next=this).prev=this).length=0},t.prototype.remove=function(t){if($tw.utils.isArray(t))for(var e=0;e<t.length;e++)r(this,t[e]);else r(this,t)},t.prototype.push=function(){for(var t=0;t<arguments.length;t++){var e=arguments[t],i={value:e},n=this.index[e];if(o(this,i),n){for(;n.copy;)n=n.copy;n.copy=i}else this.index[e]=i}},t.prototype.pushTop=function(t){if($tw.utils.isArray(t)){for(var e=0;e<t.length;e++)r(this,t[e]);this.push.apply(this,t)}else{var i=r(this,t);if(i){for(var n=i;n.copy;)n=n.copy;n.copy=i,this.index[t]=i.copy,i.copy=void 0}else i={value:t},this.index[t]=i;o(this,i)}},t.prototype.each=function(t){for(var e=this.next;e!==this;e=e.next)t(e.value)},t.prototype.toArray=function(){for(var t=[],e=this.next;e!==this;e=e.next)t.push(e.value);return t},exports.LinkedList=t;","module-type":"utils","type":"application/javascript"},"$:/core/modules/utils/logger.js":{"text":"!function(){'use strict';var s='$:/tags/Alert';function e(e,t){t=t||{},this.componentName=e||'',this.colour=t.colour||'white',this.enable=!('enable'in t)||t.enable,this.save=!('save'in t)||t.save,this.saveLimit=t.saveLimit||102400,(this.saveBufferLogger=this).buffer='',this.alertCount=0}e.prototype.setSaveBuffer=function(e){this.saveBufferLogger=e},e.prototype.log=function(){var i=this;if(this.enable&&(this.saveBufferLogger.save&&(this.saveBufferLogger.buffer+=$tw.utils.formatDateString(new Date,'YYYY MM DD 0hh:0mm:0ss.0XXX')+':',$tw.utils.each(Array.prototype.slice.call(arguments,0),function(e,t){i.saveBufferLogger.buffer+=' '+e}),this.saveBufferLogger.buffer+='\\n',this.saveBufferLogger.buffer=this.saveBufferLogger.buffer.slice(-this.saveBufferLogger.saveLimit)),void 0!==console&&void 0!==console.log))return Function.apply.call(console.log,console,[$tw.utils.terminalColour(this.colour),this.componentName+':'].concat(Array.prototype.slice.call(arguments,0)).concat($tw.utils.terminalColour()))},e.prototype.getBuffer=function(){return this.saveBufferLogger.buffer},e.prototype.table=function(e){(console.table||console.log)(e)},e.prototype.alert=function(){var t,e,i,o,r;this.enable&&(t=Array.prototype.join.call(arguments,' '),$tw.browser?(e=$tw.wiki.getTiddlersWithTag(s),r=this,$tw.utils.each(e,function(e){e=$tw.wiki.getTiddler(e);e.fields.text===t&&e.fields.component===r.componentName&&e.fields.modified&&(!i||e.fields.modified<i.modified)&&(i=$tw.utils.extend({},e.fields))}),i?o=i.count||1:(i={title:$tw.wiki.generateNewTitle('$:/temp/alerts/alert',{prefix:''}),text:t,tags:[s],component:this.componentName},o=0,this.alertCount+=1),i.modified=new Date,1<++o?i.count=o:i.count=void 0,$tw.wiki.addTiddler(new $tw.Tiddler(i)),this.log.apply(this,Array.prototype.slice.call(arguments,0))):console.error('\u001b[1;33m'+t+'\u001b[0m'))},e.prototype.clearAlerts=function(){var t=this;$tw.browser&&0<this.alertCount&&($tw.utils.each($tw.wiki.getTiddlersWithTag(s),function(e){$tw.wiki.getTiddler(e).fields.component===t.componentName&&$tw.wiki.deleteTiddler(e)}),this.alertCount=0)},exports.Logger=e}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/parsetree.js":{"text":"!function(){'use strict';exports.addAttributeToParseTreeNode=function(t,e,s){t.attributes=t.attributes||{},t.attributes[e]={type:'string',value:s}},exports.getAttributeValueFromParseTreeNode=function(t,e,s){return t.attributes&&t.attributes[e]&&void 0!==t.attributes[e].value?t.attributes[e].value:s},exports.addClassToParseTreeNode=function(t,e){var s=[];t.attributes=t.attributes||{},t.attributes.class=t.attributes.class||{type:'string',value:''},'string'===t.attributes.class.type&&(''!==t.attributes.class.value&&(s=t.attributes.class.value.split(' ')),''!==e&&$tw.utils.pushTop(s,e.split(' ')),t.attributes.class.value=s.join(' '))},exports.addStyleToParseTreeNode=function(t,e,s){t.attributes=t.attributes||{},t.attributes.style=t.attributes.style||{type:'string',value:''},'string'===t.attributes.style.type&&(t.attributes.style.value+=e+':'+s+';')},exports.findParseTreeNode=function(t,e){for(var s=0;s<t.length;s++)if(t[s].type===e.type&&t[s].tag===e.tag)return t[s]},exports.getParseTreeText=function e(t){var s=[];if($tw.utils.isArray(t))$tw.utils.each(t,function(t){s.push(e(t))});else if('text'===t.type&&s.push(t.text),t.children)return e(t.children);return s.join('')}}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/performance.js":{"text":"!function(){'use strict';function e(e){this.enabled=!!e,this.measures={},this.logger=new $tw.utils.Logger('performance'),this.showGreeting()}e.prototype.showGreeting=function(){$tw.browser&&this.logger.log('Execute $tw.perf.log(); to see filter execution timings')},e.prototype.report=function(i,s){var r=this;return this.enabled?function(){var e=$tw.utils.timer(),t=s.apply(this,arguments);return r.logger.log(i+': '+$tw.utils.timer(e).toFixed(2)+'ms'),t}:s},e.prototype.log=function(){var i=this,s=0,e=Object.keys(this.measures).sort(function(e,t){return i.measures[e].time>i.measures[t].time?-1:i.measures[e].time<i.measures[t].time?1:0});$tw.utils.each(e,function(e){s+=i.measures[e].time});var r=[];$tw.utils.each(e,function(e){var t=i.measures[e];r.push({name:e,invocations:t.invocations,avgTime:t.time/t.invocations,totalTime:t.time,percentTime:t.time/s*100})}),i.logger.table(r)},e.prototype.measure=function(i,s){var r=this;return this.enabled?function(){var e=$tw.utils.timer(),t=s.apply(this,arguments);return i in r.measures||(r.measures[i]={time:0,invocations:0}),r.measures[i].time+=$tw.utils.timer(e),r.measures[i].invocations++,t}:s},exports.Performance=e}();","type":"application/javascript","module-type":"global"},"$:/core/modules/utils/pluginmaker.js":{"text":"!function(){'use strict';exports.repackPlugin=function(i,t,e){t=t||[],e=e||[];var r,l=$tw.wiki.getTiddler(i);if(!l)throw'No such tiddler as '+i;try{r=JSON.parse(l.fields.text)}catch(t){throw'Cannot parse plugin tiddler '+i+'\\n'+$tw.language.getString('Error/Caption')+': '+t}var s=Object.keys(r.tiddlers);$tw.utils.pushTop(s,t);for(var d=s.length-1;0<=d;d--)-1!==e.indexOf(s[d])&&s.splice(d,1);var n={};$tw.utils.each(s,function(t){var e=$tw.wiki.getTiddler(t),r={};$tw.utils.each(e.fields,function(t,i){r[i]=e.getFieldString(i)}),n[t]=r});var a=$tw.utils.parseVersion(l.getFieldString('version')||'0.0.0')||{major:'0',minor:'0',patch:'0'};a.patch++;t=a.major+'.'+a.minor+'.'+a.patch;return a.prerelease&&(t+='-'+a.prerelease),a.build&&(t+='+'+a.build),$tw.wiki.addTiddler(new $tw.Tiddler(l,{text:JSON.stringify({tiddlers:n},null,4),version:t})),$tw.utils.each(s,function(t){$tw.wiki.tiddlerExists(t)&&$tw.wiki.deleteTiddler(t)}),$tw.rootWidget.dispatchEvent({type:'tm-auto-save-wiki'}),'Plugin '+i+' successfully saved'}}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/transliterate.js":{"text":"!function(){'use strict';exports.transliterationPairs={'Á':'A','Ă':'A','Ắ':'A','Ặ':'A','Ằ':'A','Ẳ':'A','Ẵ':'A','Ǎ':'A','Â':'A','Ấ':'A','Ậ':'A','Ầ':'A','Ẩ':'A','Ẫ':'A','Ä':'A','Ǟ':'A','Ȧ':'A','Ǡ':'A','Ạ':'A','Ȁ':'A','À':'A','Ả':'A','Ȃ':'A','Ā':'A','Ą':'A','Å':'A','Ǻ':'A','Ḁ':'A','Ⱥ':'A','Ã':'A','Ꜳ':'AA','Æ':'AE','Ǽ':'AE','Ǣ':'AE','Ꜵ':'AO','Ꜷ':'AU','Ꜹ':'AV','Ꜻ':'AV','Ꜽ':'AY','Ḃ':'B','Ḅ':'B','Ɓ':'B','Ḇ':'B','Ƀ':'B','Ƃ':'B','Ć':'C','Č':'C','Ç':'C','Ḉ':'C','Ĉ':'C','Ċ':'C','Ƈ':'C','Ȼ':'C','Ď':'D','Ḑ':'D','Ḓ':'D','Ḋ':'D','Ḍ':'D','Ɗ':'D','Ḏ':'D','Dz':'D','Dž':'D','Đ':'D','Ƌ':'D','DZ':'DZ','DŽ':'DZ','É':'E','Ĕ':'E','Ě':'E','Ȩ':'E','Ḝ':'E','Ê':'E','Ế':'E','Ệ':'E','Ề':'E','Ể':'E','Ễ':'E','Ḙ':'E','Ë':'E','Ė':'E','Ẹ':'E','Ȅ':'E','È':'E','Ẻ':'E','Ȇ':'E','Ē':'E','Ḗ':'E','Ḕ':'E','Ę':'E','Ɇ':'E','Ẽ':'E','Ḛ':'E','Ꝫ':'ET','Ḟ':'F','Ƒ':'F','Ǵ':'G','Ğ':'G','Ǧ':'G','Ģ':'G','Ĝ':'G','Ġ':'G','Ɠ':'G','Ḡ':'G','Ǥ':'G','Ḫ':'H','Ȟ':'H','Ḩ':'H','Ĥ':'H','Ⱨ':'H','Ḧ':'H','Ḣ':'H','Ḥ':'H','Ħ':'H','Í':'I','Ĭ':'I','Ǐ':'I','Î':'I','Ï':'I','Ḯ':'I','İ':'I','Ị':'I','Ȉ':'I','Ì':'I','Ỉ':'I','Ȋ':'I','Ī':'I','Į':'I','Ɨ':'I','Ĩ':'I','Ḭ':'I','Ꝺ':'D','Ꝼ':'F','Ᵹ':'G','Ꞃ':'R','Ꞅ':'S','Ꞇ':'T','Ꝭ':'IS','Ĵ':'J','Ɉ':'J','Ḱ':'K','Ǩ':'K','Ķ':'K','Ⱪ':'K','Ꝃ':'K','Ḳ':'K','Ƙ':'K','Ḵ':'K','Ꝁ':'K','Ꝅ':'K','Ĺ':'L','Ƚ':'L','Ľ':'L','Ļ':'L','Ḽ':'L','Ḷ':'L','Ḹ':'L','Ⱡ':'L','Ꝉ':'L','Ḻ':'L','Ŀ':'L','Ɫ':'L','Lj':'L','Ł':'L','LJ':'LJ','Ḿ':'M','Ṁ':'M','Ṃ':'M','Ɱ':'M','Ń':'N','Ň':'N','Ņ':'N','Ṋ':'N','Ṅ':'N','Ṇ':'N','Ǹ':'N','Ɲ':'N','Ṉ':'N','Ƞ':'N','Nj':'N','Ñ':'N','NJ':'NJ','Ó':'O','Ŏ':'O','Ǒ':'O','Ô':'O','Ố':'O','Ộ':'O','Ồ':'O','Ổ':'O','Ỗ':'O','Ö':'O','Ȫ':'O','Ȯ':'O','Ȱ':'O','Ọ':'O','Ő':'O','Ȍ':'O','Ò':'O','Ỏ':'O','Ơ':'O','Ớ':'O','Ợ':'O','Ờ':'O','Ở':'O','Ỡ':'O','Ȏ':'O','Ꝋ':'O','Ꝍ':'O','Ō':'O','Ṓ':'O','Ṑ':'O','Ɵ':'O','Ǫ':'O','Ǭ':'O','Ø':'O','Ǿ':'O','Õ':'O','Ṍ':'O','Ṏ':'O','Ȭ':'O','Ƣ':'OI','Ꝏ':'OO','Ɛ':'E','Ɔ':'O','Ȣ':'OU','Ṕ':'P','Ṗ':'P','Ꝓ':'P','Ƥ':'P','Ꝕ':'P','Ᵽ':'P','Ꝑ':'P','Ꝙ':'Q','Ꝗ':'Q','Ŕ':'R','Ř':'R','Ŗ':'R','Ṙ':'R','Ṛ':'R','Ṝ':'R','Ȑ':'R','Ȓ':'R','Ṟ':'R','Ɍ':'R','Ɽ':'R','Ꜿ':'C','Ǝ':'E','Ś':'S','Ṥ':'S','Š':'S','Ṧ':'S','Ş':'S','Ŝ':'S','Ș':'S','Ṡ':'S','Ṣ':'S','Ṩ':'S','Ť':'T','Ţ':'T','Ṱ':'T','Ț':'T','Ⱦ':'T','Ṫ':'T','Ṭ':'T','Ƭ':'T','Ṯ':'T','Ʈ':'T','Ŧ':'T','Ɐ':'A','Ꞁ':'L','Ɯ':'M','Ʌ':'V','Ꜩ':'TZ','Ú':'U','Ŭ':'U','Ǔ':'U','Û':'U','Ṷ':'U','Ü':'U','Ǘ':'U','Ǚ':'U','Ǜ':'U','Ǖ':'U','Ṳ':'U','Ụ':'U','Ű':'U','Ȕ':'U','Ù':'U','Ủ':'U','Ư':'U','Ứ':'U','Ự':'U','Ừ':'U','Ử':'U','Ữ':'U','Ȗ':'U','Ū':'U','Ṻ':'U','Ų':'U','Ů':'U','Ũ':'U','Ṹ':'U','Ṵ':'U','Ꝟ':'V','Ṿ':'V','Ʋ':'V','Ṽ':'V','Ꝡ':'VY','Ẃ':'W','Ŵ':'W','Ẅ':'W','Ẇ':'W','Ẉ':'W','Ẁ':'W','Ⱳ':'W','Ẍ':'X','Ẋ':'X','Ý':'Y','Ŷ':'Y','Ÿ':'Y','Ẏ':'Y','Ỵ':'Y','Ỳ':'Y','Ƴ':'Y','Ỷ':'Y','Ỿ':'Y','Ȳ':'Y','Ɏ':'Y','Ỹ':'Y','Ź':'Z','Ž':'Z','Ẑ':'Z','Ⱬ':'Z','Ż':'Z','Ẓ':'Z','Ȥ':'Z','Ẕ':'Z','Ƶ':'Z','IJ':'IJ','Œ':'OE','ᴀ':'A','ᴁ':'AE','ʙ':'B','ᴃ':'B','ᴄ':'C','ᴅ':'D','ᴇ':'E','ꜰ':'F','ɢ':'G','ʛ':'G','ʜ':'H','ɪ':'I','ʁ':'R','ᴊ':'J','ᴋ':'K','ʟ':'L','ᴌ':'L','ᴍ':'M','ɴ':'N','ᴏ':'O','ɶ':'OE','ᴐ':'O','ᴕ':'OU','ᴘ':'P','ʀ':'R','ᴎ':'N','ᴙ':'R','ꜱ':'S','ᴛ':'T','ⱻ':'E','ᴚ':'R','ᴜ':'U','ᴠ':'V','ᴡ':'W','ʏ':'Y','ᴢ':'Z','á':'a','ă':'a','ắ':'a','ặ':'a','ằ':'a','ẳ':'a','ẵ':'a','ǎ':'a','â':'a','ấ':'a','ậ':'a','ầ':'a','ẩ':'a','ẫ':'a','ä':'a','ǟ':'a','ȧ':'a','ǡ':'a','ạ':'a','ȁ':'a','à':'a','ả':'a','ȃ':'a','ā':'a','ą':'a','ᶏ':'a','ẚ':'a','å':'a','ǻ':'a','ḁ':'a','ⱥ':'a','ã':'a','ꜳ':'aa','æ':'ae','ǽ':'ae','ǣ':'ae','ꜵ':'ao','ꜷ':'au','ꜹ':'av','ꜻ':'av','ꜽ':'ay','ḃ':'b','ḅ':'b','ɓ':'b','ḇ':'b','ᵬ':'b','ᶀ':'b','ƀ':'b','ƃ':'b','ɵ':'o','ć':'c','č':'c','ç':'c','ḉ':'c','ĉ':'c','ɕ':'c','ċ':'c','ƈ':'c','ȼ':'c','ď':'d','ḑ':'d','ḓ':'d','ȡ':'d','ḋ':'d','ḍ':'d','ɗ':'d','ᶑ':'d','ḏ':'d','ᵭ':'d','ᶁ':'d','đ':'d','ɖ':'d','ƌ':'d','ı':'i','ȷ':'j','ɟ':'j','ʄ':'j','dz':'dz','dž':'dz','é':'e','ĕ':'e','ě':'e','ȩ':'e','ḝ':'e','ê':'e','ế':'e','ệ':'e','ề':'e','ể':'e','ễ':'e','ḙ':'e','ë':'e','ė':'e','ẹ':'e','ȅ':'e','è':'e','ẻ':'e','ȇ':'e','ē':'e','ḗ':'e','ḕ':'e','ⱸ':'e','ę':'e','ᶒ':'e','ɇ':'e','ẽ':'e','ḛ':'e','ꝫ':'et','ḟ':'f','ƒ':'f','ᵮ':'f','ᶂ':'f','ǵ':'g','ğ':'g','ǧ':'g','ģ':'g','ĝ':'g','ġ':'g','ɠ':'g','ḡ':'g','ᶃ':'g','ǥ':'g','ḫ':'h','ȟ':'h','ḩ':'h','ĥ':'h','ⱨ':'h','ḧ':'h','ḣ':'h','ḥ':'h','ɦ':'h','ẖ':'h','ħ':'h','ƕ':'hv','í':'i','ĭ':'i','ǐ':'i','î':'i','ï':'i','ḯ':'i','ị':'i','ȉ':'i','ì':'i','ỉ':'i','ȋ':'i','ī':'i','į':'i','ᶖ':'i','ɨ':'i','ĩ':'i','ḭ':'i','ꝺ':'d','ꝼ':'f','ᵹ':'g','ꞃ':'r','ꞅ':'s','ꞇ':'t','ꝭ':'is','ǰ':'j','ĵ':'j','ʝ':'j','ɉ':'j','ḱ':'k','ǩ':'k','ķ':'k','ⱪ':'k','ꝃ':'k','ḳ':'k','ƙ':'k','ḵ':'k','ᶄ':'k','ꝁ':'k','ꝅ':'k','ĺ':'l','ƚ':'l','ɬ':'l','ľ':'l','ļ':'l','ḽ':'l','ȴ':'l','ḷ':'l','ḹ':'l','ⱡ':'l','ꝉ':'l','ḻ':'l','ŀ':'l','ɫ':'l','ᶅ':'l','ɭ':'l','ł':'l','lj':'lj','ſ':'s','ẜ':'s','ẛ':'s','ẝ':'s','ḿ':'m','ṁ':'m','ṃ':'m','ɱ':'m','ᵯ':'m','ᶆ':'m','ń':'n','ň':'n','ņ':'n','ṋ':'n','ȵ':'n','ṅ':'n','ṇ':'n','ǹ':'n','ɲ':'n','ṉ':'n','ƞ':'n','ᵰ':'n','ᶇ':'n','ɳ':'n','ñ':'n','nj':'nj','ó':'o','ŏ':'o','ǒ':'o','ô':'o','ố':'o','ộ':'o','ồ':'o','ổ':'o','ỗ':'o','ö':'o','ȫ':'o','ȯ':'o','ȱ':'o','ọ':'o','ő':'o','ȍ':'o','ò':'o','ỏ':'o','ơ':'o','ớ':'o','ợ':'o','ờ':'o','ở':'o','ỡ':'o','ȏ':'o','ꝋ':'o','ꝍ':'o','ⱺ':'o','ō':'o','ṓ':'o','ṑ':'o','ǫ':'o','ǭ':'o','ø':'o','ǿ':'o','õ':'o','ṍ':'o','ṏ':'o','ȭ':'o','ƣ':'oi','ꝏ':'oo','ɛ':'e','ᶓ':'e','ɔ':'o','ᶗ':'o','ȣ':'ou','ṕ':'p','ṗ':'p','ꝓ':'p','ƥ':'p','ᵱ':'p','ᶈ':'p','ꝕ':'p','ᵽ':'p','ꝑ':'p','ꝙ':'q','ʠ':'q','ɋ':'q','ꝗ':'q','ŕ':'r','ř':'r','ŗ':'r','ṙ':'r','ṛ':'r','ṝ':'r','ȑ':'r','ɾ':'r','ᵳ':'r','ȓ':'r','ṟ':'r','ɼ':'r','ᵲ':'r','ᶉ':'r','ɍ':'r','ɽ':'r','ↄ':'c','ꜿ':'c','ɘ':'e','ɿ':'r','ś':'s','ṥ':'s','š':'s','ṧ':'s','ş':'s','ŝ':'s','ș':'s','ṡ':'s','ṣ':'s','ṩ':'s','ʂ':'s','ᵴ':'s','ᶊ':'s','ȿ':'s','ɡ':'g','ᴑ':'o','ᴓ':'o','ᴝ':'u','ť':'t','ţ':'t','ṱ':'t','ț':'t','ȶ':'t','ẗ':'t','ⱦ':'t','ṫ':'t','ṭ':'t','ƭ':'t','ṯ':'t','ᵵ':'t','ƫ':'t','ʈ':'t','ŧ':'t','ᵺ':'th','ɐ':'a','ᴂ':'ae','ǝ':'e','ᵷ':'g','ɥ':'h','ʮ':'h','ʯ':'h','ᴉ':'i','ʞ':'k','ꞁ':'l','ɯ':'m','ɰ':'m','ᴔ':'oe','ɹ':'r','ɻ':'r','ɺ':'r','ⱹ':'r','ʇ':'t','ʌ':'v','ʍ':'w','ʎ':'y','ꜩ':'tz','ú':'u','ŭ':'u','ǔ':'u','û':'u','ṷ':'u','ü':'u','ǘ':'u','ǚ':'u','ǜ':'u','ǖ':'u','ṳ':'u','ụ':'u','ű':'u','ȕ':'u','ù':'u','ủ':'u','ư':'u','ứ':'u','ự':'u','ừ':'u','ử':'u','ữ':'u','ȗ':'u','ū':'u','ṻ':'u','ų':'u','ᶙ':'u','ů':'u','ũ':'u','ṹ':'u','ṵ':'u','ᵫ':'ue','ꝸ':'um','ⱴ':'v','ꝟ':'v','ṿ':'v','ʋ':'v','ᶌ':'v','ⱱ':'v','ṽ':'v','ꝡ':'vy','ẃ':'w','ŵ':'w','ẅ':'w','ẇ':'w','ẉ':'w','ẁ':'w','ⱳ':'w','ẘ':'w','ẍ':'x','ẋ':'x','ᶍ':'x','ý':'y','ŷ':'y','ÿ':'y','ẏ':'y','ỵ':'y','ỳ':'y','ƴ':'y','ỷ':'y','ỿ':'y','ȳ':'y','ẙ':'y','ɏ':'y','ỹ':'y','ź':'z','ž':'z','ẑ':'z','ʑ':'z','ⱬ':'z','ż':'z','ẓ':'z','ȥ':'z','ẕ':'z','ᵶ':'z','ᶎ':'z','ʐ':'z','ƶ':'z','ɀ':'z','ff':'ff','ffi':'ffi','ffl':'ffl','fi':'fi','fl':'fl','ij':'ij','œ':'oe','st':'st','ₐ':'a','ₑ':'e','ᵢ':'i','ⱼ':'j','ₒ':'o','ᵣ':'r','ᵤ':'u','ᵥ':'v','ₓ':'x','Ё':'YO','Й':'I','Ц':'TS','У':'U','К':'K','Е':'E','Н':'N','Г':'G','Ш':'SH','Щ':'SCH','З':'Z','Х':'H','Ъ':'\\'','ё':'yo','й':'i','ц':'ts','у':'u','к':'k','е':'e','н':'n','г':'g','ш':'sh','щ':'sch','з':'z','х':'h','ъ':'\\'','Ф':'F','Ы':'I','В':'V','А':'a','П':'P','Р':'R','О':'O','Л':'L','Д':'D','Ж':'ZH','Э':'E','ф':'f','ы':'i','в':'v','а':'a','п':'p','р':'r','о':'o','л':'l','д':'d','ж':'zh','э':'e','Я':'Ya','Ч':'CH','С':'S','М':'M','И':'I','Т':'T','Ь':'\\'','Б':'B','Ю':'YU','я':'ya','ч':'ch','с':'s','м':'m','и':'i','т':'t','ь':'\\'','б':'b','ю':'yu'},exports.transliterate=function(o){return o.replace(/[^A-Za-z0-9\\[\\] ]/g,function(o){return exports.transliterationPairs[o]||o})},exports.transliterateToSafeASCII=function(o){return o.replace(/[^\\x00-\\x7F]/g,function(o){return exports.transliterationPairs[o]||''})}}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/utils.js":{"text":"!function(){'use strict';var t=require('$:/core/modules/utils/base64-utf8/base64-utf8.module.js');exports.log=function(e,t){console.log($tw.node?exports.terminalColour(t)+e+exports.terminalColour():e)},exports.terminalColour=function(e){if(!$tw.browser&&$tw.node&&process.stdout.isTTY){if(!e)return'\u001b[0m';e=exports.terminalColourLookup[e];if(e)return'\u001b['+e+'m'}return''},exports.terminalColourLookup={black:'0;30',red:'0;31',green:'0;32','brown/orange':'0;33',blue:'0;34',purple:'0;35',cyan:'0;36','light gray':'0;37'},exports.warning=function(e){exports.log(e,'brown/orange')},exports.logTable=function(e){console.table?console.table(e):$tw.utils.each(e,function(e,t){console.log(t+': '+e)})},exports.getInt=function(e,t){e=parseInt(e,10);return isNaN(e)?t:e},exports.replaceString=function(e,t,r){return e.replace(t,function(){return r})},exports.repeat=function(e,t){for(var r='',n=0;n<t;n++)r+=e;return r},exports.trim=function(e){return'string'==typeof e?e.replace(/^\\s\\s*/,'').replace(/\\s\\s*$/,''):e},exports.trimPrefix=function(e,t){if('string'!=typeof e||'string'!=typeof t)return e;if(''===t)return e.replace(/^\\s\\s*/,'');t=t.replace(/[\\\\^$*+?.()|[\\]{}]/g,'\\\\$&');t=new RegExp('^('+t+')+');return e.replace(t,'')},exports.trimSuffix=function(e,t){if('string'!=typeof e||'string'!=typeof t)return e;if(''===t)return e.replace(/\\s\\s*$/,'');t=t.replace(/[\\\\^$*+?.()|[\\]{}]/g,'\\\\$&');t=new RegExp('('+t+')+$');return e.replace(t,'')},exports.toSentenceCase=function(e){return(e||'').replace(/^\\S/,function(e){return e.toUpperCase()})},exports.toTitleCase=function(e){return(e||'').replace(/(^|\\s)\\S/g,function(e){return e.toUpperCase()})},exports.findPrecedingLineBreak=function(e,t){t=e.lastIndexOf('\\n',t-1);return-1===t?t=0:(t++,'\\r'===e.charAt(t)&&t++),t},exports.findFollowingLineBreak=function(e,t){t=e.indexOf('\\n',t);return-1===t?t=e.length:'\\r'===e.charAt(t)&&t++,t},exports.count=function(e){return Object.keys(e||{}).length},exports.hopArray=function(e,t){for(var r=0;r<t.length;r++)if($tw.utils.hop(e,t[r]))return!0;return!1},exports.removeArrayEntries=function(e,t){var r,n;if($tw.utils.isArray(t))for(r=0;r<t.length;r++)-1!==(n=e.indexOf(t[r]))&&e.splice(n,1);else-1!==(n=e.indexOf(t))&&e.splice(n,1)},exports.checkDependencies=function(r,e){var n=!1;return $tw.utils.each(e,function(e,t){$tw.utils.hop(r,t)&&(n=!0)}),n},exports.extend=function(r){return $tw.utils.each(Array.prototype.slice.call(arguments,1),function(e){if(e)for(var t in e)r[t]=e[t]}),r},exports.deepCopy=function(e){var t,r;if($tw.utils.isArray(e))t=e.slice(0);else if('object'==typeof e)for(r in t={},e)void 0!==e[r]&&(t[r]=$tw.utils.deepCopy(e[r]));else t=e;return t},exports.extendDeepCopy=function(e,t){var r,n=$tw.utils.deepCopy(e);for(r in t)void 0!==t[r]&&(n[r]=$tw.utils.deepCopy(t[r]));return n},exports.deepFreeze=function e(t){var r,n;if(t)for(n in Object.freeze(t),t)r=t[n],$tw.utils.hop(t,n)&&'object'==typeof r&&!Object.isFrozen(r)&&e(r)},exports.slowInSlowOut=function(e){return 1-(Math.cos(e*Math.PI)+1)/2},exports.formatDateString=function(r,e){var t='',n=e,o=[[/^0hh12/,function(){return $tw.utils.pad($tw.utils.getHours12(r))}],[/^wYYYY/,function(){return $tw.utils.pad($tw.utils.getYearForWeekNo(r),4)}],[/^hh12/,function(){return $tw.utils.getHours12(r)}],[/^DDth/,function(){return r.getDate()+$tw.utils.getDaySuffix(r)}],[/^YYYY/,function(){return $tw.utils.pad(r.getFullYear(),4)}],[/^aYYYY/,function(){return $tw.utils.pad(Math.abs(r.getFullYear()),4)}],[/^\\{era:([^,\\|}]*)\\|([^}\\|]*)\\|([^}]*)\\}/,function(e){var t=r.getFullYear();return 0===t?e[2]:t<0?e[1]:e[3]}],[/^0hh/,function(){return $tw.utils.pad(r.getHours())}],[/^0mm/,function(){return $tw.utils.pad(r.getMinutes())}],[/^0ss/,function(){return $tw.utils.pad(r.getSeconds())}],[/^0XXX/,function(){return $tw.utils.pad(r.getMilliseconds(),3)}],[/^0DD/,function(){return $tw.utils.pad(r.getDate())}],[/^0MM/,function(){return $tw.utils.pad(r.getMonth()+1)}],[/^0WW/,function(){return $tw.utils.pad($tw.utils.getWeek(r))}],[/^ddd/,function(){return $tw.language.getString('Date/Short/Day/'+r.getDay())}],[/^mmm/,function(){return $tw.language.getString('Date/Short/Month/'+(r.getMonth()+1))}],[/^DDD/,function(){return $tw.language.getString('Date/Long/Day/'+r.getDay())}],[/^MMM/,function(){return $tw.language.getString('Date/Long/Month/'+(r.getMonth()+1))}],[/^TZD/,function(){var e=r.getTimezoneOffset(),t=Math.abs(e);return(e<0?'+':'-')+$tw.utils.pad(Math.floor(t/60))+':'+$tw.utils.pad(t%60)}],[/^wYY/,function(){return $tw.utils.pad($tw.utils.getYearForWeekNo(r)-2e3)}],[/^[ap]m/,function(){return $tw.utils.getAmPm(r).toLowerCase()}],[/^hh/,function(){return r.getHours()}],[/^mm/,function(){return r.getMinutes()}],[/^ss/,function(){return r.getSeconds()}],[/^XXX/,function(){return r.getMilliseconds()}],[/^[AP]M/,function(){return $tw.utils.getAmPm(r).toUpperCase()}],[/^DD/,function(){return r.getDate()}],[/^MM/,function(){return r.getMonth()+1}],[/^WW/,function(){return $tw.utils.getWeek(r)}],[/^YY/,function(){return $tw.utils.pad(r.getFullYear()-2e3)}]];if(0==n.indexOf('[UTC]')){if('[UTC]YYYY0MM0DD0hh0mm0ssXXX'==n)return $tw.utils.stringifyDate(new Date);e=r.getTimezoneOffset();r=new Date(r.getTime()+60*e*1e3),n=n.substr(5)}for(;n.length;){var i='';$tw.utils.each(o,function(e){var t=e[0].exec(n);if(t)return i=e[1].call(null,t),n=n.substr(t[0].length),!1}),i?t+=i:(t+=n.charAt(0),n=n.substr(1))}return t=t.replace(/\\\\(.)/g,'$1')},exports.getAmPm=function(e){return $tw.language.getString('Date/Period/'+(12<=e.getHours()?'pm':'am'))},exports.getDaySuffix=function(e){return $tw.language.getString('Date/DaySuffix/'+e.getDate())},exports.getWeek=function(e){var t=new Date(e.getTime()),e=t.getDay();0===e&&(e=7),t.setTime(t.getTime()+864e5*(4-e));e=new Date(t.getFullYear(),0,1),e=Math.floor((t.getTime()-e.getTime())/864e5);return Math.floor(e/7)+1},exports.getYearForWeekNo=function(e){var t=new Date(e.getTime()),e=t.getDay();return 0===e&&(e=7),t.setTime(t.getTime()+864e5*(4-e)),t.getFullYear()},exports.getHours12=function(e){e=e.getHours();return 12<e?e-12:0<e?e:12},exports.getRelativeDate=function(e){var t=!1;e<0&&(e*=-1,t=!0);for(var r=[{name:'Years',duration:31536e6},{name:'Months',duration:2628e6},{name:'Days',duration:864e5},{name:'Hours',duration:36e5},{name:'Minutes',duration:6e4},{name:'Seconds',duration:1e3}],n=0;n<r.length;n++){var o=Math.floor(e/r[n].duration);if(2<=o)return{delta:e,description:$tw.language.getString('RelativeDate/'+(t?'Future':'Past')+'/'+r[n].name,{variables:{period:o.toString()}}),updatePeriod:r[n].duration}}return{delta:e,description:$tw.language.getString('RelativeDate/'+(t?'Future':'Past')+'/Second',{variables:{period:'1'}}),updatePeriod:1e3}},exports.htmlEncode=function(e){return e?e.toString().replace(/&/gm,'&').replace(/</gm,'<').replace(/>/gm,'>').replace(/\\\"/gm,'"'):''},exports.entityDecode=function(e){var t,r=String.fromCodePoint||String.fromCharCode,n=e.substr(1,e.length-2);return'#'===n.charAt(0)?(t='x'===n.charAt(1)||'X'===n.charAt(1)?parseInt(n.substr(2),16):parseInt(n.substr(1),10),isNaN(t)?e:r(t)):(t=$tw.config.htmlEntities[n])?r(t):e},exports.unescapeLineBreaks=function(e){return e.replace(/\\\\n/gm,'\\n').replace(/\\\\b/gm,' ').replace(/\\\\s/gm,'\\\\').replace(/\\r/gm,'')},exports.escape=function(e){e=e.charCodeAt(0);return e<=255?'\\\\x'+$tw.utils.pad(e.toString(16).toUpperCase()):'\\\\u'+$tw.utils.pad(e.toString(16).toUpperCase(),4)},exports.stringify=function(e,t){t=t?/[\\x00-\\x1f]/g:/[\\x00-\\x1f\\x80-\\uFFFF]/g;return(e||'').replace(/\\\\/g,'\\\\\\\\').replace(/\"/g,'\\\\\"').replace(/'/g,'\\\\\\'').replace(/\\r/g,'\\\\r').replace(/\\n/g,'\\\\n').replace(t,exports.escape)},exports.jsonStringify=function(e,t){t=t?/[\\x00-\\x1f]/g:/[\\x00-\\x1f\\x80-\\uFFFF]/g;return(e||'').replace(/\\\\/g,'\\\\\\\\').replace(/\"/g,'\\\\\"').replace(/\\r/g,'\\\\r').replace(/\\n/g,'\\\\n').replace(/\\x08/g,'\\\\b').replace(/\\x0c/g,'\\\\f').replace(/\\t/g,'\\\\t').replace(t,function(e){return'\\\\u'+$tw.utils.pad(e.charCodeAt(0).toString(16).toUpperCase(),4)})},exports.escapeRegExp=function(e){return e.replace(/[\\-\\/\\\\\\^\\$\\*\\+\\?\\.\\(\\)\\|\\[\\]\\{\\}]/g,'\\\\$&')},exports.isLinkExternal=function(e){return/^(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/i.test(e)},exports.nextTick=function(e){'undefined'==typeof process?window.setTimeout(e,4):process.nextTick(e)},exports.unHyphenateCss=function(e){return e.replace(/-([a-z])/gi,function(e,t){return t.toUpperCase()})},exports.hyphenateCss=function(e){return e.replace(/([A-Z])/g,function(e,t){return'-'+t.toLowerCase()})},exports.parseTextReference=function(e){var t=/(?:(.*?)!!(.+))|(?:(.*?)##(.+))|(.*)/gm,r=t.exec(e),n={};return r&&t.lastIndex===e.length?(r[1]&&(n.title=r[1]),r[2]&&(n.field=r[2]),r[3]&&(n.title=r[3]),r[4]&&(n.index=r[4]),r[5]&&(n.title=r[5])):n.title=e,n},exports.isValidFieldName=function(e){if(!e||'string'!=typeof e)return!1;e=e.toLowerCase().trim();return/^[a-z0-9\\-\\._]+$/gm.test(e)},exports.extractVersionInfo=function(){if($tw.packageInfo)return $tw.packageInfo.version;for(var e=document.getElementsByTagName('meta'),t=0;t<e.length;t++){var r=e[t];if('tiddlywiki-version'===r.name)return r.content}return null},exports.getAnimationDuration=function(){return parseInt($tw.wiki.getTiddlerText('$:/config/AnimationDuration','400'),10)||0},exports.hashString=function(e){return e.split('').reduce(function(e,t){return(e=(e<<5)-e+t.charCodeAt(0))&e},0)},exports.base64Decode=function(e){return t.base64.decode.call(t,e)},exports.base64Encode=function(e){return t.base64.encode.call(t,e)},exports.makeTiddlerDictionary=function(e){var t,r=[];for(t in e)r.push(t+': '+e[t]);return r.join('\\n')},exports.timer=function(e){var t;return t=$tw.node?1e3*(t=process.hrtime())[0]+t[1]/1e6:(window.performance?performance:Date).now(),void 0!==e&&(t-=e),t},exports.makeDataUri=function(e,t,r){t=t||'text/vnd.tiddlywiki';var n='base64'===($tw.config.contentTypeInfo[t]||$tw.config.contentTypeInfo['text/plain']).encoding,o=[];return r?o.push(r):(o.push('data:'),o.push(t),o.push(n?';base64':''),o.push(','),o.push(n?e:encodeURIComponent(e))),o.join('')},exports.tagToCssSelector=function(e){return'tc-tagged-'+encodeURIComponent(e).replace(/[!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^`{\\|}~,]/gm,function(e){return'\\\\'+e})},exports.sign=Math.sign||function(e){return 0===(e=+e)||isNaN(e)?e:0<e?1:-1},exports.strEndsWith=function(e,t,r){if(e.endsWith)return e.endsWith(t,r);('number'!=typeof r||!isFinite(r)||Math.floor(r)!==r||r>e.length)&&(r=e.length),r-=t.length;t=e.indexOf(t,r);return-1!==t&&t===r},exports.getSystemInfo=function(e,t,r){function n(e,t){o.push(e+': '+t)}var o=[];return $tw.browser&&(n('User Agent',navigator.userAgent),n('Online Status',window.navigator.onLine)),$tw.node&&n('Node Version',process.version),o.join('\\n')},exports.parseNumber=function(e){return parseFloat(e)||0},exports.parseInt=function(e){return parseInt(e,10)||0},exports.stringifyNumber=function(e){return e+''},exports.makeCompareFunction=function(e,t){function r(e,t){return t<e?n:e<t?o:0}var n=(t=t||{}).invert?-1:1,o=t.invert?1:-1,i={number:function(e,t){return r($tw.utils.parseNumber(e),$tw.utils.parseNumber(t))},integer:function(e,t){return r($tw.utils.parseInt(e),$tw.utils.parseInt(t))},string:function(e,t){return r(''+e,''+t)},date:function(e,t){e=$tw.utils.parseDate(e),t=$tw.utils.parseDate(t);return isFinite(e)||(e=new Date(0)),isFinite(t)||(t=new Date(0)),r(e,t)},version:function(e,t){return $tw.utils.compareVersions(e,t)}};return i[e]||i[t.defaultType]||i.number}}();","type":"application/javascript","module-type":"utils"},"$:/core/modules/widgets/action-confirm.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.computeAttributes(),this.execute(),this.parentDomNode=t,this.renderChildren(t,e)},t.prototype.execute=function(){this.message=this.getAttribute('$message',$tw.language.getString('ConfirmAction')),this.prompt='no'!=this.getAttribute('$prompt','yes'),this.makeChildWidgets()},t.prototype.refresh=function(t){var e=this.computeAttributes();return e.$message||e.$prompt?(this.refreshSelf(),!0):this.refreshChildren(t)},t.prototype.invokeAction=function(t,e){var i=!0,r=!0;return this.prompt&&(i=confirm(this.message)),i&&(r=this.invokeActions(t,e)),r},t.prototype.allowActionPropagation=function(){return!1},exports['action-confirm']=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-createtiddler.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.computeAttributes(),this.execute()},t.prototype.execute=function(){this.actionBaseTitle=this.getAttribute('$basetitle'),this.hasBase=!!this.actionBaseTitle,this.actionSaveTitle=this.getAttribute('$savetitle'),this.actionSaveDraftTitle=this.getAttribute('$savedrafttitle'),this.actionTimestamp='yes'===this.getAttribute('$timestamp','yes'),this.actionTemplate=this.getAttribute('$template'),this.useTemplate=!!this.actionTemplate,this.actionOverwrite=this.getAttribute('$overwrite','no')},t.prototype.refresh=function(t){var e=this.computeAttributes();return 0<$tw.utils.count(e)?(this.refreshSelf(),!0):this.refreshChildren(t)},t.prototype.invokeAction=function(t,e){var i,s,a=this.wiki.getTiddlerText('$:/language/DefaultNewTiddlerTitle'),r={};$tw.utils.each(this.attributes,function(t,e){'$'!==e.charAt(0)&&(r[e]=t)}),this.actionTimestamp&&(i=this.wiki.getCreationFields(),s=this.wiki.getModificationFields()),this.hasBase&&'no'===this.actionOverwrite?a=this.wiki.generateNewTitle(this.actionBaseTitle):this.hasBase&&'yes'===this.actionOverwrite&&(a=this.actionBaseTitle),!this.hasBase&&this.useTemplate?a=this.wiki.generateNewTitle(this.actionTemplate):this.hasBase||this.useTemplate||(a=this.wiki.generateNewTitle(a));var h=this.wiki.getTiddler(this.actionTemplate)||{};this.wiki.addTiddler(new $tw.Tiddler(h.fields,i,r,s,{title:a}));return this.actionSaveTitle&&this.wiki.setTextReference(this.actionSaveTitle,a,this.getVariable('currentTiddler')),this.actionSaveDraftTitle&&this.wiki.setTextReference(this.actionSaveDraftTitle,this.wiki.generateDraftTitle(a),this.getVariable('currentTiddler')),!0},exports['action-createtiddler']=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-deletefield.js":{"text":"!function(){'use strict';function t(t,i){this.initialise(t,i)}var i=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new i).render=function(t,i){this.computeAttributes(),this.execute()},t.prototype.execute=function(){this.actionTiddler=this.getAttribute('$tiddler',this.getVariable('currentTiddler')),this.actionField=this.getAttribute('$field')},t.prototype.refresh=function(t){return this.computeAttributes().$tiddler?(this.refreshSelf(),!0):this.refreshChildren(t)},t.prototype.invokeAction=function(t,i){var e=this.wiki.getTiddler(this.actionTiddler),r={},d=!1;return this.actionField&&e&&(r[this.actionField]=void 0,this.actionField in e.fields&&(d=!0)),e&&($tw.utils.each(this.attributes,function(t,i){'$'!==i.charAt(0)&&'title'!==i&&(r[i]=void 0,d=!0)}),d&&this.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),e,r,this.wiki.getModificationFields()))),!0},exports['action-deletefield']=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-deletetiddler.js":{"text":"!function(){'use strict';function t(t,i){this.initialise(t,i)}var i=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new i).render=function(t,i){this.computeAttributes(),this.execute()},t.prototype.execute=function(){this.actionFilter=this.getAttribute('$filter'),this.actionTiddler=this.getAttribute('$tiddler')},t.prototype.refresh=function(t){var i=this.computeAttributes();return i.$filter||i.$tiddler?(this.refreshSelf(),!0):this.refreshChildren(t)},t.prototype.invokeAction=function(t,i){var e=[];this.actionFilter&&(e=this.wiki.filterTiddlers(this.actionFilter,this)),this.actionTiddler&&e.push(this.actionTiddler);for(var r=0;r<e.length;r++)this.wiki.deleteTiddler(e[r]);return!0},exports['action-deletetiddler']=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-listops.js":{"text":"!function(){'use strict';function t(t,i){this.initialise(t,i)}var i=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new i).render=function(t,i){this.computeAttributes(),this.execute()},t.prototype.execute=function(){this.target=this.getAttribute('$tiddler',this.getVariable('currentTiddler')),this.filter=this.getAttribute('$filter'),this.subfilter=this.getAttribute('$subfilter'),this.listField=this.getAttribute('$field','list'),this.listIndex=this.getAttribute('$index'),this.filtertags=this.getAttribute('$tags')},t.prototype.refresh=function(t){var i=this.computeAttributes();return i.$tiddler||i.$filter||i.$subfilter||i.$field||i.$index||i.$tags?(this.refreshSelf(),!0):this.refreshChildren(t)},t.prototype.invokeAction=function(t,i){var s,e,r=this.listField,l='!!',h=this.listField;return this.listIndex&&(r=void 0,e=this.listIndex,l='##',h=this.listIndex),this.filter&&this.wiki.setText(this.target,r,e,$tw.utils.stringifyList(this.wiki.filterTiddlers(this.filter,this))),this.subfilter&&(s='[list['+this.target+l+h+']] '+this.subfilter,this.wiki.setText(this.target,r,e,$tw.utils.stringifyList(this.wiki.filterTiddlers(s,this)))),this.filtertags&&(s=(e=this.wiki.getTiddler(this.target))?(e.fields.tags||[]).slice(0):[],e='[list['+this.target+'!!tags]] '+this.filtertags,e=this.wiki.filterTiddlers(e,this),$tw.utils.stringifyList(s.sort())!==$tw.utils.stringifyList(e.sort())&&this.wiki.setText(this.target,'tags',void 0,$tw.utils.stringifyList(e))),!0},exports['action-listops']=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-log.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.computeAttributes(),this.execute()},t.prototype.execute=function(){this.message=this.getAttribute('$$message','debug'),this.logAll='yes'===this.getAttribute('$$all','no'),this.filter=this.getAttribute('$$filter')},t.prototype.refresh=function(t){return this.refreshSelf(),!0},t.prototype.invokeAction=function(t,e){return this.log(),!0},t.prototype.log=function(){var t,e,i={},s={};for(e in $tw.utils.each(this.attributes,function(t,e){'$$'!==e.substring(0,2)&&(i[e]=t)}),this.variables)s[e]=this.getVariable(e,{defaultValue:''});this.filter&&(t=this.wiki.compileFilter(this.filter).call(this.wiki,this.wiki.makeTiddlerIterator(s)),$tw.utils.each(t,function(t){i[t]=s[t]})),t=$tw.utils.count(i),console.group(this.message),0<t&&$tw.utils.logTable(i),!this.logAll&&t||(console.groupCollapsed('All variables'),$tw.utils.logTable(s),console.groupEnd()),console.groupEnd()},exports['action-log']=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-navigate.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.computeAttributes(),this.execute()},t.prototype.execute=function(){this.actionTo=this.getAttribute('$to'),this.actionScroll=this.getAttribute('$scroll')},t.prototype.refresh=function(t){var e=this.computeAttributes();return e.$to||e.$scroll?(this.refreshSelf(),!0):this.refreshChildren(t)},t.prototype.invokeAction=function(t,e){e=e||{};var i=t&&t.getBoundingClientRect&&t.getBoundingClientRect(),e=e.metaKey||e.ctrlKey||1===e.button;return'yes'===this.actionScroll?e=!1:'no'===this.actionScroll&&(e=!0),this.dispatchEvent({type:'tm-navigate',navigateTo:void 0===this.actionTo?this.getVariable('currentTiddler'):this.actionTo,navigateFromTitle:this.getVariable('storyTiddler'),navigateFromNode:t,navigateFromClientRect:i&&{top:i.top,left:i.left,width:i.width,right:i.right,bottom:i.bottom,height:i.height},navigateSuppressNavigation:e}),!0},exports['action-navigate']=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-popup.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.computeAttributes(),this.execute()},t.prototype.execute=function(){this.actionState=this.getAttribute('$state'),this.actionCoords=this.getAttribute('$coords')},t.prototype.refresh=function(t){var e=this.computeAttributes();return e.$state||e.$coords?(this.refreshSelf(),!0):this.refreshChildren(t)},t.prototype.invokeAction=function(t,e){var i=/^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/.exec(this.actionCoords||'');return i?$tw.popup.triggerPopup({domNode:null,domNodeRect:{left:parseFloat(i[1]),top:parseFloat(i[2]),width:parseFloat(i[3]),height:parseFloat(i[4])},title:this.actionState,wiki:this.wiki}):$tw.popup.cancel(0),!0},exports['action-popup']=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-sendmessage.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.computeAttributes(),this.execute()},t.prototype.execute=function(){this.actionMessage=this.getAttribute('$message'),this.actionParam=this.getAttribute('$param'),this.actionName=this.getAttribute('$name'),this.actionValue=this.getAttribute('$value','')},t.prototype.refresh=function(t){var e=this.computeAttributes();return Object.keys(e).length?(this.refreshSelf(),!0):this.refreshChildren(t)},t.prototype.invokeAction=function(t,e){var i=this.actionParam,s=Object.create(null);return $tw.utils.each(this.attributes,function(t,e){'$'!==e.charAt(0)&&(s[e]=t,0)}),this.actionName&&(s[this.actionName]=this.actionValue),this.dispatchEvent({type:this.actionMessage,param:i,paramObject:s,tiddlerTitle:this.getVariable('currentTiddler'),navigateFromTitle:this.getVariable('storyTiddler'),event:e}),!0},exports['action-sendmessage']=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-setfield.js":{"text":"!function(){'use strict';function t(t,i){this.initialise(t,i)}var i=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new i).render=function(t,i){this.computeAttributes(),this.execute()},t.prototype.execute=function(){this.actionTiddler=this.getAttribute('$tiddler',this.getVariable('currentTiddler')),this.actionField=this.getAttribute('$field'),this.actionIndex=this.getAttribute('$index'),this.actionValue=this.getAttribute('$value'),this.actionTimestamp='yes'===this.getAttribute('$timestamp','yes')},t.prototype.refresh=function(t){var i=this.computeAttributes();return i.$tiddler||i.$field||i.$index||i.$value?(this.refreshSelf(),!0):this.refreshChildren(t)},t.prototype.invokeAction=function(t,i){var e=this,s={};return s.suppressTimestamp=!this.actionTimestamp,'string'!=typeof this.actionField&&'string'!=typeof this.actionIndex&&'string'!=typeof this.actionValue||this.wiki.setText(this.actionTiddler,this.actionField,this.actionIndex,this.actionValue,s),$tw.utils.each(this.attributes,function(t,i){'$'!==i.charAt(0)&&e.wiki.setText(e.actionTiddler,i,void 0,t,s)}),!0},exports['action-setfield']=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/browse.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){var i=this;this.parentDomNode=t,this.computeAttributes(),this.execute();var s=this.document.createElement('input');s.setAttribute('type','file'),this.browseMultiple&&s.setAttribute('multiple','multiple'),this.tooltip&&s.setAttribute('title',this.tooltip),this.nwsaveas&&s.setAttribute('nwsaveas',this.nwsaveas),this.accept&&s.setAttribute('accept',this.accept),this.webkitdirectory&&s.setAttribute('webkitdirectory',this.webkitdirectory),this.nwdirectory&&s.setAttribute('nwdirectory',this.nwdirectory),s.addEventListener('change',function(t){return i.message?i.dispatchEvent({type:i.message,param:i.param,files:t.target.files}):i.wiki.readFiles(t.target.files,{callback:function(t){i.dispatchEvent({type:'tm-import-tiddlers',param:JSON.stringify(t)})},deserializer:i.deserializer}),!1},!1),t.insertBefore(s,e),this.renderChildren(s,null),this.domNodes.push(s)},t.prototype.execute=function(){this.browseMultiple=this.getAttribute('multiple'),this.deserializer=this.getAttribute('deserializer'),this.message=this.getAttribute('message'),this.param=this.getAttribute('param'),this.tooltip=this.getAttribute('tooltip'),this.nwsaveas=this.getAttribute('nwsaveas'),this.accept=this.getAttribute('accept'),this.webkitdirectory=this.getAttribute('webkitdirectory'),this.nwdirectory=this.getAttribute('nwdirectory')},t.prototype.refresh=function(t){return!1},exports.browse=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/button.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){var i,s=this,o='button';this.parentDomNode=t,this.computeAttributes(),this.execute(),this.buttonTag&&-1===$tw.config.htmlUnsafeElements.indexOf(this.buttonTag)&&(o=this.buttonTag),i=this.document.createElement(o),this.domNode=i;var h=this.class.split(' ')||[],o=(this.popup||this.popupTitle)&&this.isPoppedUp();this.selectedClass&&((this.set||this.setTitle)&&this.setTo&&this.isSelected()&&$tw.utils.pushTop(h,this.selectedClass.split(' ')),o&&$tw.utils.pushTop(h,this.selectedClass.split(' '))),o&&$tw.utils.pushTop(h,'tc-popup-handle'),i.className=h.join(' '),this.style&&i.setAttribute('style',this.style),this.tooltip&&i.setAttribute('title',this.tooltip),this['aria-label']&&i.setAttribute('aria-label',this['aria-label']),this.tabIndex&&i.setAttribute('tabindex',this.tabIndex),'yes'===this.isDisabled&&i.setAttribute('disabled',!0),i.addEventListener('click',function(t){var e,i=!1;return s.invokeActions(s,t)&&(i=!0),s.to&&(s.navigateTo(t),i=!0),s.message&&(s.dispatchMessage(t),i=!0),(s.popup||s.popupTitle)&&(s.triggerPopup(t),i=!0),(s.set||s.setTitle)&&(s.setTiddler(),i=!0),s.actions&&(e=$tw.keyboardManager.getEventModifierKeyDescriptor(t),s.invokeActionString(s.actions,s,t,{modifier:e})),i&&(t.preventDefault(),t.stopPropagation()),i},!1),(this.dragTiddler||this.dragFilter)&&$tw.utils.makeDraggable({domNode:i,dragTiddlerFn:function(){return s.dragTiddler},dragFilterFn:function(){return s.dragFilter},widget:this}),t.insertBefore(i,e),this.renderChildren(i,null),this.domNodes.push(i)},t.prototype.allowActionPropagation=function(){return!1},t.prototype.getBoundingClientRect=function(){return this.domNodes[0].getBoundingClientRect()},t.prototype.isSelected=function(){return this.setTitle?(this.setField?this.wiki.getTiddler(this.setTitle).getFieldString(this.setField)===this.setTo:this.setIndex?this.wiki.extractTiddlerDataItem(this.setTitle,this.setIndex)===this.setTo:this.wiki.getTiddlerText(this.setTitle))||this.defaultSetValue||this.getVariable('currentTiddler'):this.wiki.getTextReference(this.set,this.defaultSetValue,this.getVariable('currentTiddler'))===this.setTo},t.prototype.isPoppedUp=function(){var t=this.popupTitle?this.wiki.getTiddler(this.popupTitle):this.wiki.getTiddler(this.popup);return!(!t||!t.fields.text)&&$tw.popup.readPopupState(t.fields.text)},t.prototype.navigateTo=function(t){var e=this.getBoundingClientRect();this.dispatchEvent({type:'tm-navigate',navigateTo:this.to,navigateFromTitle:this.getVariable('storyTiddler'),navigateFromNode:this,navigateFromClientRect:{top:e.top,left:e.left,width:e.width,right:e.right,bottom:e.bottom,height:e.height},navigateSuppressNavigation:t.metaKey||t.ctrlKey||1===t.button,event:t})},t.prototype.dispatchMessage=function(t){this.dispatchEvent({type:this.message,param:this.param,tiddlerTitle:this.getVariable('currentTiddler'),event:t})},t.prototype.triggerPopup=function(t){this.popupTitle?$tw.popup.triggerPopup({domNode:this.domNodes[0],title:this.popupTitle,wiki:this.wiki,noStateReference:!0}):$tw.popup.triggerPopup({domNode:this.domNodes[0],title:this.popup,wiki:this.wiki})},t.prototype.setTiddler=function(){this.setTitle?this.setField?this.wiki.setText(this.setTitle,this.setField,void 0,this.setTo):this.setIndex?this.wiki.setText(this.setTitle,void 0,this.setIndex,this.setTo):this.wiki.setText(this.setTitle,'text',void 0,this.setTo):this.wiki.setTextReference(this.set,this.setTo,this.getVariable('currentTiddler'))},t.prototype.execute=function(){this.actions=this.getAttribute('actions'),this.to=this.getAttribute('to'),this.message=this.getAttribute('message'),this.param=this.getAttribute('param'),this.set=this.getAttribute('set'),this.setTo=this.getAttribute('setTo'),this.popup=this.getAttribute('popup'),this.hover=this.getAttribute('hover'),this['aria-label']=this.getAttribute('aria-label'),this.tooltip=this.getAttribute('tooltip'),this.style=this.getAttribute('style'),this.class=this.getAttribute('class',''),this.selectedClass=this.getAttribute('selectedClass'),this.defaultSetValue=this.getAttribute('default',''),this.buttonTag=this.getAttribute('tag'),this.dragTiddler=this.getAttribute('dragTiddler'),this.dragFilter=this.getAttribute('dragFilter'),this.setTitle=this.getAttribute('setTitle'),this.setField=this.getAttribute('setField'),this.setIndex=this.getAttribute('setIndex'),this.popupTitle=this.getAttribute('popupTitle'),this.tabIndex=this.getAttribute('tabindex'),this.isDisabled=this.getAttribute('disabled','no'),this.makeChildWidgets()},t.prototype.updateDomNodeClasses=function(){var t,e=this.domNode.className.split(' '),i=this.class.split(' ');this.class=this.getAttribute('class',''),t=this.class.split(' '),$tw.utils.each(i,function(t){t=e.indexOf(t);-1!==t&&e.splice(t,1)}),$tw.utils.pushTop(e,t),this.domNode.className=e.join(' ')},t.prototype.refresh=function(t){var e=this.computeAttributes();return e.actions||e.to||e.message||e.param||e.set||e.setTo||e.popup||e.hover||e.selectedClass||e.style||e.dragFilter||e.dragTiddler||this.set&&t[this.set]||this.popup&&t[this.popup]||this.popupTitle&&t[this.popupTitle]||e.setTitle||e.setField||e.setIndex||e.popupTitle||e.disabled?(this.refreshSelf(),!0):(e.class&&this.updateDomNodeClasses(),this.refreshChildren(t))},exports.button=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/checkbox.js":{"text":"!function(){'use strict';function e(e,t){this.initialise(e,t)}var t=require('$:/core/modules/widgets/widget.js').widget;(e.prototype=new t).render=function(e,t){this.parentDomNode=e,this.computeAttributes(),this.execute(),this.labelDomNode=this.document.createElement('label'),this.labelDomNode.setAttribute('class',this.checkboxClass),this.inputDomNode=this.document.createElement('input'),this.inputDomNode.setAttribute('type','checkbox'),this.getValue()&&this.inputDomNode.setAttribute('checked','true'),'yes'===this.isDisabled&&this.inputDomNode.setAttribute('disabled',!0),this.labelDomNode.appendChild(this.inputDomNode),this.spanDomNode=this.document.createElement('span'),this.labelDomNode.appendChild(this.spanDomNode),$tw.utils.addEventListeners(this.inputDomNode,[{name:'change',handlerObject:this,handlerMethod:'handleChangeEvent'}]),e.insertBefore(this.labelDomNode,t),this.renderChildren(this.spanDomNode,null),this.domNodes.push(this.labelDomNode)},e.prototype.getValue=function(){var e,t=this.wiki.getTiddler(this.checkboxTitle);if(t){if(this.checkboxTag)return this.checkboxInvertTag?!t.hasTag(this.checkboxTag):t.hasTag(this.checkboxTag);if(this.checkboxField){if((e=$tw.utils.hop(t.fields,this.checkboxField)?t.fields[this.checkboxField]||'':this.checkboxDefault||'')===this.checkboxChecked)return!0;if(e===this.checkboxUnchecked)return!1}if(this.checkboxIndex){if((e=this.wiki.extractTiddlerDataItem(t,this.checkboxIndex,this.checkboxDefault||''))===this.checkboxChecked)return!0;if(e===this.checkboxUnchecked)return!1}}else{if(this.checkboxTag)return!1;if(this.checkboxField){if(this.checkboxDefault===this.checkboxChecked)return!0;if(this.checkboxDefault===this.checkboxUnchecked)return!1}}return!1},e.prototype.handleChangeEvent=function(e){var t,i=this.inputDomNode.checked,h=this.wiki.getTiddler(this.checkboxTitle),c={title:this.checkboxTitle},s=!1,o=!1,n=h&&h.hasTag(this.checkboxTag),d=i?this.checkboxChecked:this.checkboxUnchecked,o=this.checkboxTag&&'yes'===this.checkboxInvertTag?n===i:n!==i;!this.checkboxTag||h&&!o||(c.tags=h?(h.fields.tags||[]).slice(0):[],-1!==(t=c.tags.indexOf(this.checkboxTag))&&c.tags.splice(t,1),('yes'===this.checkboxInvertTag&&!i||'yes'!==this.checkboxInvertTag&&i)&&c.tags.push(this.checkboxTag),s=!0),this.checkboxField&&(h&&h.fields[this.checkboxField]===d||(c[this.checkboxField]=d,s=!0)),this.checkboxIndex&&(t=this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxIndex),h&&t===d||(s=!0)),s&&(this.checkboxIndex?this.wiki.setText(this.checkboxTitle,'',this.checkboxIndex,d):this.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),{text:''},h,c,this.wiki.getModificationFields()))),this.checkboxActions&&this.invokeActionString(this.checkboxActions,this,e),this.checkboxCheckActions&&i&&this.invokeActionString(this.checkboxCheckActions,this,e),this.checkboxUncheckActions&&!i&&this.invokeActionString(this.checkboxUncheckActions,this,e)},e.prototype.execute=function(){this.checkboxActions=this.getAttribute('actions'),this.checkboxCheckActions=this.getAttribute('checkactions'),this.checkboxUncheckActions=this.getAttribute('uncheckactions'),this.checkboxTitle=this.getAttribute('tiddler',this.getVariable('currentTiddler')),this.checkboxTag=this.getAttribute('tag'),this.checkboxField=this.getAttribute('field'),this.checkboxIndex=this.getAttribute('index'),this.checkboxChecked=this.getAttribute('checked'),this.checkboxUnchecked=this.getAttribute('unchecked'),this.checkboxDefault=this.getAttribute('default'),this.checkboxClass=this.getAttribute('class',''),this.checkboxInvertTag=this.getAttribute('invertTag',''),this.isDisabled=this.getAttribute('disabled','no'),this.makeChildWidgets()},e.prototype.refresh=function(e){var t=this.computeAttributes();if(t.tiddler||t.tag||t.invertTag||t.field||t.index||t.checked||t.unchecked||t.default||t.class||t.disabled)return this.refreshSelf(),!0;t=!1;return e[this.checkboxTitle]&&(this.inputDomNode.checked=this.getValue(),t=!0),this.refreshChildren(e)||t},exports.checkbox=e}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/codeblock.js":{"text":"!function(){'use strict';function e(e,t){this.initialise(e,t)}var t=require('$:/core/modules/widgets/widget.js').widget;(e.prototype=new t).render=function(e,t){this.parentDomNode=e,this.computeAttributes(),this.execute();var i=this.document.createElement('code'),o=this.document.createElement('pre');i.appendChild(this.document.createTextNode(this.getAttribute('code'))),o.appendChild(i),e.insertBefore(o,t),this.domNodes.push(o),this.postRender&&this.postRender()},e.prototype.execute=function(){this.language=this.getAttribute('language')},e.prototype.refresh=function(e){return!1},exports.codeblock=e}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/count.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute();var i=this.document.createTextNode(this.currentCount);t.insertBefore(i,e),this.domNodes.push(i)},t.prototype.execute=function(){this.filter=this.getAttribute('filter'),this.filter?this.currentCount=this.wiki.filterTiddlers(this.filter,this).length:this.currentCount='0'},t.prototype.refresh=function(t){this.computeAttributes();var e=this.currentCount;return this.execute(),this.currentCount!==e&&(this.refreshSelf(),!0)},exports.count=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/diff-text.js":{"text":"!function(){'use strict';function e(e,t){this.initialise(e,t)}var t=require('$:/core/modules/widgets/widget.js').widget,f=require('$:/core/modules/utils/diff-match-patch/diff_match_patch.js');(e.prototype=new t).invisibleCharacters={'\\n':'↩︎\\n','\\r':'⇠','\\t':'⇥\\t'},e.prototype.render=function(e,t){this.parentDomNode=e,this.computeAttributes(),this.execute();var i=new f.diff_match_patch,r=i.diff_main(this.getAttribute('source'),this.getAttribute('dest'));switch(this.getAttribute('cleanup','semantic')){case'none':break;case'efficiency':i.diff_cleanupEfficiency(r);break;default:i.diff_cleanupSemantic(r)}var n=this.document.createElement('div'),s=this.createDiffDom(r);e.insertBefore(n,t),this.setVariable('diff-count',r.reduce(function(e,t){return t[0]!==f.DIFF_EQUAL&&e++,e},0).toString()),this.renderChildren(n,null),n.appendChild(s),this.domNodes.push(n)},e.prototype.createDiffDom=function(e){var h=this,t=this.document.createElement('pre'),u=this.document.createElement('code');return $tw.utils.each(e,function(e){var t,i,r=e[0]===f.DIFF_INSERT?'ins':e[0]===f.DIFF_DELETE?'del':'span',n=e[0]===f.DIFF_INSERT?'tc-diff-insert':e[0]===f.DIFF_DELETE?'tc-diff-delete':'tc-diff-equal',s=h.document.createElement(r),c=e[1],d=0,a=/([\\x00-\\x1F])/gm,o=a.exec(c);for(s.className=n;o;)d<o.index&&s.appendChild(h.document.createTextNode(c.slice(d,o.index))),(t=h.document.createElement('span')).className='tc-diff-invisible',i=h.invisibleCharacters[o[0]]||'[0x'+o[0].charCodeAt(0).toString(16)+']',t.appendChild(h.document.createTextNode(i)),s.appendChild(t),d=o.index+o[0].length,o=a.exec(c);d<c.length&&s.appendChild(h.document.createTextNode(c.slice(d))),u.appendChild(s)}),t.appendChild(u),t},e.prototype.execute=function(){var e=this.parseTreeNode&&this.parseTreeNode.children&&0<this.parseTreeNode.children.length?this.parseTreeNode.children:[{type:'transclude',attributes:{tiddler:{type:'string',value:'$:/language/Diffs/CountMessage'}}}];this.makeChildWidgets(e)},e.prototype.refresh=function(e){var t=this.computeAttributes();return t.source||t.dest||t.cleanup?(this.refreshSelf(),!0):this.refreshChildren(e)},exports['diff-text']=e}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/draggable.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){var i=this;this.parentDomNode=t,this.computeAttributes(),this.execute();var s=this.draggableTag;-1!==$tw.config.htmlUnsafeElements.indexOf(s)&&(s='div');var r=this.document.createElement(s),s=['tc-draggable'];this.draggableClasses&&s.push(this.draggableClasses),r.setAttribute('class',s.join(' ')),$tw.utils.makeDraggable({domNode:r,dragTiddlerFn:function(){return i.getAttribute('tiddler')},dragFilterFn:function(){return i.getAttribute('filter')},startActions:i.startActions,endActions:i.endActions,widget:this}),t.insertBefore(r,e),this.renderChildren(r,null),this.domNodes.push(r)},t.prototype.execute=function(){this.draggableTag=this.getAttribute('tag','div'),this.draggableClasses=this.getAttribute('class'),this.startActions=this.getAttribute('startactions'),this.endActions=this.getAttribute('endactions'),this.makeChildWidgets()},t.prototype.refresh=function(t){var e=this.computeAttributes();return e.tag||e.class?(this.refreshSelf(),!0):this.refreshChildren(t)},exports.draggable=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/droppable.js":{"text":"!function(){'use strict';function e(e,t){this.initialise(e,t)}var t=require('$:/core/modules/widgets/widget.js').widget;(e.prototype=new t).render=function(e,t){var r=this.parseTreeNode.isBlock?'div':'span';this.parentDomNode=e,this.computeAttributes(),this.execute(),this.droppableTag&&-1===$tw.config.htmlUnsafeElements.indexOf(this.droppableTag)&&(r=this.droppableTag),r=this.document.createElement(r),this.domNode=r,this.assignDomNodeClasses(),this.droppableEnable?$tw.utils.addEventListeners(r,[{name:'dragenter',handlerObject:this,handlerMethod:'handleDragEnterEvent'},{name:'dragover',handlerObject:this,handlerMethod:'handleDragOverEvent'},{name:'dragleave',handlerObject:this,handlerMethod:'handleDragLeaveEvent'},{name:'drop',handlerObject:this,handlerMethod:'handleDropEvent'}]):$tw.utils.addClass(this.domNode,this.disabledClass),e.insertBefore(r,t),this.renderChildren(r,null),this.domNodes.push(r),this.currentlyEntered=[]},e.prototype.enterDrag=function(e){-1===this.currentlyEntered.indexOf(e.target)&&this.currentlyEntered.push(e.target),$tw.utils.addClass(this.domNodes[0],'tc-dragover')},e.prototype.leaveDrag=function(e){e=this.currentlyEntered.indexOf(e.target);-1!==e&&this.currentlyEntered.splice(e,1),(0===this.currentlyEntered.length||1===this.currentlyEntered.length&&this.currentlyEntered[0]===$tw.dragInProgress)&&(this.currentlyEntered=[],this.domNodes[0]&&$tw.utils.removeClass(this.domNodes[0],'tc-dragover'))},e.prototype.handleDragEnterEvent=function(e){return this.enterDrag(e),e.preventDefault(),e.stopPropagation(),!1},e.prototype.handleDragOverEvent=function(e){return-1!==['TEXTAREA','INPUT'].indexOf(e.target.tagName)||(e.preventDefault(),e.dataTransfer.dropEffect=this.droppableEffect),!1},e.prototype.handleDragLeaveEvent=function(e){return this.leaveDrag(e),!1},e.prototype.handleDropEvent=function(t){var r=this;if(this.leaveDrag(t),-1!==['TEXTAREA','INPUT'].indexOf(t.target.tagName))return!1;var e=t.dataTransfer;return $tw.utils.removeClass(this.domNodes[0],'tc-dragover'),$tw.utils.importDataTransfer(e,null,function(e){e.forEach(function(e){r.performActions(e.title||e.text,t)})}),t.preventDefault(),t.stopPropagation(),!1},e.prototype.performActions=function(e,t){var r;this.droppableActions&&(r=$tw.keyboardManager.getEventModifierKeyDescriptor(t),this.invokeActionString(this.droppableActions,this,t,{actionTiddler:e,modifier:r}))},e.prototype.execute=function(){this.droppableActions=this.getAttribute('actions'),this.droppableEffect=this.getAttribute('effect','copy'),this.droppableTag=this.getAttribute('tag'),this.droppableEnable='yes'===(this.getAttribute('enable')||'yes'),this.disabledClass=this.getAttribute('disabledClass',''),this.makeChildWidgets()},e.prototype.assignDomNodeClasses=function(){var e=this.getAttribute('class','').split(' ');e.push('tc-droppable'),this.domNode.className=e.join(' ')},e.prototype.refresh=function(e){var t=this.computeAttributes();return t.tag||t.enable||t.disabledClass||t.actions||t.effect?(this.refreshSelf(),!0):(t.class&&this.assignDomNodeClasses(),this.refreshChildren(e))},exports.droppable=e}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/dropzone.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute();var r=this.document.createElement('div');r.className=this.dropzoneClass||'tc-dropzone',this.dropzoneEnable&&$tw.utils.addEventListeners(r,[{name:'dragenter',handlerObject:this,handlerMethod:'handleDragEnterEvent'},{name:'dragover',handlerObject:this,handlerMethod:'handleDragOverEvent'},{name:'dragleave',handlerObject:this,handlerMethod:'handleDragLeaveEvent'},{name:'drop',handlerObject:this,handlerMethod:'handleDropEvent'},{name:'paste',handlerObject:this,handlerMethod:'handlePasteEvent'},{name:'dragend',handlerObject:this,handlerMethod:'handleDragEndEvent'}]),r.addEventListener('click',function(t){},!1),t.insertBefore(r,e),this.renderChildren(r,null),this.domNodes.push(r),this.currentlyEntered=[]},t.prototype.enterDrag=function(t){-1===this.currentlyEntered.indexOf(t.target)&&this.currentlyEntered.push(t.target),$tw.utils.addClass(this.domNodes[0],'tc-dragover')},t.prototype.leaveDrag=function(t){t=this.currentlyEntered.indexOf(t.target);-1!==t&&this.currentlyEntered.splice(t,1),0===this.currentlyEntered.length&&$tw.utils.removeClass(this.domNodes[0],'tc-dragover')},t.prototype.handleDragEnterEvent=function(t){if($tw.dragInProgress)return!1;this.enterDrag(t),t.preventDefault(),t.stopPropagation()},t.prototype.handleDragOverEvent=function(t){return-1===['TEXTAREA','INPUT'].indexOf(t.target.tagName)&&(!$tw.dragInProgress&&(t.preventDefault(),void(t.dataTransfer.dropEffect='copy')))},t.prototype.handleDragLeaveEvent=function(t){this.leaveDrag(t)},t.prototype.handleDragEndEvent=function(t){$tw.utils.removeClass(this.domNodes[0],'tc-dragover')},t.prototype.handleDropEvent=function(t){function e(t){r.dispatchEvent({type:'tm-import-tiddlers',param:JSON.stringify(t),autoOpenOnImport:r.autoOpenOnImport,importTitle:r.importTitle})}var r=this;if(this.leaveDrag(t),-1!==['TEXTAREA','INPUT'].indexOf(t.target.tagName))return!1;if($tw.dragInProgress)return!1;var r=this,i=t.dataTransfer;$tw.utils.removeClass(this.domNodes[0],'tc-dragover');var n=0;i.files&&(n=this.wiki.readFiles(i.files,{callback:e,deserializer:this.dropzoneDeserializer})),0===n&&$tw.utils.importDataTransfer(i,this.wiki.generateNewTitle('Untitled'),e),t.preventDefault(),t.stopPropagation()},t.prototype.handlePasteEvent=function(t){function e(t){r.dispatchEvent({type:'tm-import-tiddlers',param:JSON.stringify(t),autoOpenOnImport:r.autoOpenOnImport,importTitle:r.importTitle})}var r=this;if(-1==['TEXTAREA','INPUT'].indexOf(t.target.tagName)&&!t.target.isContentEditable){for(var r=this,i=t.clipboardData.items,n=0;n<i.length;n++){var a,o=i[n];'file'===o.kind?this.wiki.readFile(o.getAsFile(),{callback:e,deserializer:this.dropzoneDeserializer}):'string'===o.kind&&(a=o.type,o.getAsString(function(t){var e={title:r.wiki.generateNewTitle('Untitled'),text:t,type:a};$tw.log.IMPORT&&console.log('Importing string \\''+t+'\\', type: \\''+a+'\\''),r.dispatchEvent({type:'tm-import-tiddlers',param:JSON.stringify([e]),autoOpenOnImport:r.autoOpenOnImport,importTitle:r.importTitle})}))}t.stopPropagation(),t.preventDefault()}},t.prototype.execute=function(){this.dropzoneClass=this.getAttribute('class'),this.dropzoneDeserializer=this.getAttribute('deserializer'),this.dropzoneEnable='yes'===(this.getAttribute('enable')||'yes'),this.autoOpenOnImport=this.getAttribute('autoOpenOnImport'),this.importTitle=this.getAttribute('importTitle'),this.makeChildWidgets()},t.prototype.refresh=function(t){var e=this.computeAttributes();return e.enable||e.autoOpenOnImport||e.importTitle||e.deserializer||e.class?(this.refreshSelf(),!0):this.refreshChildren(t)},exports.dropzone=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/edit-binary.js":{"text":"!function(){'use strict';function e(e,t){this.initialise(e,t)}var t=require('$:/core/modules/widgets/widget.js').widget;(e.prototype=new t).render=function(e,t){this.parentDomNode=e,this.computeAttributes(),this.execute(),this.renderChildren(e,t)},e.prototype.execute=function(){var e=this.getAttribute('tiddler',this.getVariable('currentTiddler')),t=this.wiki.getTiddler(e),i=t.fields.type,r=t.fields.text,e={type:'element',tag:'p',children:[{type:'transclude',attributes:{tiddler:{type:'string',value:'$:/core/ui/BinaryWarning'}}}]},t={type:'element',tag:'a',attributes:{title:{type:'indirect',textReference:'!!draft.title'},download:{type:'indirect',textReference:'!!draft.title'}},children:[{type:'transclude',attributes:{tiddler:{type:'string',value:'$:/core/images/export-button'}}}]};r&&(t.attributes.href={type:'string',value:'data:'+i+';base64,'+r});t={type:'element',tag:'div',attributes:{class:{type:'string',value:'tc-binary-warning'}},children:[e,t]};this.makeChildWidgets([t])},e.prototype.refresh=function(e){return this.refreshChildren(e)},exports['edit-binary']=e}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/edit-bitmap.js":{"text":"!function(){'use strict';var t=require('$:/core/modules/widgets/widget.js').widget,i=function(t,e){this.editorOperations||(i.prototype.editorOperations={},$tw.modules.applyMethods('bitmapeditoroperation',this.editorOperations)),this.initialise(t,e)};i.prototype=new t,i.prototype.render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute(),this.toolbarNode=this.document.createElement('div'),this.toolbarNode.className='tc-editor-toolbar',t.insertBefore(this.toolbarNode,e),this.domNodes.push(this.toolbarNode),this.canvasDomNode=$tw.utils.domMaker('canvas',{document:this.document,class:'tc-edit-bitmapeditor',eventListeners:[{name:'touchstart',handlerObject:this,handlerMethod:'handleTouchStartEvent'},{name:'touchmove',handlerObject:this,handlerMethod:'handleTouchMoveEvent'},{name:'touchend',handlerObject:this,handlerMethod:'handleTouchEndEvent'},{name:'mousedown',handlerObject:this,handlerMethod:'handleMouseDownEvent'},{name:'mousemove',handlerObject:this,handlerMethod:'handleMouseMoveEvent'},{name:'mouseup',handlerObject:this,handlerMethod:'handleMouseUpEvent'}]}),this.setVariable('tv-bitmap-editor-width',this.canvasDomNode.width+'px'),this.setVariable('tv-bitmap-editor-height',this.canvasDomNode.height+'px'),this.renderChildren(this.toolbarNode,null),t.insertBefore(this.canvasDomNode,e),this.domNodes.push(this.canvasDomNode),$tw.browser&&this.loadCanvas(),this.addEventListeners([{type:'tm-edit-bitmap-operation',handler:'handleEditBitmapOperationMessage'}])},i.prototype.handleEditBitmapOperationMessage=function(t){var e=this.editorOperations[t.param];e&&e.call(this,t)},i.prototype.execute=function(){this.editTitle=this.getAttribute('tiddler',this.getVariable('currentTiddler')),this.makeChildWidgets()},i.prototype.refresh=function(t){return this.refreshChildren(t)},i.prototype.refreshToolbar=function(){this.setVariable('tv-bitmap-editor-width',this.canvasDomNode.width+'px'),this.setVariable('tv-bitmap-editor-height',this.canvasDomNode.height+'px'),$tw.utils.each(this.children,function(t){t.refreshSelf()})},i.prototype.loadCanvas=function(){var t=this.wiki.getTiddler(this.editTitle),e=new Image,i=this;e.onload=function(){i.initCanvas(i.canvasDomNode,e.width,e.height,e),i.currCanvas=i.document.createElement('canvas'),i.initCanvas(i.currCanvas,e.width,e.height,e),i.refreshToolbar()},e.onerror=function(){i.initCanvas(i.canvasDomNode,600,370),i.currCanvas=i.document.createElement('canvas'),i.initCanvas(i.currCanvas,600,370),i.refreshToolbar()},t&&t.fields.type&&t.fields.text?e.src='data:'+t.fields.type+';base64,'+t.fields.text:(e.width=600,e.height=370,e.onerror())},i.prototype.initCanvas=function(t,e,i,o){t.width=e,t.height=i;i=t.getContext('2d');o?i.drawImage(o,0,0):(i.fillStyle='#fff',i.fillRect(0,0,t.width,t.height))},i.prototype.changeCanvasSize=function(t,e){var i=this.document.createElement('canvas');this.initCanvas(i,t,e);var o=i.getContext('2d');o.drawImage(this.currCanvas,0,0),this.currCanvas=i,this.canvasDomNode.width=t,this.canvasDomNode.height=e,(o=this.canvasDomNode.getContext('2d')).drawImage(this.currCanvas,0,0)},i.prototype.rotateCanvasLeft=function(){var t=this.currCanvas.width,e=this.currCanvas.height,i=this.document.createElement('canvas'),o=e,a=t;this.initCanvas(i,o,a);var n=i.getContext('2d');n.save(),n.translate(o/2,a/2),n.rotate(-Math.PI/2),n.drawImage(this.currCanvas,-t/2,-e/2),n.restore(),this.currCanvas=i,this.canvasDomNode.width=o,this.canvasDomNode.height=a,(n=this.canvasDomNode.getContext('2d')).drawImage(this.currCanvas,0,0)},i.prototype.handleTouchStartEvent=function(t){return this.brushDown=!0,this.strokeStart(t.touches[0].clientX,t.touches[0].clientY),t.preventDefault(),t.stopPropagation(),!1},i.prototype.handleTouchMoveEvent=function(t){return this.brushDown&&this.strokeMove(t.touches[0].clientX,t.touches[0].clientY),t.preventDefault(),t.stopPropagation(),!1},i.prototype.handleTouchEndEvent=function(t){return this.brushDown&&(this.brushDown=!1,this.strokeEnd()),t.preventDefault(),t.stopPropagation(),!1},i.prototype.handleMouseDownEvent=function(t){return this.strokeStart(t.clientX,t.clientY),this.brushDown=!0,t.preventDefault(),t.stopPropagation(),!1},i.prototype.handleMouseMoveEvent=function(t){return!this.brushDown||(this.strokeMove(t.clientX,t.clientY),t.preventDefault(),t.stopPropagation(),!1)},i.prototype.handleMouseUpEvent=function(t){return!this.brushDown||(this.brushDown=!1,this.strokeEnd(),t.preventDefault(),t.stopPropagation(),!1)},i.prototype.adjustCoordinates=function(t,e){var i=this.canvasDomNode.getBoundingClientRect(),o=this.canvasDomNode.width/i.width;return{x:(t-i.left)*o,y:(e-i.top)*o}},i.prototype.strokeStart=function(t,e){this.stroke=[this.adjustCoordinates(t,e)]},i.prototype.strokeMove=function(t,e){var i,o=this.canvasDomNode.getContext('2d');for(this.stroke.push(this.adjustCoordinates(t,e)),o.drawImage(this.currCanvas,0,0),o.globalAlpha=parseFloat(this.wiki.getTiddlerText('$:/config/BitmapEditor/Opacity','1.0')),o.strokeStyle=this.wiki.getTiddlerText('$:/config/BitmapEditor/Colour','#ff0'),o.lineWidth=parseFloat(this.wiki.getTiddlerText('$:/config/BitmapEditor/LineWidth','3')),o.lineCap='round',o.lineJoin='round',o.beginPath(),o.moveTo(this.stroke[0].x,this.stroke[0].y),i=1;i<this.stroke.length-1;i++){var a=this.stroke[i],n=this.stroke[i-1],s=(a.x+n.x)/2,a=(a.y+n.y)/2;o.quadraticCurveTo(n.x,n.y,s,a)}o.stroke()},i.prototype.strokeEnd=function(){this.currCanvas.getContext('2d').drawImage(this.canvasDomNode,0,0),this.saveChanges()},i.prototype.saveChanges=function(){var t=this.wiki.getTiddler(this.editTitle)||new $tw.Tiddler({title:this.editTitle,type:'image/png'}),e=this.canvasDomNode.toDataURL(t.fields.type),i=e.indexOf(':'),o=e.indexOf(';'),a=e.indexOf(','),a={type:e.substring(i+1,o),text:e.substring(a+1)};this.wiki.addTiddler(new $tw.Tiddler(this.wiki.getModificationFields(),t,a,this.wiki.getCreationFields()))},exports['edit-bitmap']=i}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/edit-shortcut.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute(),this.inputNode=this.document.createElement('input'),this.shortcutClass&&(this.inputNode.className=this.shortcutClass),this.shortcutStyle&&this.inputNode.setAttribute('style',this.shortcutStyle),this.shortcutTooltip&&this.inputNode.setAttribute('title',this.shortcutTooltip),this.shortcutPlaceholder&&this.inputNode.setAttribute('placeholder',this.shortcutPlaceholder),this.shortcutAriaLabel&&this.inputNode.setAttribute('aria-label',this.shortcutAriaLabel),this.updateInputNode(),$tw.utils.addEventListeners(this.inputNode,[{name:'keydown',handlerObject:this,handlerMethod:'handleKeydownEvent'}]),t.insertBefore(this.inputNode,e),this.domNodes.push(this.inputNode),'yes'!==this.shortcutFocus&&'true'!==this.shortcutFocus||this.focus()},t.prototype.execute=function(){this.shortcutTiddler=this.getAttribute('tiddler'),this.shortcutField=this.getAttribute('field'),this.shortcutIndex=this.getAttribute('index'),this.shortcutPlaceholder=this.getAttribute('placeholder'),this.shortcutDefault=this.getAttribute('default',''),this.shortcutClass=this.getAttribute('class'),this.shortcutStyle=this.getAttribute('style'),this.shortcutTooltip=this.getAttribute('tooltip'),this.shortcutAriaLabel=this.getAttribute('aria-label'),this.shortcutFocus=this.getAttribute('focus')},t.prototype.updateInputNode=function(){var t;this.shortcutField?(t=this.wiki.getTiddler(this.shortcutTiddler))&&$tw.utils.hop(t.fields,this.shortcutField)?this.inputNode.value=t.getFieldString(this.shortcutField):this.inputNode.value=this.shortcutDefault:this.shortcutIndex?this.inputNode.value=this.wiki.extractTiddlerDataItem(this.shortcutTiddler,this.shortcutIndex,this.shortcutDefault):this.inputNode.value=this.wiki.getTiddlerText(this.shortcutTiddler,this.shortcutDefault)},t.prototype.handleKeydownEvent=function(t){if(t.keyCode&&-1===$tw.keyboardManager.getModifierKeys().indexOf(t.keyCode)){var e=$tw.keyboardManager.getPrintableShortcuts([{ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,keyCode:t.keyCode}]);return 0<e.length&&this.wiki.setText(this.shortcutTiddler,this.shortcutField,this.shortcutIndex,e[0]),t.preventDefault(),t.stopPropagation(),!0}return!1},t.prototype.focus=function(){this.inputNode.focus&&this.inputNode.select&&(this.inputNode.focus(),this.inputNode.select())},t.prototype.refresh=function(t){var e=this.computeAttributes();return e.tiddler||e.field||e.index||e.placeholder||e.default||e.class||e.style||e.tooltip||e['aria-label']||e.focus?(this.refreshSelf(),!0):!!t[this.shortcutTiddler]&&(this.updateInputNode(),!0)},exports['edit-shortcut']=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/edit-text.js":{"text":"!function(){'use strict';var e=require('$:/core/modules/editor/factory.js').editTextWidgetFactory,r=require('$:/core/modules/editor/engines/framed.js').FramedEngine,i=require('$:/core/modules/editor/engines/simple.js').SimpleEngine;exports['edit-text']=e(r,i)}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/edit.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute(),this.renderChildren(t,e)},t.prototype.execute=function(){this.editTitle=this.getAttribute('tiddler',this.getVariable('currentTiddler')),this.editField=this.getAttribute('field','text'),this.editIndex=this.getAttribute('index'),this.editClass=this.getAttribute('class'),this.editPlaceholder=this.getAttribute('placeholder'),this.editTabIndex=this.getAttribute('tabindex'),this.editFocus=this.getAttribute('focus',''),this.editCancelPopups=this.getAttribute('cancelPopups',''),this.editInputActions=this.getAttribute('inputActions'),this.editRefreshTitle=this.getAttribute('refreshTitle'),this.editAutoComplete=this.getAttribute('autocomplete'),this.editorType=this.getEditorType(),this.makeChildWidgets([{type:'edit-'+this.editorType,attributes:this.parseTreeNode.attributes,children:this.parseTreeNode.children}])},t.prototype.getEditorType=function(){'text'!==this.editField||(e=this.wiki.getTiddler(this.editTitle))&&(t=e.fields.type),t=t||'text/vnd.tiddlywiki';var t,e=this.wiki.getTiddlerText('$:/config/EditorTypeMappings/'+t);return e||(e=(t=$tw.config.contentTypeInfo[t])&&'base64'===t.encoding?'binary':'text'),e},t.prototype.refresh=function(t){var e=this.computeAttributes();return e.tiddler||e.field||e.index||e.tabindex||e.cancelPopups||e.inputActions||e.refreshTitle||e.autocomplete||t[this.editTitle]&&this.getEditorType()!==this.editorType?(this.refreshSelf(),!0):this.refreshChildren(t)},exports.edit=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/element.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.tag=this.parseTreeNode.tag,-1!==$tw.config.htmlUnsafeElements.indexOf(this.tag)&&(this.tag='safe-'+this.tag);var i,s=['h1','h2','h3','h4','h5','h6'].indexOf(this.tag);-1!==s&&(i=parseInt(this.getVariable('tv-adjust-heading-level','0'),10)||0,s=Math.min(Math.max(s+1+i,1),6),this.tag='h'+s);this.namespace={svg:'http://www.w3.org/2000/svg',math:'http://www.w3.org/1998/Math/MathML',body:'http://www.w3.org/1999/xhtml'}[this.tag],this.namespace?this.setVariable('namespace',this.namespace):this.namespace=this.getVariable('namespace',{defaultValue:'http://www.w3.org/1999/xhtml'});s=$tw.hooks.invokeHook('th-rendering-element',null,this);if(this.isReplaced=!!s,s)return this.makeChildWidgets(s),void this.renderChildren(this.parentDomNode,null);this.makeChildWidgets();s=this.document.createElementNS(this.namespace,this.tag);this.assignAttributes(s,{excludeEventAttributes:!0}),t.insertBefore(s,e),this.renderChildren(s,null),this.domNodes.push(s)},t.prototype.refresh=function(t){var e=this.computeAttributes(),e=0<$tw.utils.count(e);if(e){if(this.isReplaced)return this.refreshSelf();this.assignAttributes(this.domNodes[0],{excludeEventAttributes:!0})}return this.refreshChildren(t)||e},exports.element=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/encrypt.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute();var i=this.document.createTextNode(this.encryptedText);t.insertBefore(i,e),this.domNodes.push(i)},t.prototype.execute=function(){this.filter=this.getAttribute('filter','[!is[system]]');var t=this.wiki.filterTiddlers(this.filter),s={},n=this;$tw.utils.each(t,function(t){var e,i=n.wiki.getTiddler(t),r={};for(e in i.fields)r[e]=i.getFieldString(e);s[t]=r}),this.encryptedText=$tw.utils.htmlEncode($tw.crypto.encrypt(JSON.stringify(s)))},t.prototype.refresh=function(t){return!1},exports.encrypt=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/entity.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute();var i=this.getAttribute('entity',this.parseTreeNode.entity||''),i=this.document.createTextNode($tw.utils.entityDecode(i));t.insertBefore(i,e),this.domNodes.push(i)},t.prototype.execute=function(){},t.prototype.refresh=function(t){return!!this.computeAttributes().entity&&(this.refreshSelf(),!0)},exports.entity=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/eventcatcher.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){var a=this;this.parentDomNode=t,this.computeAttributes(),this.execute();var i=this.parseTreeNode.isBlock?'div':'span';this.elementTag&&-1===$tw.config.htmlUnsafeElements.indexOf(this.elementTag)&&(i=this.elementTag);var d=this.document.createElement(i);this.domNode=d,this.assignDomNodeClasses(),$tw.utils.each(this.types,function(r){d.addEventListener(r,function(t){var e,i=a.getAttribute('selector'),o=a.getAttribute('actions-'+r),s=t.target,n={};if(i){for(;!s.matches(i)&&s!==d;)s=s.parentNode;if(!s.matches(i))return!1;$tw.utils.each(s.attributes,function(t){n['dom-'+t.name]=t.value.toString()}),n['tv-popup-coords']='('+s.offsetLeft+','+s.offsetTop+','+s.offsetWidth+','+s.offsetHeight+')',n['tv-selectednode-posx']=s.offsetLeft.toString(),n['tv-selectednode-posy']=s.offsetTop.toString(),n['tv-selectednode-width']=s.offsetWidth.toString(),n['tv-selectednode-height']=s.offsetHeight.toString(),e=s.getBoundingClientRect(),n['event-fromselected-posx']=(t.clientX-e.left).toString(),n['event-fromselected-posy']=(t.clientY-e.top).toString(),e=a.domNode.getBoundingClientRect(),n['event-fromcatcher-posx']=(t.clientX-e.left).toString(),n['event-fromcatcher-posy']=(t.clientY-e.top).toString()}return!!o&&(n.modifier=$tw.keyboardManager.getEventModifierKeyDescriptor(t),'button'in t&&(0===t.button?n['event-mousebutton']='left':1===t.button?n['event-mousebutton']='middle':2===t.button&&(n['event-mousebutton']='right')),n['event-type']=t.type.toString(),'object'==typeof t.detail&&t.detail?$tw.utils.each(t.detail,function(t,e){n['event-detail-'+e]=t.toString()}):t.detail&&(n['event-detail']=t.detail.toString()),a.invokeActionString(o,a,t,n),t.preventDefault(),t.stopPropagation(),!0)},!1)}),t.insertBefore(d,e),this.renderChildren(d,null),this.domNodes.push(d)},t.prototype.execute=function(){this.types=this.getAttribute('events','').split(' '),this.elementTag=this.getAttribute('tag'),this.makeChildWidgets()},t.prototype.assignDomNodeClasses=function(){var t=this.getAttribute('class','').split(' ');t.push('tc-eventcatcher'),this.domNode.className=t.join(' ')},t.prototype.refresh=function(t){var e=this.computeAttributes();return e.events||e.tag?(this.refreshSelf(),!0):(e.class&&this.assignDomNodeClasses(),this.refreshChildren(t))},exports.eventcatcher=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/fieldmangler.js":{"text":"!function(){'use strict';function e(e,t){this.initialise(e,t),this.addEventListeners([{type:'tm-remove-field',handler:'handleRemoveFieldEvent'},{type:'tm-add-field',handler:'handleAddFieldEvent'},{type:'tm-remove-tag',handler:'handleRemoveTagEvent'},{type:'tm-add-tag',handler:'handleAddTagEvent'}])}var t=require('$:/core/modules/widgets/widget.js').widget;(e.prototype=new t).render=function(e,t){this.parentDomNode=e,this.computeAttributes(),this.execute(),this.renderChildren(e,t)},e.prototype.execute=function(){this.mangleTitle=this.getAttribute('tiddler',this.getVariable('currentTiddler')),this.makeChildWidgets()},e.prototype.refresh=function(e){return this.computeAttributes().tiddler?(this.refreshSelf(),!0):this.refreshChildren(e)},e.prototype.handleRemoveFieldEvent=function(e){var t=this.wiki.getTiddler(this.mangleTitle),i={};return i[e.param]=void 0,this.wiki.addTiddler(new $tw.Tiddler(t,i)),!0},e.prototype.handleAddFieldEvent=function(e){function t(e,t){if(e=e.toLowerCase().trim(),$tw.utils.isValidFieldName(e))!t&&i&&(t=i.fields[e]),d[e]=t||'';else if(!r)return alert($tw.language.getString('InvalidFieldName',{variables:{fieldName:e}})),r=!0,0}var i=this.wiki.getTiddler(this.mangleTitle),d=this.wiki.getModificationFields(),r=!1;if(d.title=this.mangleTitle,'string'==typeof e.param&&t(e.param,''),'object'==typeof e.paramObject)for(var a in e.paramObject)t(a,e.paramObject[a]);return this.wiki.addTiddler(new $tw.Tiddler(i,d)),!0},e.prototype.handleRemoveTagEvent=function(e){var t=this.wiki.getTiddler(this.mangleTitle),i=this.wiki.getModificationFields();return t&&t.fields.tags&&(-1!==(e=t.fields.tags.indexOf(e.param))&&(i.tags=(t.fields.tags||[]).slice(0),i.tags.splice(e,1),0===i.tags.length&&(i.tags=void 0),this.wiki.addTiddler(new $tw.Tiddler(t,i)))),!0},e.prototype.handleAddTagEvent=function(e){var t,i=this.wiki.getTiddler(this.mangleTitle),d=this.wiki.getModificationFields();return i&&'string'==typeof e.param?''!==(t=e.param.trim())&&(d.tags=(i.fields.tags||[]).slice(0),$tw.utils.pushTop(d.tags,t),this.wiki.addTiddler(new $tw.Tiddler(i,d))):'string'==typeof e.param&&''!==e.param.trim()&&''!==this.mangleTitle.trim()&&((t=[]).push(e.param.trim()),this.wiki.addTiddler(new $tw.Tiddler({title:this.mangleTitle,tags:t},d))),!0},exports.fieldmangler=e}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/fields.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute();var i=this.document.createTextNode(this.text);t.insertBefore(i,e),this.domNodes.push(i)},t.prototype.execute=function(){this.tiddlerTitle=this.getAttribute('tiddler',this.getVariable('currentTiddler')),this.template=this.getAttribute('template'),this.sort='yes'===this.getAttribute('sort','yes'),this.sortReverse='yes'===this.getAttribute('sortReverse','no'),this.exclude=this.getAttribute('exclude'),this.include=this.getAttribute('include',null),this.stripTitlePrefix='yes'===this.getAttribute('stripTitlePrefix','no');var t=this.wiki.getTiddler(this.tiddlerTitle),e=this.exclude?this.exclude.split(' '):['text'],i=this.include?this.include.split(' '):null,s=[];if(this.template&&t){var r=[];if(i)for(var l=0;l<i.length;l++)t.fields[i[l]]&&r.push(i[l]);else for(var h in t.fields)-1===e.indexOf(h)&&r.push(h);this.sort&&r.sort(),this.sortReverse&&r.reverse();for(var u=0,d=r.length;u<d;u++){h=r[u];var o,n=this.template,c=t.getFieldString(h);this.stripTitlePrefix&&'title'===h&&((o=/^\\{[^\\}]+\\}(.+)/gm.exec(c))&&(c=o[1])),n=$tw.utils.replaceString(n,'$name$',h),n=$tw.utils.replaceString(n,'$value$',c),n=$tw.utils.replaceString(n,'$encoded_value$',$tw.utils.htmlEncode(c)),s.push(n)}}this.text=s.join('')},t.prototype.refresh=function(t){var e=this.computeAttributes();return!!(e.tiddler||e.template||e.exclude||e.include||e.sort||e.sortReverse||t[this.tiddlerTitle]||e.stripTitlePrefix)&&(this.refreshSelf(),!0)},exports.fields=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/image.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute();var i='img',s='',a=this.wiki.getTiddler(this.imageSource);if(a){if(this.wiki.isImageTiddler(this.imageSource)){var h=a.fields.type,r=a.fields.text,g=a.fields._canonical_uri;if(r)switch(h){case'application/pdf':i='embed',s='data:application/pdf;base64,'+r;break;case'image/svg+xml':s='data:image/svg+xml,'+encodeURIComponent(r);break;default:s='data:'+h+';base64,'+r}else if(g)switch(h){case'application/pdf':i='embed',s=g;break;case'image/svg+xml':default:s=g}else this.wiki.getTiddlerText(this.imageSource)}}else s=this.getVariable('tv-get-export-image-link',{params:[{name:'src',value:this.imageSource}],defaultValue:this.imageSource});a=this.document.createElement(i);a.setAttribute('src',s),this.imageClass&&a.setAttribute('class',this.imageClass),this.imageWidth&&a.setAttribute('width',this.imageWidth),this.imageHeight&&a.setAttribute('height',this.imageHeight),this.imageTooltip&&a.setAttribute('title',this.imageTooltip),this.imageAlt&&a.setAttribute('alt',this.imageAlt),t.insertBefore(a,e),this.domNodes.push(a)},t.prototype.execute=function(){this.imageSource=this.getAttribute('source'),this.imageWidth=this.getAttribute('width'),this.imageHeight=this.getAttribute('height'),this.imageClass=this.getAttribute('class'),this.imageTooltip=this.getAttribute('tooltip'),this.imageAlt=this.getAttribute('alt')},t.prototype.refresh=function(t){var e=this.computeAttributes();return!!(e.source||e.width||e.height||e.class||e.tooltip||t[this.imageSource])&&(this.refreshSelf(),!0)},exports.image=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/importvariables.js":{"text":"!function(){'use strict';function i(i,t){this.initialise(i,t)}var t=require('$:/core/modules/widgets/widget.js').widget;(i.prototype=new t).render=function(i,t){this.parentDomNode=i,this.computeAttributes(),this.execute(),this.renderChildren(i,t)},i.prototype.execute=function(i){var s=this;this.variables=new this.variablesConstructor,this.filter=this.getAttribute('filter'),this.tiddlerList=i||this.wiki.filterTiddlers(this.filter,this),$tw.utils.each(this.tiddlerList,function(i){i=s.wiki.parseTiddler(i);if(i)for(var t=i.tree[0];t&&'set'===t.type;){var e,r={type:'set',attributes:t.attributes,params:t.params,isMacroDefinition:t.isMacroDefinition};t.isMacroDefinition?((e=s.makeChildWidget(r)).computeAttributes(),e.execute(),$tw.utils.each(Object.keys(e.variables),function(i){s.variables[i]=e.variables[i]})):(s.children=[s.makeChildWidget(r)],s!=this&&(s.makeChildWidgets=function(){}),s=s.children[0]),t=t.children&&t.children[0]}}),s!=this?s.parseTreeNode.children=this.parseTreeNode.children:s.makeChildWidgets()},i.prototype.refresh=function(t){var e,i=this.computeAttributes(),r=this.wiki.filterTiddlers(this.getAttribute('filter'),this);return i.filter||!$tw.utils.isArrayEqual(this.tiddlerList,r)||(e=!1,r.forEach(function(i){t[i]&&(e=!0)}),e)?(this.removeChildDomNodes(),this.execute(r),this.renderChildren(this.parentDomNode,this.findNextSiblingDomNode()),!0):this.refreshChildren(t)},exports.importvariables=i}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/keyboard.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){var s=this;this.parentDomNode=t,this.computeAttributes(),this.execute();var i=this.parseTreeNode.isBlock?'div':'span';this.tag&&-1===$tw.config.htmlUnsafeElements.indexOf(this.tag)&&(i=this.tag);var r=this.document.createElement(i),i=(this.class||'').split(' ');i.push('tc-keyboard'),r.className=i.join(' '),r.addEventListener('keydown',function(t){if($tw.keyboardManager.checkKeyDescriptors(t,s.keyInfoArray)){var e=s.invokeActions(s,t);return s.actions&&s.invokeActionString(s.actions,s,t),s.dispatchMessage(t),(e||s.actions||s.message)&&(t.preventDefault(),t.stopPropagation()),!0}return!1},!1),t.insertBefore(r,e),this.renderChildren(r,null),this.domNodes.push(r)},t.prototype.dispatchMessage=function(t){this.dispatchEvent({type:this.message,param:this.param,tiddlerTitle:this.getVariable('currentTiddler')})},t.prototype.execute=function(){var e,s=this;this.actions=this.getAttribute('actions',''),this.message=this.getAttribute('message',''),this.param=this.getAttribute('param',''),this.key=this.getAttribute('key',''),this.tag=this.getAttribute('tag',''),this.keyInfoArray=$tw.keyboardManager.parseKeyDescriptors(this.key),this.class=this.getAttribute('class',''),'(('===this.key.substr(0,2)&&'))'===this.key.substr(-2,2)&&(this.shortcutTiddlers=[],e=this.key.substring(2,this.key.length-2),$tw.utils.each($tw.keyboardManager.lookupNames,function(t){s.shortcutTiddlers.push('$:/config/'+t+'/'+e)})),this.makeChildWidgets()},t.prototype.refresh=function(t){var e=this.computeAttributes();return e.message||e.param||e.key||e.class||e.tag?(this.refreshSelf(),!0):(this.shortcutTiddlers&&$tw.utils.hopArray(t,this.shortcutTiddlers)&&(this.keyInfoArray=$tw.keyboardManager.parseKeyDescriptors(this.key)),this.refreshChildren(t))},exports.keyboard=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/link.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute();var i=this.getVariable('tv-wikilinks'),s=!i||'no'!==i.trim(),i=!(this.hideMissingLinks&&this.isMissing&&!this.isShadow);s&&i?this.renderLink(t,e):(i=this.document.createElement('span'),t.insertBefore(i,e),this.renderChildren(i,null),this.domNodes.push(i))},t.prototype.renderLink=function(t,e){var i=this,s=this.linkTag;-1!==$tw.config.htmlUnsafeElements.indexOf(s)&&(s='a');var r=this.getVariable('namespace',{defaultValue:'http://www.w3.org/1999/xhtml'}),h=this.document.createElementNS(r,s),a=[];void 0===this.overrideClasses?(a.push('tc-tiddlylink'),this.isShadow&&a.push('tc-tiddlylink-shadow'),this.isMissing&&!this.isShadow?a.push('tc-tiddlylink-missing'):this.isMissing||a.push('tc-tiddlylink-resolves'),this.linkClasses&&a.push(this.linkClasses)):''!==this.overrideClasses&&a.push(this.overrideClasses),0<a.length&&h.setAttribute('class',a.join(' '));a=this.getVariable('tv-filter-export-link');n=a?this.wiki.filterTiddlers(a,this,function(t){t(i.wiki.getTiddler(i.to),i.to)})[0]:(n=(n=this.getVariable('tv-wikilink-template'))?n.trim():'#$uri_encoded$',n=$tw.utils.replaceString(n,'$uri_encoded$',encodeURIComponent(this.to)),$tw.utils.replaceString(n,'$uri_doubleencoded$',encodeURIComponent(encodeURIComponent(this.to)))),n=this.getVariable('tv-get-export-link',{params:[{name:'to',value:this.to}],defaultValue:n}),'a'===s&&(r='http://www.w3.org/2000/svg'===r?'http://www.w3.org/1999/xlink':void 0,h.setAttributeNS(r,'href',n)),this.tabIndex&&h.setAttribute('tabindex',this.tabIndex);var n=this.tooltip||this.getVariable('tv-wikilink-tooltip');n&&(n=this.wiki.renderText('text/plain','text/vnd.tiddlywiki',n,{parseAsInline:!0,variables:{currentTiddler:this.to},parentWidget:this}),h.setAttribute('title',n)),this['aria-label']&&h.setAttribute('aria-label',this['aria-label']),$tw.utils.addEventListeners(h,[{name:'click',handlerObject:this,handlerMethod:'handleClickEvent'}]),'yes'===this.draggable&&$tw.utils.makeDraggable({domNode:h,dragTiddlerFn:function(){return i.to},widget:this}),t.insertBefore(h,e),this.renderChildren(h,null),this.domNodes.push(h)},t.prototype.handleClickEvent=function(t){var e=this.domNodes[0].getBoundingClientRect();return this.dispatchEvent({type:'tm-navigate',navigateTo:this.to,navigateFromTitle:this.getVariable('storyTiddler'),navigateFromNode:this,navigateFromClientRect:{top:e.top,left:e.left,width:e.width,right:e.right,bottom:e.bottom,height:e.height},navigateSuppressNavigation:t.metaKey||t.ctrlKey||1===t.button,metaKey:t.metaKey,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey,event:t}),this.domNodes[0].hasAttribute('href')&&t.preventDefault(),t.stopPropagation(),!1},t.prototype.execute=function(){var t;this.to=this.getAttribute('to',this.getVariable('currentTiddler')),this.tooltip=this.getAttribute('tooltip'),this['aria-label']=this.getAttribute('aria-label'),this.linkClasses=this.getAttribute('class'),this.overrideClasses=this.getAttribute('overrideClass'),this.tabIndex=this.getAttribute('tabindex'),this.draggable=this.getAttribute('draggable','yes'),this.linkTag=this.getAttribute('tag','a'),this.isMissing=!this.wiki.tiddlerExists(this.to),this.isShadow=this.wiki.isShadowTiddler(this.to),this.hideMissingLinks='no'===(this.getVariable('tv-show-missing-links')||'yes'),t=this.parseTreeNode.children&&0<this.parseTreeNode.children.length?this.parseTreeNode.children:[{type:'text',text:this.to}],this.makeChildWidgets(t)},t.prototype.refresh=function(t){var e=this.computeAttributes();return e.to||t[this.to]||e['aria-label']||e.tooltip?(this.refreshSelf(),!0):this.refreshChildren(t)},exports.link=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/linkcatcher.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e),this.addEventListeners([{type:'tm-navigate',handler:'handleNavigateEvent'}])}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute(),this.renderChildren(t,e)},t.prototype.execute=function(){this.catchTo=this.getAttribute('to'),this.catchMessage=this.getAttribute('message'),this.catchSet=this.getAttribute('set'),this.catchSetTo=this.getAttribute('setTo'),this.catchActions=this.getAttribute('actions'),this.makeChildWidgets(),this.executingActions=!1},t.prototype.refresh=function(t){var e=this.computeAttributes();return e.to||e.message||e.set||e.setTo?(this.refreshSelf(),!0):this.refreshChildren(t)},t.prototype.handleNavigateEvent=function(t){var e;return this.executingActions?this.parentWidget.dispatchEvent({type:'tm-navigate',param:t.navigateTo,navigateTo:t.navigateTo}):(this.catchTo&&this.wiki.setTextReference(this.catchTo,t.navigateTo,this.getVariable('currentTiddler')),this.catchMessage&&this.parentWidget&&this.parentWidget.dispatchEvent({type:this.catchMessage,param:t.navigateTo,navigateTo:t.navigateTo}),this.catchSet&&(e=this.wiki.getTiddler(this.catchSet),this.wiki.addTiddler(new $tw.Tiddler(e,{title:this.catchSet,text:this.catchSetTo}))),this.catchActions&&(this.executingActions=!0,e=$tw.keyboardManager.getEventModifierKeyDescriptor(t),this.invokeActionString(this.catchActions,this,t,{navigateTo:t.navigateTo,modifier:e}),this.executingActions=!1)),!1},exports.linkcatcher=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/list.js":{"text":"!function(){'use strict';var t=require('$:/core/modules/widgets/widget.js').widget,i=function(t,e){this.storyViews||(i.prototype.storyViews={},$tw.modules.applyMethods('storyview',this.storyViews)),this.initialise(t,e)};function e(t,e){this.initialise(t,e)}i.prototype=new t,i.prototype.render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute(),this.renderChildren(t,e);e=this.storyViews[this.storyViewName];this.storyViewName&&!e&&(e=this.storyViews.classic),e&&!this.document.isTiddlyWikiFakeDom?this.storyview=new e(this):this.storyview=null},i.prototype.execute=function(){this.template=this.getAttribute('template'),this.editTemplate=this.getAttribute('editTemplate'),this.variableName=this.getAttribute('variable','currentTiddler'),this.storyViewName=this.getAttribute('storyview'),this.historyTitle=this.getAttribute('history'),this.list=this.getTiddlerList();var i=[],s=this;0===this.list.length?i=this.getEmptyMessage():$tw.utils.each(this.list,function(t,e){i.push(s.makeItemTemplate(t))}),this.makeChildWidgets(i),this.history=[]},i.prototype.getTiddlerList=function(){return this.wiki.filterTiddlers(this.getAttribute('filter','[!is[system]sort[title]]'),this)},i.prototype.getEmptyMessage=function(){var t=this.getAttribute('emptyMessage','');return''!==t&&(t=this.wiki.parseText('text/vnd.tiddlywiki',t,{parseAsInline:!0}))?t.tree:[]},i.prototype.makeItemTemplate=function(t){var e=this.wiki.getTiddler(t),i=e&&e.hasField('draft.of'),e=this.template;return i&&this.editTemplate&&(e=this.editTemplate),e=e?[{type:'transclude',attributes:{tiddler:{type:'string',value:e}}}]:this.parseTreeNode.children&&0<this.parseTreeNode.children.length?this.parseTreeNode.children:[{type:'element',tag:this.parseTreeNode.isBlock?'div':'span',children:[{type:'link',attributes:{to:{type:'string',value:t}},children:[{type:'text',text:t}]}]}],{type:'listitem',itemTitle:t,variableName:this.variableName,children:e}},i.prototype.refresh=function(t){var e,i=this.computeAttributes();return this.storyview&&this.storyview.refreshStart&&this.storyview.refreshStart(t,i),i.filter||i.template||i.editTemplate||i.emptyMessage||i.storyview||i.history?(this.refreshSelf(),e=!0):(e=this.handleListChanges(t),this.historyTitle&&t[this.historyTitle]&&this.handleHistoryChanges()),this.storyview&&this.storyview.refreshEnd&&this.storyview.refreshEnd(t,i),e},i.prototype.handleHistoryChanges=function(){for(var t=this.wiki.getTiddlerDataCached(this.historyTitle,[]),e=0;e<t.length&&e<this.history.length&&t[e].title===this.history[e].title;)e++;for(;e<t.length;)this.storyview&&this.storyview.navigateTo&&this.storyview.navigateTo(t[e]),e++;this.history=t},i.prototype.handleListChanges=function(t){var e=this.list;if(this.list=this.getTiddlerList(),0===this.list.length){if(0===e.length)return this.refreshChildren(t);for(r=this.children.length-1;0<=r;r--)this.removeListItem(r);var i=this.findNextSiblingDomNode();return this.makeChildWidgets(this.getEmptyMessage()),this.renderChildren(this.parentDomNode,i),!0}0===e.length&&(this.removeChildDomNodes(),this.children=[]);for(var s=!1,r=0;r<this.list.length;r++){var h=this.findListItem(r,this.list[r]);if(void 0===h)this.insertListItem(r,this.list[r]),s=!0;else{for(var o=h-1;r<=o;o--)this.removeListItem(o),s=!0;h=this.children[r].refresh(t),s=s||h}}for(r=this.children.length-1;r>=this.list.length;r--)this.removeListItem(r),s=!0;return s},i.prototype.findListItem=function(t,e){for(;t<this.children.length;){if(this.children[t].parseTreeNode.itemTitle===e)return t;t++}},i.prototype.insertListItem=function(t,e){e=this.makeChildWidget(this.makeItemTemplate(e));e.parentDomNode=this.parentDomNode,this.children.splice(t,0,e);t=e.findNextSiblingDomNode();return e.render(this.parentDomNode,t),this.storyview&&this.storyview.insert&&this.storyview.insert(e),!0},i.prototype.removeListItem=function(t){var e=this.children[t];this.storyview&&this.storyview.remove?this.storyview.remove(e):e.removeChildDomNodes(),this.children.splice(t,1)},exports.list=i,(e.prototype=new t).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute(),this.renderChildren(t,e)},e.prototype.execute=function(){this.setVariable(this.parseTreeNode.variableName,this.parseTreeNode.itemTitle),this.makeChildWidgets()},e.prototype.refresh=function(t){return this.refreshChildren(t)},exports.listitem=e}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/log.js":{"text":"!function(){'use strict';exports.baseClass='action-log',exports.name='log',exports.constructor=function(t,e){this.initialise(t,e)},exports.prototype={},exports.prototype.render=function(t){Object.getPrototypeOf(Object.getPrototypeOf(this)).render.call(this,t),Object.getPrototypeOf(Object.getPrototypeOf(this)).log.call(this)}}();","type":"application/javascript","module-type":"widget-subclass"},"$:/core/modules/widgets/macrocall.js":{"text":"!function(){'use strict';function e(e,t){this.initialise(e,t)}var t=require('$:/core/modules/widgets/widget.js').widget;(e.prototype=new t).render=function(e,t){this.parentDomNode=e,this.computeAttributes(),this.execute(),this.renderChildren(e,t)},e.prototype.execute=function(){this.parseType=this.getAttribute('$type','text/vnd.tiddlywiki'),this.renderOutput=this.getAttribute('$output','text/html');var r=this.parseTreeNode.params?this.parseTreeNode.params.slice(0):[];$tw.utils.each(this.attributes,function(e,t){'$'!==t.charAt(0)&&r.push({name:t,value:e})});var e,i,t=this.parseTreeNode.name||this.getAttribute('$name'),s=this.getVariableInfo(t,{params:r}),a=s.text;e='text/html'===this.renderOutput?(t=this.parseTreeNode.isBlock?'blockParser':'inlineParser',s.srcVariable&&s.srcVariable[t]?e=s.srcVariable[t]:(e=this.wiki.parseText(this.parseType,a,{parseAsInline:!this.parseTreeNode.isBlock}),s.isCacheable&&s.srcVariable&&(s.srcVariable[t]=e)),e=e?e.tree:[],i={},$tw.utils.each(s.params,function(e){var t='__'+e.name+'__';i[t]={name:t,type:'string',value:e.value}}),[{type:'vars',attributes:i,children:e}]):'text/raw'===this.renderOutput?[{type:'text',text:a}]:[{type:'text',text:this.wiki.renderText('text/plain',this.parseType,a,{parentWidget:this})}],this.makeChildWidgets(e)},e.prototype.refresh=function(e){var t=this.computeAttributes();return 0<$tw.utils.count(t)?(this.refreshSelf(),!0):this.refreshChildren(e)},exports.macrocall=e}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/navigator.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e),this.addEventListeners([{type:'tm-navigate',handler:'handleNavigateEvent'},{type:'tm-edit-tiddler',handler:'handleEditTiddlerEvent'},{type:'tm-delete-tiddler',handler:'handleDeleteTiddlerEvent'},{type:'tm-save-tiddler',handler:'handleSaveTiddlerEvent'},{type:'tm-cancel-tiddler',handler:'handleCancelTiddlerEvent'},{type:'tm-close-tiddler',handler:'handleCloseTiddlerEvent'},{type:'tm-close-all-tiddlers',handler:'handleCloseAllTiddlersEvent'},{type:'tm-close-other-tiddlers',handler:'handleCloseOtherTiddlersEvent'},{type:'tm-new-tiddler',handler:'handleNewTiddlerEvent'},{type:'tm-import-tiddlers',handler:'handleImportTiddlersEvent'},{type:'tm-perform-import',handler:'handlePerformImportEvent'},{type:'tm-fold-tiddler',handler:'handleFoldTiddlerEvent'},{type:'tm-fold-other-tiddlers',handler:'handleFoldOtherTiddlersEvent'},{type:'tm-fold-all-tiddlers',handler:'handleFoldAllTiddlersEvent'},{type:'tm-unfold-all-tiddlers',handler:'handleUnfoldAllTiddlersEvent'},{type:'tm-rename-tiddler',handler:'handleRenameTiddlerEvent'}])}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute(),this.renderChildren(t,e)},t.prototype.execute=function(){this.storyTitle=this.getAttribute('story'),this.historyTitle=this.getAttribute('history'),this.setVariable('tv-story-list',this.storyTitle),this.setVariable('tv-history-list',this.historyTitle),this.story=new $tw.Story({wiki:this.wiki,storyTitle:this.storyTitle,historyTitle:this.historyTitle}),this.makeChildWidgets()},t.prototype.refresh=function(t){var e=this.computeAttributes();return e.story||e.history?(this.refreshSelf(),!0):this.refreshChildren(t)},t.prototype.getStoryList=function(){return this.storyTitle?this.wiki.getTiddlerList(this.storyTitle):null},t.prototype.saveStoryList=function(t){var e;this.storyTitle&&(e=this.wiki.getTiddler(this.storyTitle),this.wiki.addTiddler(new $tw.Tiddler({title:this.storyTitle},e,{list:t})))},t.prototype.removeTitleFromStory=function(t,e){if(t)for(var i=t.indexOf(e);-1!==i;)t.splice(i,1),i=t.indexOf(e)},t.prototype.replaceFirstTitleInStory=function(t,e,i){if(t){var r=t.indexOf(e);if(-1!==r)for(t[r]=i;-1!==(r=t.indexOf(e,r+1))&&t.splice(r,1),-1!==r;);else t.splice(0,0,i)}},t.prototype.addToStory=function(t,e){this.storyTitle&&this.story.addToStory(t,e,{openLinkFromInsideRiver:this.getAttribute('openLinkFromInsideRiver','top'),openLinkFromOutsideRiver:this.getAttribute('openLinkFromOutsideRiver','top')})},t.prototype.addToHistory=function(t,e){this.story.addToHistory(t,e,this.historyTitle)},t.prototype.handleNavigateEvent=function(t){return(t=$tw.hooks.invokeHook('th-navigating',t)).navigateTo&&(this.addToStory(t.navigateTo,t.navigateFromTitle),t.navigateSuppressNavigation||this.addToHistory(t.navigateTo,t.navigateFromClientRect)),!1},t.prototype.handleCloseTiddlerEvent=function(t){var e=t.param||t.tiddlerTitle,t=this.getStoryList();return this.removeTitleFromStory(t,e),this.saveStoryList(t),!1},t.prototype.handleCloseAllTiddlersEvent=function(t){return this.saveStoryList([]),!1},t.prototype.handleCloseOtherTiddlersEvent=function(t){t=t.param||t.tiddlerTitle;return this.saveStoryList([t]),!1},t.prototype.handleEditTiddlerEvent=function(t){if(!$tw.hooks.invokeHook('th-editing-tiddler',t))return!1;var e=this;var i,r,d=t.param||t.tiddlerTitle;if(r=d,e.wiki.isShadowTiddler(r)&&!e.wiki.tiddlerExists(r)&&(i=d,!confirm($tw.language.getString('ConfirmEditShadowTiddler',{variables:{title:i}}))))return!1;var s=this.makeDraftTiddler(d);if(!t.paramObject||'yes'!==t.paramObject.suppressNavigation){var l=s.fields.title,s=this.getStoryList();return this.removeTitleFromStory(s,l),this.replaceFirstTitleInStory(s,d,l),this.addToHistory(l,t.navigateFromClientRect),this.saveStoryList(s),!1}},t.prototype.handleDeleteTiddlerEvent=function(t){var e=t.param||t.tiddlerTitle,i=this.wiki.getTiddler(e),r=this.getStoryList(),d=i?i.fields['draft.of']:'',s=d?this.wiki.getTiddler(d):void 0;return!!i&&(t=d||e,(!this.wiki.getTiddler(d)&&''===(i.fields.text||'')||confirm($tw.language.getString('ConfirmDeleteTiddler',{variables:{title:t}})))&&(d&&(s&&$tw.hooks.invokeHook('th-deleting-tiddler',s),this.wiki.deleteTiddler(d),this.removeTitleFromStory(r,d)),$tw.hooks.invokeHook('th-deleting-tiddler',i),this.wiki.deleteTiddler(e),this.removeTitleFromStory(r,e),this.saveStoryList(r),$tw.rootWidget.dispatchEvent({type:'tm-auto-save-wiki'})),!1)},t.prototype.makeDraftTiddler=function(t){if(i=this.wiki.findDraft(t))return this.wiki.getTiddler(i);var e=this.wiki.getTiddler(t),i=this.generateDraftTitle(t),t=new $tw.Tiddler({text:''},e,{title:i,'draft.title':t,'draft.of':t},this.wiki.getModificationFields());return this.wiki.addTiddler(t),t},t.prototype.generateDraftTitle=function(t){return this.wiki.generateDraftTitle(t)},t.prototype.handleSaveTiddlerEvent=function(t){var e,i,r,d,s=t.param||t.tiddlerTitle,l=this.wiki.getTiddler(s),o=this.getStoryList();return l&&(e=(l.fields['draft.title']||'').trim(),i=(l.fields['draft.of']||'').trim(),e&&(d=!0,(r=i!==e)&&this.wiki.tiddlerExists(e)&&(d=confirm($tw.language.getString('ConfirmOverwriteTiddler',{variables:{title:e}}))),d&&(d=new $tw.Tiddler(this.wiki.getCreationFields(),l,{title:e,'draft.title':void 0,'draft.of':void 0},this.wiki.getModificationFields()),d=$tw.hooks.invokeHook('th-saving-tiddler',d,l),this.wiki.addTiddler(d),d='yes'===this.getAttribute('relinkOnRename','no').toLowerCase().trim(),r&&d&&this.wiki.tiddlerExists(i)&&this.wiki.relinkTiddler(i,e),this.wiki.deleteTiddler(s),r&&this.wiki.deleteTiddler(i),this.removeTitleFromStory(o,e),this.removeTitleFromStory(o,i),t.paramObject&&'yes'===t.paramObject.suppressNavigation||(this.replaceFirstTitleInStory(o,s,e),this.addToHistory(e,t.navigateFromClientRect),e!==this.storyTitle&&this.saveStoryList(o)),$tw.rootWidget.dispatchEvent({type:'tm-auto-save-wiki'})))),!1},t.prototype.handleCancelTiddlerEvent=function(t){var e,i,r=(t=$tw.hooks.invokeHook('th-cancelling-tiddler',t)).param||t.tiddlerTitle,d=this.wiki.getTiddler(r),s=d&&d.fields['draft.of'];return d&&s&&(e=!0,i=this.wiki.getTiddler(s),d=this.getStoryList(),this.wiki.isDraftModified(r)&&(e=confirm($tw.language.getString('ConfirmCancelTiddler',{variables:{title:r}}))),e&&(this.wiki.deleteTiddler(r),t.paramObject&&'yes'===t.paramObject.suppressNavigation||(i?(this.replaceFirstTitleInStory(d,r,s),this.addToHistory(s,t.navigateFromClientRect)):this.removeTitleFromStory(d,r),this.saveStoryList(d)))),!1},t.prototype.handleNewTiddlerEvent=function(t){t=$tw.hooks.invokeHook('th-new-tiddler',t);var e,i,r,d,s,l=this.getStoryList();'string'==typeof t.param&&(e=this.wiki.getTiddler(t.param),r=this.wiki.generateNewTitle(t.param||$tw.language.getString('DefaultNewTiddlerTitle'))),'object'==typeof t.paramObject&&(i=t.paramObject),'object'==typeof t.param&&(i=t.param),i&&i.title&&(r=i.title);var o=$tw.utils.extend({},i);Object.keys(o).forEach(function(t){''===o[t]&&delete o[t]}),r=r||this.wiki.generateNewTitle($tw.language.getString('DefaultNewTiddlerTitle'));var n=[];(s=(d=this.wiki.findDraft(r))?this.wiki.getTiddler(d):(d=this.generateDraftTitle(r),this.wiki.getTiddler(r)))&&s.fields.tags&&$tw.utils.pushTop(n,s.fields.tags),i&&i.tags&&(n=$tw.utils.pushTop(n,$tw.utils.parseStringArray(i.tags))),e&&e.fields.tags&&(n=$tw.utils.pushTop(n,e.fields.tags));n=new $tw.Tiddler({text:'','draft.title':r},e,i,this.wiki.getCreationFields(),s,o,{title:d,'draft.of':r,tags:n},this.wiki.getModificationFields());return this.wiki.addTiddler(n),l&&-1===l.indexOf(d)&&(-1===(t=l.indexOf(t.navigateFromTitle))&&(t='bottom'===this.getAttribute('openLinkFromOutsideRiver','top')?l.length-1:t),l.splice(t+1,0,d)),l&&-1!==l.indexOf(r)&&l.splice(l.indexOf(r),1),this.saveStoryList(l),this.addToHistory(d),!1},t.prototype.handleImportTiddlersEvent=function(t){var e=[];try{e=JSON.parse(t.param)}catch(t){}var i=t.importTitle||'$:/Import',r=this.wiki.getTiddler(i),d=this.wiki.getTiddlerData(i,{}),s=new Object({title:i,type:'application/json','plugin-type':'import',status:'pending'}),l=[];d.tiddlers=d.tiddlers||{},$tw.utils.each(e,function(t){t.title=$tw.utils.trim(t.title);var e=t.title;e&&(l.push(e),d.tiddlers[e]=t)});var o=this.wiki.invokeUpgraders(l,d.tiddlers);return $tw.utils.each(o,function(t,e){s['message-'+e]=t}),$tw.utils.each(d.tiddlers,function(t,e){0===$tw.utils.count(t)&&(s['selection-'+e]='unchecked',s['suppressed-'+e]='yes')}),s.text=JSON.stringify(d,null,$tw.config.preferences.jsonSpaces),this.wiki.addTiddler(new $tw.Tiddler(r,s)),'no'!==(t.autoOpenOnImport||this.getVariable('tv-auto-open-on-import'))&&(o=[],(r=this.getStoryList())&&-1===r.indexOf(i)&&r.unshift(i),o.push(i),this.saveStoryList(r),this.addToHistory(o)),!1},t.prototype.handlePerformImportEvent=function(t){var i=this,r=this.wiki.getTiddler(t.param),e=this.wiki.getTiddlerDataCached(t.param,{tiddlers:{}}),d=[];d.push($tw.language.getString('Import/Imported/Hint')+'\\n'),$tw.utils.each(e.tiddlers,function(t){var e=t.title;e&&r&&'unchecked'!==r.fields['selection-'+e]&&(t=$tw.utils.hop(r.fields,['rename-'+e])?new $tw.Tiddler(t,{title:r.fields['rename-'+e]}):new $tw.Tiddler(t),t=$tw.hooks.invokeHook('th-importing-tiddler',t),i.wiki.addTiddler(t),d.push('# [['+t.fields.title+']]'))}),this.wiki.addTiddler(new $tw.Tiddler({title:t.param,text:d.join('\\n'),status:'complete'})),this.addToHistory([t.param]),$tw.rootWidget.dispatchEvent({type:'tm-auto-save-wiki'})},t.prototype.handleFoldTiddlerEvent=function(t){var e=t.paramObject||{};e.foldedState&&(t='show'===this.wiki.getTiddlerText(e.foldedState,'show')?'hide':'show',this.wiki.setText(e.foldedState,'text',null,t))},t.prototype.handleFoldOtherTiddlersEvent=function(e){var i=this,r=(e.paramObject||{}).foldedStatePrefix;$tw.utils.each(this.getStoryList(),function(t){i.wiki.setText(r+t,'text',null,e.param===t?'show':'hide')})},t.prototype.handleFoldAllTiddlersEvent=function(t){var e=this,i=(t.paramObject||{}).foldedStatePrefix||'$:/state/folded/';$tw.utils.each(this.getStoryList(),function(t){e.wiki.setText(i+t,'text',null,'hide')})},t.prototype.handleUnfoldAllTiddlersEvent=function(t){var e=this,i=(t.paramObject||{}).foldedStatePrefix;$tw.utils.each(this.getStoryList(),function(t){e.wiki.setText(i+t,'text',null,'show')})},t.prototype.handleRenameTiddlerEvent=function(t){var e={},i=t.paramObject||{},r=i.from||t.tiddlerTitle,t=i.to;e.dontRenameInTags='false'===i.renameInTags||'no'===i.renameInTags,e.dontRenameInLists='false'===i.renameInLists||'no'===i.renameInLists,this.wiki.renameTiddler(r,t,e)},exports.navigator=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/password.js":{"text":"!function(){'use strict';function e(e,t){this.initialise(e,t)}var t=require('$:/core/modules/widgets/widget.js').widget;(e.prototype=new t).render=function(e,t){this.parentDomNode=e,this.computeAttributes(),this.execute();var s=$tw.browser&&$tw.utils.getPassword(this.passwordName)||'',r=this.document.createElement('input');r.setAttribute('type','password'),r.setAttribute('value',s),$tw.utils.addEventListeners(r,[{name:'change',handlerObject:this,handlerMethod:'handleChangeEvent'}]),e.insertBefore(r,t),this.renderChildren(r,null),this.domNodes.push(r)},e.prototype.handleChangeEvent=function(e){var t=this.domNodes[0].value;return $tw.utils.savePassword(this.passwordName,t)},e.prototype.execute=function(){this.passwordName=this.getAttribute('name',''),this.makeChildWidgets()},e.prototype.refresh=function(e){return this.computeAttributes().name?(this.refreshSelf(),!0):this.refreshChildren(e)},exports.password=e}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/qualify.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute(),this.renderChildren(t,e)},t.prototype.execute=function(){this.qualifyName=this.getAttribute('name'),this.qualifyTitle=this.getAttribute('title'),this.qualifyName&&this.setVariable(this.qualifyName,this.qualifyTitle+'-'+this.getStateQualifier()),this.makeChildWidgets()},t.prototype.refresh=function(t){var e=this.computeAttributes();return e.name||e.title?(this.refreshSelf(),!0):this.refreshChildren(t)},exports.qualify=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/radio.js":{"text":"!function(){'use strict';function t(t,i){this.initialise(t,i)}var i=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new i).render=function(t,i){this.parentDomNode=t,this.computeAttributes(),this.execute();var e=this.getValue()===this.radioValue;this.labelDomNode=this.document.createElement('label'),this.labelDomNode.setAttribute('class','tc-radio '+this.radioClass+(e?' tc-radio-selected':'')),this.inputDomNode=this.document.createElement('input'),this.inputDomNode.setAttribute('type','radio'),e&&this.inputDomNode.setAttribute('checked','true'),'yes'===this.isDisabled&&this.inputDomNode.setAttribute('disabled',!0),this.labelDomNode.appendChild(this.inputDomNode),this.spanDomNode=this.document.createElement('span'),this.labelDomNode.appendChild(this.spanDomNode),$tw.utils.addEventListeners(this.inputDomNode,[{name:'change',handlerObject:this,handlerMethod:'handleChangeEvent'}]),t.insertBefore(this.labelDomNode,i),this.renderChildren(this.spanDomNode,null),this.domNodes.push(this.labelDomNode)},t.prototype.getValue=function(){var t=this.wiki.getTiddler(this.radioTitle),t=this.radioIndex?this.wiki.extractTiddlerDataItem(this.radioTitle,this.radioIndex):t&&t.getFieldString(this.radioField);return t},t.prototype.setValue=function(){var t,i;this.radioIndex?this.wiki.setText(this.radioTitle,'',this.radioIndex,this.radioValue):(t=this.wiki.getTiddler(this.radioTitle),(i={})[this.radioField]=this.radioValue,this.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),{title:this.radioTitle},t,i,this.wiki.getModificationFields())))},t.prototype.handleChangeEvent=function(t){this.inputDomNode.checked&&this.setValue(),this.radioActions&&this.invokeActionString(this.radioActions,this,t,{actionValue:this.radioValue})},t.prototype.execute=function(){this.radioTitle=this.getAttribute('tiddler',this.getVariable('currentTiddler')),this.radioField=this.getAttribute('field','text'),this.radioIndex=this.getAttribute('index'),this.radioValue=this.getAttribute('value'),this.radioClass=this.getAttribute('class',''),this.isDisabled=this.getAttribute('disabled','no'),this.radioActions=this.getAttribute('actions',''),this.makeChildWidgets()},t.prototype.refresh=function(t){var i=this.computeAttributes();return 0<$tw.utils.count(i)||t[this.radioTitle]?(this.refreshSelf(),!0):this.refreshChildren(t)},exports.radio=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/range.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute(),this.inputDomNode=this.document.createElement('input'),this.inputDomNode.setAttribute('type','range'),this.inputDomNode.setAttribute('class',this.elementClass),this.minValue&&this.inputDomNode.setAttribute('min',this.minValue),this.maxValue&&this.inputDomNode.setAttribute('max',this.maxValue),this.increment&&this.inputDomNode.setAttribute('step',this.increment),'yes'===this.isDisabled&&this.inputDomNode.setAttribute('disabled',!0),this.inputDomNode.value=this.getValue(),$tw.utils.addEventListeners(this.inputDomNode,[{name:'mousedown',handlerObject:this,handlerMethod:'handleMouseDownEvent'},{name:'mouseup',handlerObject:this,handlerMethod:'handleMouseUpEvent'},{name:'change',handlerObject:this,handlerMethod:'handleChangeEvent'},{name:'input',handlerObject:this,handlerMethod:'handleInputEvent'}]),t.insertBefore(this.inputDomNode,e),this.domNodes.push(this.inputDomNode)},t.prototype.getValue=function(){var t=this.wiki.getTiddler(this.tiddlerTitle),e=this.tiddlerField,i=this.defaultValue;return t&&(i=this.tiddlerIndex?this.wiki.extractTiddlerDataItem(t,this.tiddlerIndex,this.defaultValue):$tw.utils.hop(t.fields,e)?t.fields[e]||'':this.defaultValue),i},t.prototype.getActionVariables=function(t){t=t||{};var e=this.startValue!==this.inputDomNode.value?'yes':'no';return $tw.utils.extend({actionValue:this.inputDomNode.value,actionValueHasChanged:e},t)},t.prototype.handleMouseDownEvent=function(t){var e;this.mouseDown=!0,this.startValue=this.inputDomNode.value,this.handleEvent(t),this.actionsMouseDown&&(e=this.getActionVariables(),this.invokeActionString(this.actionsMouseDown,this,t,e))},t.prototype.handleMouseUpEvent=function(t){var e;this.mouseDown=!1,this.handleEvent(t),this.actionsMouseUp&&(e=this.getActionVariables(),this.invokeActionString(this.actionsMouseUp,this,t,e)),$tw.browser.isIE&&this.startValue!==this.inputDomNode.value&&(this.handleChangeEvent(t),this.startValue=this.inputDomNode.value)},t.prototype.handleChangeEvent=function(t){this.mouseDown&&this.handleInputEvent(t)},t.prototype.handleInputEvent=function(t){var e;this.handleEvent(t),this.actionsInput&&(e=this.getActionVariables({actionValueHasChanged:'yes'}),this.invokeActionString(this.actionsInput,this,t,e))},t.prototype.handleEvent=function(t){this.getValue()!==this.inputDomNode.value&&(this.tiddlerIndex?this.wiki.setText(this.tiddlerTitle,'',this.tiddlerIndex,this.inputDomNode.value):this.wiki.setText(this.tiddlerTitle,this.tiddlerField,null,this.inputDomNode.value))},t.prototype.execute=function(){this.mouseUp=!0,this.tiddlerTitle=this.getAttribute('tiddler',this.getVariable('currentTiddler')),this.tiddlerField=this.getAttribute('field','text'),this.tiddlerIndex=this.getAttribute('index'),this.minValue=this.getAttribute('min'),this.maxValue=this.getAttribute('max'),this.increment=this.getAttribute('increment'),this.defaultValue=this.getAttribute('default',''),this.elementClass=this.getAttribute('class',''),this.isDisabled=this.getAttribute('disabled','no'),this.actionsMouseDown=this.getAttribute('actionsStart',''),this.actionsMouseUp=this.getAttribute('actionsStop',''),this.actionsInput=this.getAttribute('actions',''),this.makeChildWidgets()},t.prototype.refresh=function(t){var e=this.computeAttributes();if(0<$tw.utils.count(e))return this.refreshSelf(),!0;var i=!1;return t[this.tiddlerTitle]&&(e=this.getValue(),this.inputDomNode.value!==e&&(this.inputDomNode.value=e),i=!0),this.refreshChildren(t)||i},exports.range=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/raw.js":{"text":"!function(){'use strict';function e(e,t){this.initialise(e,t)}var t=require('$:/core/modules/widgets/widget.js').widget;(e.prototype=new t).render=function(e,t){this.parentDomNode=e,this.execute();var r=this.document.createElement('div');r.innerHTML=this.parseTreeNode.html,e.insertBefore(r,t),this.domNodes.push(r)},e.prototype.execute=function(){},e.prototype.refresh=function(e){return!1},exports.raw=e}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/reveal.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute();var i=this.parseTreeNode.isBlock?'div':'span';this.revealTag&&-1===$tw.config.htmlUnsafeElements.indexOf(this.revealTag)&&(i=this.revealTag);i=this.document.createElement(i);this.domNode=i,this.assignDomNodeClasses(),this.style&&i.setAttribute('style',this.style),t.insertBefore(i,e),this.renderChildren(i,null),!i.isTiddlyWikiFakeDom&&'popup'===this.type&&this.isOpen&&(this.positionPopup(i),$tw.utils.addClass(i,'tc-popup')),this.isOpen||i.setAttribute('hidden','true'),this.domNodes.push(i)},t.prototype.positionPopup=function(t){var e,i;switch(t.style.position='absolute',t.style.zIndex='1000',this.position){case'left':e=this.popup.left-t.offsetWidth,i=this.popup.top;break;case'above':e=this.popup.left,i=this.popup.top-t.offsetHeight;break;case'aboveright':e=this.popup.left+this.popup.width,i=this.popup.top+this.popup.height-t.offsetHeight;break;case'belowright':e=this.popup.left+this.popup.width,i=this.popup.top+this.popup.height;break;case'right':e=this.popup.left+this.popup.width,i=this.popup.top;break;case'belowleft':e=this.popup.left+this.popup.width-t.offsetWidth,i=this.popup.top+this.popup.height;break;case'aboveleft':e=this.popup.left-t.offsetWidth,i=this.popup.top-t.offsetHeight;break;default:e=this.popup.left,i=this.popup.top+this.popup.height}this.positionAllowNegative||(e=Math.max(0,e),i=Math.max(0,i)),t.style.left=e+'px',t.style.top=i+'px'},t.prototype.execute=function(){this.state=this.getAttribute('state'),this.revealTag=this.getAttribute('tag'),this.type=this.getAttribute('type'),this.text=this.getAttribute('text'),this.position=this.getAttribute('position'),this.positionAllowNegative='yes'===this.getAttribute('positionAllowNegative'),this.style=this.getAttribute('style',''),this.default=this.getAttribute('default',''),this.animate=this.getAttribute('animate','no'),this.retain=this.getAttribute('retain','no'),this.openAnimation='no'===this.animate?void 0:'open',this.closeAnimation='no'===this.animate?void 0:'close',this.updatePopupPosition='yes'===this.getAttribute('updatePopupPosition','no'),this.stateTiddlerTitle=this.state,this.stateTitle=this.getAttribute('stateTitle'),this.stateField=this.getAttribute('stateField'),this.stateIndex=this.getAttribute('stateIndex'),this.readState();var t=this.isOpen?this.parseTreeNode.children:[];this.hasChildNodes=this.isOpen,this.makeChildWidgets(t)},t.prototype.readState=function(){var t,e,i=this.default;switch(null===(e=this.stateTitle?(t=this.wiki.getTiddler(this.stateTitle),this.stateField?t&&t.getFieldString(this.stateField)||i:this.stateIndex?t&&this.wiki.extractTiddlerDataItem(this.stateTitle,this.stateIndex)||i:t&&this.wiki.getTiddlerText(this.stateTitle)||i):this.stateTiddlerTitle?this.wiki.getTextReference(this.state,this.default,this.getVariable('currentTiddler')):this.default)&&(e=this.default),this.type){case'popup':this.readPopupState(e);break;case'match':this.isOpen=this.text===e;break;case'nomatch':this.isOpen=this.text!==e;break;case'lt':this.isOpen=!!(this.compareStateText(e)<0);break;case'gt':this.isOpen=!!(0<this.compareStateText(e));break;case'lteq':this.isOpen=!(0<this.compareStateText(e));break;case'gteq':this.isOpen=!(this.compareStateText(e)<0)}},t.prototype.compareStateText=function(t){return t.localeCompare(this.text,void 0,{numeric:!0,sensitivity:'case'})},t.prototype.readPopupState=function(t){t=/^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/.exec(t);t?(this.isOpen=!0,this.popup={left:parseFloat(t[1]),top:parseFloat(t[2]),width:parseFloat(t[3]),height:parseFloat(t[4])}):this.isOpen=!1},t.prototype.assignDomNodeClasses=function(){var t=this.getAttribute('class','').split(' ');t.push('tc-reveal'),this.domNode.className=t.join(' ')},t.prototype.refresh=function(t){var e=this.computeAttributes();if(e.state||e.type||e.text||e.position||e.positionAllowNegative||e.default||e.animate||e.stateTitle||e.stateField||e.stateIndex)return this.refreshSelf(),!0;var i=this.isOpen;if(this.readState(),this.isOpen!==i){if('yes'!==this.retain)return this.refreshSelf(),!0;this.updateState()}else'popup'===this.type&&this.updatePopupPosition&&(t[this.state]||t[this.stateTitle])&&this.positionPopup(this.domNode);return e.style&&(this.domNode.style=this.getAttribute('style','')),e.class&&this.assignDomNodeClasses(),this.refreshChildren(t)},t.prototype.updateState=function(){var t=this;this.readState();var e=this.domNodes[0];this.isOpen&&!this.hasChildNodes&&(this.hasChildNodes=!0,this.makeChildWidgets(this.parseTreeNode.children),this.renderChildren(e,null)),!e.isTiddlyWikiFakeDom&&'popup'===this.type&&this.isOpen&&(this.positionPopup(e),$tw.utils.addClass(e,'tc-popup')),this.isOpen?(e.removeAttribute('hidden'),$tw.anim.perform(this.openAnimation,e)):$tw.anim.perform(this.closeAnimation,e,{callback:function(){t.readState(),t.isOpen||e.setAttribute('hidden','true')}})},exports.reveal=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/scrollable.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e),this.scaleFactor=1,this.addEventListeners([{type:'tm-scroll',handler:'handleScrollEvent'}]),$tw.browser&&(this.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)},this.cancelAnimationFrame=window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelAnimationFrame||window.mozCancelRequestAnimationFrame||function(t){window.clearTimeout(t)})}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).cancelScroll=function(){this.idRequestFrame&&(this.cancelAnimationFrame.call(window,this.idRequestFrame),this.idRequestFrame=null)},t.prototype.handleScrollEvent=function(t){return this.outerDomNode.scrollWidth<=this.outerDomNode.offsetWidth&&this.outerDomNode.scrollHeight<=this.outerDomNode.offsetHeight&&'yes'===this.fallthrough||(t.paramObject&&t.paramObject.selector?this.scrollSelectorIntoView(null,t.paramObject.selector):this.scrollIntoView(t.target),!1)},t.prototype.scrollIntoView=function(t){var e=$tw.utils.getAnimationDuration(),o=t?t.ownerDocument.defaultView:window;this.cancelScroll(),this.startTime=Date.now();var i,r,n={x:this.outerDomNode.scrollLeft,y:this.outerDomNode.scrollTop},s=this.outerDomNode.getBoundingClientRect(),t=t.getBoundingClientRect(),s={left:t.left+n.x-s.left,top:t.top+n.y-s.top,width:t.width,height:t.height},t=function(t,e,o,i){return o<=t&&t+e<=o+i?o:t<=o?t:e<i&&o<t+e-i?t+e-i:o<t?t:o},l=t(s.left,s.width,n.x,this.outerDomNode.offsetWidth),a=t(s.top,s.height,n.y,this.outerDomNode.offsetHeight);l===n.x&&a===n.y||(i=this,(r=function(){var t=e<=0?1:(Date.now()-i.startTime)/e;1<=t&&(i.cancelScroll(),t=1),t=$tw.utils.slowInSlowOut(t),i.outerDomNode.scrollLeft=n.x+(l-n.x)*t,i.outerDomNode.scrollTop=n.y+(a-n.y)*t,t<1&&(i.idRequestFrame=i.requestAnimationFrame.call(o,r))})())},t.prototype.scrollSelectorIntoView=function(t,e,o){e=(t=t||document.body).querySelector(e);e&&this.scrollIntoView(e,o)},t.prototype.render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute(),this.outerDomNode=this.document.createElement('div'),$tw.utils.setStyle(this.outerDomNode,[{overflowY:'auto'},{overflowX:'auto'},{webkitOverflowScrolling:'touch'}]),this.innerDomNode=this.document.createElement('div'),this.outerDomNode.appendChild(this.innerDomNode),this.outerDomNode.className=this.class||'',t.insertBefore(this.outerDomNode,e),this.renderChildren(this.innerDomNode,null),this.domNodes.push(this.outerDomNode)},t.prototype.execute=function(){this.fallthrough=this.getAttribute('fallthrough','yes'),this.class=this.getAttribute('class'),this.makeChildWidgets()},t.prototype.refresh=function(t){return this.computeAttributes().class?(this.refreshSelf(),!0):this.refreshChildren(t)},exports.scrollable=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/select.js":{"text":"!function(){'use strict';function e(e,t){this.initialise(e,t)}var t=require('$:/core/modules/widgets/widget.js').widget;(e.prototype=new t).render=function(e,t){this.parentDomNode=e,this.computeAttributes(),this.execute(),this.renderChildren(e,t),this.setSelectValue(),$tw.utils.addEventListeners(this.getSelectDomNode(),[{name:'change',handlerObject:this,handlerMethod:'handleChangeEvent'}])},e.prototype.handleChangeEvent=function(e){var t;t=0==this.selectMultiple?this.getSelectDomNode().value:(t=this.getSelectValues(),$tw.utils.stringifyList(t)),this.wiki.setText(this.selectTitle,this.selectField,this.selectIndex,t),this.selectActions&&this.invokeActionString(this.selectActions,this,e)},e.prototype.setSelectValue=function(){var e=this.selectDefault;if(this.selectIndex?e=this.wiki.extractTiddlerDataItem(this.selectTitle,this.selectIndex,e):(l=this.wiki.getTiddler(this.selectTitle))?'text'===this.selectField?e=this.wiki.getTiddlerText(this.selectTitle):$tw.utils.hop(l.fields,this.selectField)&&(e=l.getFieldString(this.selectField)):'title'===this.selectField&&(e=this.selectTitle),this.selectMultiple){e=void 0===e?'':e;for(var t=this.getSelectDomNode(),i=Array.isArray(e)?e:$tw.utils.parseStringArray(e),s=0;s<t.children.length;s++)t.children[s].selected=-1!==i.indexOf(t.children[s].value)}else{var l=this.getSelectDomNode();l.value!==e&&(l.value=e)}},e.prototype.getSelectDomNode=function(){return this.children[0].domNodes[0]},e.prototype.getSelectValues=function(){for(var e,t=this.getSelectDomNode(),i=[],s=t&&t.options,l=0;l<s.length;l++)(e=s[l]).selected&&i.push(e.value||e.text);return i},e.prototype.execute=function(){this.selectActions=this.getAttribute('actions'),this.selectTitle=this.getAttribute('tiddler',this.getVariable('currentTiddler')),this.selectField=this.getAttribute('field','text'),this.selectIndex=this.getAttribute('index'),this.selectClass=this.getAttribute('class'),this.selectDefault=this.getAttribute('default'),this.selectMultiple=this.getAttribute('multiple',!1),this.selectSize=this.getAttribute('size'),this.selectTooltip=this.getAttribute('tooltip');var e={type:'element',tag:'select',children:this.parseTreeNode.children};this.selectClass&&$tw.utils.addAttributeToParseTreeNode(e,'class',this.selectClass),this.selectMultiple&&$tw.utils.addAttributeToParseTreeNode(e,'multiple','multiple'),this.selectSize&&$tw.utils.addAttributeToParseTreeNode(e,'size',this.selectSize),this.selectTooltip&&$tw.utils.addAttributeToParseTreeNode(e,'title',this.selectTooltip),this.makeChildWidgets([e])},e.prototype.refresh=function(e){var t=this.computeAttributes();if(t.selectTitle||t.selectField||t.selectIndex||t.selectTooltip)return this.refreshSelf(),!0;t=this.refreshChildren(e);return(e[this.selectTitle]||t)&&this.setSelectValue(),t},exports.select=e}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/set.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute(),this.renderChildren(t,e)},t.prototype.execute=function(){this.setName=this.getAttribute('name','currentTiddler'),this.setFilter=this.getAttribute('filter'),this.setSelect=this.getAttribute('select'),this.setTiddler=this.getAttribute('tiddler'),this.setSubTiddler=this.getAttribute('subtiddler'),this.setField=this.getAttribute('field'),this.setIndex=this.getAttribute('index'),this.setValue=this.getAttribute('value'),this.setEmptyValue=this.getAttribute('emptyValue'),this.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,!!this.parseTreeNode.isMacroDefinition),this.makeChildWidgets()},t.prototype.getValue=function(){var t,e,i=this.setValue;return this.setTiddler?i=(t=this.setSubTiddler?this.wiki.getSubTiddler(this.setTiddler,this.setSubTiddler):this.wiki.getTiddler(this.setTiddler))?this.setField?t.getFieldString(this.setField)||this.setEmptyValue:this.setIndex?this.wiki.extractTiddlerDataItem(this.setTiddler,this.setIndex,this.setEmptyValue):t.fields.text||this.setEmptyValue:this.setEmptyValue:this.setFilter?(t=this.wiki.filterTiddlers(this.setFilter,this),null==this.setValue&&(this.setSelect&&(e=parseInt(this.setSelect,10)),i=void 0!==e?t[e]||'':$tw.utils.stringifyList(t)),0===t.length&&void 0!==this.setEmptyValue&&(i=this.setEmptyValue)):!i&&this.setEmptyValue&&(i=this.setEmptyValue),i||''},t.prototype.refresh=function(t){var e=this.computeAttributes();return e.name||e.filter||e.select||e.tiddler||this.setTiddler&&t[this.setTiddler]||e.field||e.index||e.value||e.emptyValue||this.setFilter&&this.getValue()!=this.variables[this.setName].value?(this.refreshSelf(),!0):this.refreshChildren(t)},exports.setvariable=t,exports.set=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/text.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute();var r=(r=this.getAttribute('text',this.parseTreeNode.text||'')).replace(/\\r/gm,''),r=this.document.createTextNode(r);t.insertBefore(r,e),this.domNodes.push(r)},t.prototype.execute=function(){},t.prototype.refresh=function(t){return!!this.computeAttributes().text&&(this.refreshSelf(),!0)},exports.text=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/tiddler.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute(),this.renderChildren(t,e)},t.prototype.execute=function(){this.tiddlerState=this.computeTiddlerState(),this.setVariable('currentTiddler',this.tiddlerState.currentTiddler),this.setVariable('missingTiddlerClass',this.tiddlerState.missingTiddlerClass),this.setVariable('shadowTiddlerClass',this.tiddlerState.shadowTiddlerClass),this.setVariable('systemTiddlerClass',this.tiddlerState.systemTiddlerClass),this.setVariable('tiddlerTagClasses',this.tiddlerState.tiddlerTagClasses),this.makeChildWidgets()},t.prototype.computeTiddlerState=function(){this.tiddlerTitle=this.getAttribute('tiddler',this.getVariable('currentTiddler'));var t={currentTiddler:this.tiddlerTitle||'',missingTiddlerClass:this.wiki.tiddlerExists(this.tiddlerTitle)||this.wiki.isShadowTiddler(this.tiddlerTitle)?'tc-tiddler-exists':'tc-tiddler-missing',shadowTiddlerClass:this.wiki.isShadowTiddler(this.tiddlerTitle)?'tc-tiddler-shadow':'',systemTiddlerClass:this.wiki.isSystemTiddler(this.tiddlerTitle)?'tc-tiddler-system':'',tiddlerTagClasses:this.getTagClasses()};return t.hash=t.currentTiddler+t.missingTiddlerClass+t.shadowTiddlerClass+t.systemTiddlerClass+t.tiddlerTagClasses,t},t.prototype.getTagClasses=function(){var t=this.wiki.getTiddler(this.tiddlerTitle);if(t){var e=[];return $tw.utils.each(t.fields.tags,function(t){e.push('tc-tagged-'+encodeURIComponent(t))}),e.join(' ')}return''},t.prototype.refresh=function(t){var e=this.computeAttributes(),i=this.computeTiddlerState();return e.tiddler||i.hash!==this.tiddlerState.hash?(this.refreshSelf(),!0):this.refreshChildren(t)},exports.tiddler=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/transclude.js":{"text":"!function(){'use strict';function e(e,t){this.initialise(e,t)}var t=require('$:/core/modules/widgets/widget.js').widget;(e.prototype=new t).render=function(e,t){this.parentDomNode=e,this.computeAttributes(),this.execute(),this.renderChildren(e,t)},e.prototype.execute=function(){this.transcludeTitle=this.getAttribute('tiddler',this.getVariable('currentTiddler')),this.transcludeSubTiddler=this.getAttribute('subtiddler'),this.transcludeField=this.getAttribute('field'),this.transcludeIndex=this.getAttribute('index'),this.transcludeMode=this.getAttribute('mode'),this.recursionMarker=this.getAttribute('recursionMarker','yes');var e=!this.parseTreeNode.isBlock;'inline'===this.transcludeMode?e=!0:'block'===this.transcludeMode&&(e=!1);var t=this.wiki.parseTextReference(this.transcludeTitle,this.transcludeField,this.transcludeIndex,{parseAsInline:e,subTiddler:this.transcludeSubTiddler}),i=t?t.tree:this.parseTreeNode.children,e=this.makeRecursionMarker();'yes'===this.recursionMarker&&this.setVariable('transclusion',e),t&&this.parentWidget&&this.parentWidget.hasVariable('transclusion',e)&&(i=[{type:'element',tag:'span',attributes:{class:{type:'string',value:'tc-error'}},children:[{type:'text',text:$tw.language.getString('Error/RecursiveTransclusion')}]}]),this.makeChildWidgets(i)},e.prototype.makeRecursionMarker=function(){var e=[];return e.push('{'),e.push(this.getVariable('currentTiddler',{defaultValue:''})),e.push('|'),e.push(this.transcludeTitle||''),e.push('|'),e.push(this.transcludeField||''),e.push('|'),e.push(this.transcludeIndex||''),e.push('|'),e.push(this.transcludeSubTiddler||''),e.push('}'),e.join('')},e.prototype.refresh=function(e){var t=this.computeAttributes();return t.tiddler||t.field||t.index||e[this.transcludeTitle]?(this.refreshSelf(),!0):this.refreshChildren(e)},exports.transclude=e}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/vars.js":{"text":"!function(){'use strict';function t(t,e){i.call(this),this.initialise(t,e)}var i=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=Object.create(i.prototype)).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute(),this.renderChildren(t,e)},t.prototype.execute=function(){var i=this;$tw.utils.each(this.attributes,function(t,e){'$'!==e.charAt(0)&&i.setVariable(e,t)}),this.makeChildWidgets()},t.prototype.refresh=function(t){var e=this.computeAttributes();return Object.keys(e).length?(this.refreshSelf(),!0):this.refreshChildren(t)},exports.vars=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/view.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){var i;this.parentDomNode=t,this.computeAttributes(),this.execute(),this.text?(i=this.document.createTextNode(this.text),t.insertBefore(i,e),this.domNodes.push(i)):(this.makeChildWidgets(),this.renderChildren(t,e))},t.prototype.execute=function(){switch(this.viewTitle=this.getAttribute('tiddler',this.getVariable('currentTiddler')),this.viewSubtiddler=this.getAttribute('subtiddler'),this.viewField=this.getAttribute('field','text'),this.viewIndex=this.getAttribute('index'),this.viewFormat=this.getAttribute('format','text'),this.viewTemplate=this.getAttribute('template',''),this.viewMode=this.getAttribute('mode','block'),this.viewFormat){case'htmlwikified':this.text=this.getValueAsHtmlWikified(this.viewMode);break;case'plainwikified':this.text=this.getValueAsPlainWikified(this.viewMode);break;case'htmlencodedplainwikified':this.text=this.getValueAsHtmlEncodedPlainWikified(this.viewMode);break;case'htmlencoded':this.text=this.getValueAsHtmlEncoded();break;case'urlencoded':this.text=this.getValueAsUrlEncoded();break;case'doubleurlencoded':this.text=this.getValueAsDoubleUrlEncoded();break;case'date':this.text=this.getValueAsDate(this.viewTemplate);break;case'relativedate':this.text=this.getValueAsRelativeDate();break;case'stripcomments':this.text=this.getValueAsStrippedComments();break;case'jsencoded':this.text=this.getValueAsJsEncoded();break;default:this.text=this.getValueAsText()}},t.prototype.getValue=function(t){var e,i=(t=t||{}).asString?'':void 0;return this.viewIndex?i=this.wiki.extractTiddlerDataItem(this.viewTitle,this.viewIndex):(e=this.viewSubtiddler?this.wiki.getSubTiddler(this.viewTitle,this.viewSubtiddler):this.wiki.getTiddler(this.viewTitle))?'text'!==this.viewField||this.viewSubtiddler?$tw.utils.hop(e.fields,this.viewField)&&(i=t.asString?e.getFieldString(this.viewField):e.fields[this.viewField]):i=this.wiki.getTiddlerText(this.viewTitle):'title'===this.viewField&&(i=this.viewTitle),i},t.prototype.getValueAsText=function(){return this.getValue({asString:!0})},t.prototype.getValueAsHtmlWikified=function(t){return this.wiki.renderText('text/html','text/vnd.tiddlywiki',this.getValueAsText(),{parseAsInline:'block'!==t,parentWidget:this})},t.prototype.getValueAsPlainWikified=function(t){return this.wiki.renderText('text/plain','text/vnd.tiddlywiki',this.getValueAsText(),{parseAsInline:'block'!==t,parentWidget:this})},t.prototype.getValueAsHtmlEncodedPlainWikified=function(t){return $tw.utils.htmlEncode(this.wiki.renderText('text/plain','text/vnd.tiddlywiki',this.getValueAsText(),{parseAsInline:'block'!==t,parentWidget:this}))},t.prototype.getValueAsHtmlEncoded=function(){return $tw.utils.htmlEncode(this.getValueAsText())},t.prototype.getValueAsUrlEncoded=function(){return encodeURIComponent(this.getValueAsText())},t.prototype.getValueAsDoubleUrlEncoded=function(){return encodeURIComponent(encodeURIComponent(this.getValueAsText()))},t.prototype.getValueAsDate=function(t){t=t||'YYYY MM DD 0hh:0mm';var e=$tw.utils.parseDate(this.getValue());return e&&$tw.utils.isDate(e)&&'Invalid Date'!==e.toString()?$tw.utils.formatDateString(e,t):''},t.prototype.getValueAsRelativeDate=function(t){var e=$tw.utils.parseDate(this.getValue());return e&&$tw.utils.isDate(e)&&'Invalid Date'!==e.toString()?$tw.utils.getRelativeDate(new Date-new Date(e)).description:''},t.prototype.getValueAsStrippedComments=function(){for(var t=this.getValueAsText().split('\\n'),e=[],i=0;i<t.length;i++){var s=t[i];/^\\s*\\/\\/#/.test(s)||e.push(s)}return e.join('\\n')},t.prototype.getValueAsJsEncoded=function(){return $tw.utils.stringify(this.getValueAsText())},t.prototype.refresh=function(t){var e=this.computeAttributes();return!!(e.tiddler||e.field||e.index||e.template||e.format||t[this.viewTitle])&&(this.refreshSelf(),!0)},exports.view=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/widget.js":{"text":"!function(){'use strict';function r(t,e){this.initialise(t,e)}r.prototype.initialise=function(t,e){void 0!==t&&(e=e||{},this.parseTreeNode=t,this.wiki=e.wiki,this.parentWidget=e.parentWidget,this.variablesConstructor=function(){},this.variablesConstructor.prototype=this.parentWidget?this.parentWidget.variables:{},this.variables=new this.variablesConstructor,this.document=e.document,this.attributes={},this.children=[],this.domNodes=[],this.eventListeners={},this.widgetClasses||(r.prototype.widgetClasses=$tw.modules.applyMethods('widget'),$tw.modules.forEachModuleOfType('widget-subclass',function(t,e){if(e.baseClass){var i=r.prototype.widgetClasses[e.baseClass];if(!i)throw'Module \\''+t+'\\' is attemping to extend a non-existent base class \\''+e.baseClass+'\\'';t=e.constructor;t.prototype=new i,$tw.utils.extend(t.prototype,e.prototype),r.prototype.widgetClasses[e.name||e.baseClass]=t}})))},r.prototype.render=function(t,e){this.parentDomNode=t,this.execute(),this.renderChildren(t,e)},r.prototype.execute=function(){this.makeChildWidgets()},r.prototype.setVariable=function(t,e,i,r){this.variables[t]={value:e,params:i,isMacroDefinition:!!r}},r.prototype.getVariableInfo=function(t,e){var i=(e=e||{}).params||[],r=this.parentWidget;if(r&&t in r.variables){var n=r.variables[t],s=n.value,o=s,r=this.resolveVariableParameters(n.params,i);return $tw.utils.each(r,function(t){o=$tw.utils.replaceString(o,new RegExp('\\\\$'+$tw.utils.escapeRegExp(t.name)+'\\\\$','mg'),t.value)}),n.isMacroDefinition&&(o=this.substituteVariableReferences(o)),{text:o,params:r,srcVariable:n,isCacheable:s===o}}return{text:this.evaluateMacroModule(t,i,e.defaultValue)}},r.prototype.getVariable=function(t,e){return this.getVariableInfo(t,e).text},r.prototype.resolveVariableParameters=function(t,e){t=t||[],e=e||[];for(var i,r,n=0,s=[],o=0;o<t.length;o++){i=t[o],r=void 0;for(var a=0;a<e.length;a++)e[a].name===i.name&&(r=e[a].value);for(;n<e.length&&e[n].name;)n++;void 0===r&&n<e.length&&(r=e[n++].value),r=r||i.default||'',s.push({name:i.name,value:r})}return s},r.prototype.substituteVariableReferences=function(t){var n=this;return(t||'').replace(/\\$\\(([^\\)\\$]+)\\)\\$/g,function(t,e,i,r){return n.getVariable(e,{defaultValue:''})})},r.prototype.evaluateMacroModule=function(t,e,i){if($tw.utils.hop($tw.macros,t)){var r=$tw.macros[t],n=[];if(0<r.params.length)for(var s,o,a=0,l=0;l<r.params.length;l++){s=r.params[l],o=void 0;for(var h=0;h<e.length;h++)e[h].name===s.name&&(o=e[h].value);for(;a<e.length&&e[a].name;)a++;void 0===o&&a<e.length&&(o=e[a++].value),o=o||s.default||'',n.push(o)}else for(var u=0;u<e.length;++u)n.push(e[u].value);return(r.run.apply(this,n)||'').toString()}return i},r.prototype.hasVariable=function(t,e){for(var i=this;i;){if($tw.utils.hop(i.variables,t)&&i.variables[t].value===e)return!0;i=i.parentWidget}return!1},r.prototype.getStateQualifier=function(t){if(this.qualifiers=this.qualifiers||Object.create(null),t=t||'transclusion',this.qualifiers[t])return this.qualifiers[t];for(var e=[],i=this;i&&i.parentWidget;)$tw.utils.hop(i.parentWidget.variables,t)&&e.push(i.getVariable(t)),i=i.parentWidget;var r=$tw.utils.hashString(e.join(''));return this.qualifiers[t]=r},r.prototype.computeAttributes=function(){var i,r={},n=this;return $tw.utils.each(this.parseTreeNode.attributes,function(t,e){i='filtered'===t.type?n.wiki.filterTiddlers(t.filter,n)[0]||'':'indirect'===t.type?n.wiki.getTextReference(t.textReference,'',n.getVariable('currentTiddler')):'macro'===t.type?n.getVariable(t.value.name,{params:t.value.params}):t.value,n.attributes[e]!==i&&(n.attributes[e]=i,r[e]=!0)}),r},r.prototype.hasAttribute=function(t){return $tw.utils.hop(this.attributes,t)},r.prototype.getAttribute=function(t,e){return $tw.utils.hop(this.attributes,t)?this.attributes[t]:e},r.prototype.assignAttributes=function(r,n){n=n||{};$tw.utils.each(this.attributes,function(t,e){if(n.excludeEventAttributes&&'on'===e.substr(0,2)&&(t=void 0),void 0!==t){var i=e.split(':');try{2==i.length&&'xlink'==i[0]?r.setAttributeNS('http://www.w3.org/1999/xlink',i[1],t):r.setAttributeNS(null,e,t)}catch(t){}}})},r.prototype.makeChildWidgets=function(t){this.children=[];var e=this;$tw.utils.each(t||this.parseTreeNode&&this.parseTreeNode.children,function(t){e.children.push(e.makeChildWidget(t))})},r.prototype.makeChildWidget=function(t){var e=this.widgetClasses[t.type];return e||(e=this.widgetClasses.text,t={type:'text',text:'Undefined widget \\''+t.type+'\\''}),new e(t,{wiki:this.wiki,variables:{},parentWidget:this,document:this.document})},r.prototype.nextSibling=function(){if(this.parentWidget){var t=this.parentWidget.children.indexOf(this);if(-1!==t&&t<this.parentWidget.children.length-1)return this.parentWidget.children[t+1]}return null},r.prototype.previousSibling=function(){if(this.parentWidget){var t=this.parentWidget.children.indexOf(this);if(-1!==t&&0<t)return this.parentWidget.children[t-1]}return null},r.prototype.renderChildren=function(t,e){for(var i=this.children,r=0;r<i.length;r++)i[r].render(t,e)},r.prototype.addEventListeners=function(t){var e=this;$tw.utils.each(t,function(t){e.addEventListener(t.type,t.handler)})},r.prototype.addEventListener=function(t,e){var i=this;this.eventListeners[t]='string'==typeof e?function(t){return i[e].call(i,t)}:function(t){return e.call(i,t)}},r.prototype.dispatchEvent=function(t){t.widget=t.widget||this;var e=this.eventListeners[t.type];return!(e&&!e(t))&&(!this.parentWidget||this.parentWidget.dispatchEvent(t))},r.prototype.refresh=function(t){return this.refreshChildren(t)},r.prototype.refreshSelf=function(){var t=this.findNextSiblingDomNode();this.removeChildDomNodes(),this.render(this.parentDomNode,t)},r.prototype.refreshChildren=function(t){for(var e=this.children,i=!1,r=0;r<e.length;r++)i=e[r].refresh(t)||i;return i},r.prototype.findNextSiblingDomNode=function(t){var e=this.parentWidget,i=void 0!==t?t:e.children.indexOf(this);if(-1===i)throw'node not found in parents children';for(;++i<e.children.length;){var r=e.children[i].findFirstDomNode();if(r)return r}t=e.parentWidget;return t&&e.parentDomNode===this.parentDomNode&&-1!==(i=t.children.indexOf(e))?e.findNextSiblingDomNode(i):null},r.prototype.findFirstDomNode=function(){if(0<this.domNodes.length)return this.domNodes[0];for(var t=0;t<this.children.length;t++){var e=this.children[t].findFirstDomNode();if(e)return e}return null},r.prototype.removeChildDomNodes=function(){0<this.domNodes.length?($tw.utils.each(this.domNodes,function(t){t.parentNode.removeChild(t)}),this.domNodes=[]):$tw.utils.each(this.children,function(t){t.removeChildDomNodes()})},r.prototype.invokeActions=function(t,e){for(var i=!1,r=0;r<this.children.length;r++){var n=this.children[r];n.invokeAction&&(n.refreshSelf(),n.invokeAction(t,e)&&(i=!0)),n.allowActionPropagation()&&n.invokeActions(t,e)&&(i=!0)}return i},r.prototype.invokeActionString=function(t,e,i,r){t=t||'';t=this.wiki.parseText('text/vnd.tiddlywiki',t,{parentWidget:this,document:this.document}),t=this.wiki.makeWidget(t,{parentWidget:this,document:this.document,variables:r}),r=this.document.createElement('div');return t.render(r,null),t.invokeActions(this,i)},r.prototype.invokeActionsByTag=function(t,e,i){var r=this;$tw.utils.each(r.wiki.filterTiddlers('[all[shadows+tiddlers]tag['+t+']!has[draft.of]]'),function(t){r.invokeActionString(r.wiki.getTiddlerText(t),r,e,i)})},r.prototype.allowActionPropagation=function(){return!0},exports.widget=r}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/wikify.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute(),this.renderChildren(t,e)},t.prototype.execute=function(){this.wikifyName=this.getAttribute('name'),this.wikifyText=this.getAttribute('text'),this.wikifyType=this.getAttribute('type'),this.wikifyMode=this.getAttribute('mode','block'),this.wikifyOutput=this.getAttribute('output','text'),this.wikifyParser=this.wiki.parseText(this.wikifyType,this.wikifyText,{parseAsInline:'inline'===this.wikifyMode}),this.wikifyWidgetNode=this.wiki.makeWidget(this.wikifyParser,{document:$tw.fakeDocument,parentWidget:this}),this.wikifyContainer=$tw.fakeDocument.createElement('div'),this.wikifyWidgetNode.render(this.wikifyContainer,null),this.wikifyResult=this.getResult(),this.setVariable(this.wikifyName,this.wikifyResult),this.makeChildWidgets()},t.prototype.getResult=function(){var t;switch(this.wikifyOutput){case'text':t=this.wikifyContainer.textContent;break;case'formattedtext':t=this.wikifyContainer.formattedTextContent;break;case'html':t=this.wikifyContainer.innerHTML;break;case'parsetree':t=JSON.stringify(this.wikifyParser.tree,0,$tw.config.preferences.jsonSpaces);break;case'widgettree':t=JSON.stringify(this.getWidgetTree(),0,$tw.config.preferences.jsonSpaces)}return t},t.prototype.getWidgetTree=function(){var r=function(i,s){var t=i.parseTreeNode.type;switch(s.type=t){case'element':s.tag=i.parseTreeNode.tag;break;case'text':s.text=i.parseTreeNode.text}0<Object.keys(i.attributes||{}).length&&(s.attributes={},$tw.utils.each(i.attributes,function(t,e){s.attributes[e]=i.getAttribute(e)})),0<Object.keys(i.children||{}).length&&(s.children=[],$tw.utils.each(i.children,function(t){var e={};s.children.push(e),r(t,e)}))},t={};return r(this.wikifyWidgetNode,t),t},t.prototype.refresh=function(t){var e=this.computeAttributes();if(e.name||e.text||e.type||e.mode||e.output)return this.refreshSelf(),!0;if(this.wikifyWidgetNode.refresh(t)){e=this.getResult();if(e!==this.wikifyResult)return this.wikifyResult=e,this.setVariable(this.wikifyName,this.wikifyResult),$tw.utils.each(this.children,function(t){t.refreshSelf()}),!0}return this.refreshChildren(t)},exports.wikify=t}();","type":"application/javascript","module-type":"widget"},"$:/core/modules/wiki-bulkops.js":{"text":"!function(){'use strict';exports.renameTiddler=function(i,t,e){var d,l;i=(i||'').trim(),t=(t||'').trim(),e=e||{},i&&t&&i!==t&&(d=this.getTiddler(i),l=new $tw.Tiddler(d,{title:t},this.getModificationFields()),l=$tw.hooks.invokeHook('th-renaming-tiddler',l,d),this.addTiddler(l),this.deleteTiddler(i),this.relinkTiddler(i,t,e))},exports.relinkTiddler=function(n,o,r){var a=this;n=(n||'').trim(),o=(o||'').trim(),r=r||{},n&&o&&n!==o&&this.each(function(e,i){var d,l,s,t=e.fields.type||'';e.fields['plugin-type']||'application/javascript'===t||(d=e.fields.tags?e.fields.tags.slice(0):void 0,l=e.fields.list?e.fields.list.slice(0):void 0,s=!1,r.dontRenameInTags||$tw.utils.each(d,function(i,t){i===n&&(console.log('Renaming tag \\''+d[t]+'\\' to \\''+o+'\\' of tiddler \\''+e.fields.title+'\\''),d[t]=o,s=!0)}),r.dontRenameInLists||$tw.utils.each(l,function(i,t){i===n&&(console.log('Renaming list item \\''+l[t]+'\\' to \\''+o+'\\' of tiddler \\''+e.fields.title+'\\''),l[t]=o,s=!0)}),s&&(t=new $tw.Tiddler(e,{tags:d,list:l},a.getModificationFields()),t=$tw.hooks.invokeHook('th-relinking-tiddler',t,e),a.addTiddler(t)))})}}();","type":"application/javascript","module-type":"wikimethod"},"$:/core/modules/wiki.js":{"text":"!function(){'use strict';var s=require('$:/core/modules/widgets/widget.js'),i='$:/status/UserName',r='$:/config/TimestampDisable';exports.addIndexersToWiki=function(){var i=this;$tw.utils.each($tw.modules.applyMethods('indexer'),function(e,t){i.addIndexer(new e(i),t)})},exports.getTextReference=function(e,t,i){var r=$tw.utils.parseTextReference(e),e=r.title||i;if(r.field){i=this.getTiddler(e);return'title'===r.field?e:i&&$tw.utils.hop(i.fields,r.field)?i.getFieldString(r.field):t}return r.index?this.extractTiddlerDataItem(e,r.index,t):this.getTiddlerText(e,t)},exports.setTextReference=function(e,t,i){e=$tw.utils.parseTextReference(e),i=e.title||i;this.setText(i,e.field,e.index,t)},exports.setText=function(e,t,i,r,s){var n,l=(s=s||{}).suppressTimestamp?{}:this.getCreationFields(),s=s.suppressTimestamp?{}:this.getModificationFields();i?(n=this.getTiddlerData(e,Object.create(null)),void 0!==r?n[i]=r:delete n[i],this.setTiddlerData(e,n,s)):(n=this.getTiddler(e),(e={title:e})[t||'text']=r,this.addTiddler(new $tw.Tiddler(l,n,e,s)))},exports.deleteTextReference=function(e,t){var i=$tw.utils.parseTextReference(e);i.title&&!i.field?this.deleteTiddler(i.title):i.field&&(e=i.title||t,(t=this.getTiddler(e))&&$tw.utils.hop(t.fields,i.field)&&((e=Object.create(null))[i.field]=void 0,this.addTiddler(new $tw.Tiddler(t,e,this.getModificationFields()))))},exports.addEventListener=function(e,t){this.eventListeners=this.eventListeners||{},this.eventListeners[e]=this.eventListeners[e]||[],this.eventListeners[e].push(t)},exports.removeEventListener=function(e,t){e=this.eventListeners[e];!e||-1!==(t=e.indexOf(t))&&e.splice(t,1)},exports.dispatchEvent=function(e){var t=Array.prototype.slice.call(arguments,1),i=this.eventListeners[e];if(i)for(var r=0;r<i.length;r++){var s=i[r];s.apply(s,t)}},exports.enqueueTiddlerEvent=function(e,t){var i;this.changedTiddlers=this.changedTiddlers||Object.create(null),this.changedTiddlers[e]=this.changedTiddlers[e]||Object.create(null),this.changedTiddlers[e][t?'deleted':'modified']=!0,this.changeCount=this.changeCount||Object.create(null),$tw.utils.hop(this.changeCount,e)?this.changeCount[e]++:this.changeCount[e]=1,this.eventListeners=this.eventListeners||{},this.eventsTriggered||(i=this,$tw.utils.nextTick(function(){var e=i.changedTiddlers;i.changedTiddlers=Object.create(null),i.eventsTriggered=!1,0<$tw.utils.count(e)&&i.dispatchEvent('change',e)}),this.eventsTriggered=!0)},exports.getSizeOfTiddlerEventQueue=function(){return $tw.utils.count(this.changedTiddlers)},exports.clearTiddlerEventQueue=function(){this.changedTiddlers=Object.create(null),this.changeCount=Object.create(null)},exports.getChangeCount=function(e){return this.changeCount=this.changeCount||Object.create(null),$tw.utils.hop(this.changeCount,e)?this.changeCount[e]:0},exports.generateNewTitle=function(e,t){t=t||{};for(var i=0,r=e;this.tiddlerExists(r)||this.isShadowTiddler(r)||this.findDraft(r);)r=e+(t.prefix||' ')+ ++i;return r},exports.isSystemTiddler=function(e){return e&&0===e.indexOf('$:/')},exports.isTemporaryTiddler=function(e){return e&&0===e.indexOf('$:/temp/')},exports.isImageTiddler=function(e){e=this.getTiddler(e);if(e){e=$tw.config.contentTypeInfo[e.fields.type||'text/vnd.tiddlywiki'];return!!e&&-1!==e.flags.indexOf('image')}return null},exports.isBinaryTiddler=function(e){e=this.getTiddler(e);if(e){e=$tw.config.contentTypeInfo[e.fields.type||'text/vnd.tiddlywiki'];return!!e&&'base64'===e.encoding}return null},exports.importTiddler=function(e){var t=this.getTiddler(e.fields.title);return!(e&&e.hasField('plugin-type')&&e.hasField('version')&&t&&t.hasField('plugin-type')&&t.hasField('version')&&!$tw.utils.checkVersions(e.fields.version,t.fields.version))&&(this.addTiddler(e),!0)},exports.getCreationFields=function(){if('yes'===this.getTiddlerText(r,'').toLowerCase())return{};var e={created:new Date},t=this.getTiddlerText(i);return t&&(e.creator=t),e},exports.getModificationFields=function(){if('yes'===this.getTiddlerText(r,'').toLowerCase())return{};var e=Object.create(null),t=this.getTiddlerText(i);return e.modified=new Date,t&&(e.modifier=t),e},exports.getTiddlers=function(i){i=i||Object.create(null);var e,r=this,s=i.sortField||'title',n=[],t=[];for(this.each(function(e,t){!i.includeSystem&&r.isSystemTiddler(t)||i.excludeTag&&e.hasTag(i.excludeTag)||n.push(e)}),n.sort(function(e,t){e=e.fields[s].toLowerCase()||'',t=t.fields[s].toLowerCase()||'';return e<t?-1:t<e?1:0}),e=0;e<n.length;e++)t.push(n[e].fields.title);return t},exports.countTiddlers=function(e){e=this.getTiddlers({excludeTag:e});return $tw.utils.count(e)},exports.makeTiddlerIterator=function(e){var i=this;return e=$tw.utils.isArray(e)?e.slice(0):Object.keys(e),function(t){e.forEach(function(e){t(i.getTiddler(e),e)})}},exports.sortTiddlers=function(e,l,d,a,o,c){var u=this;e.sort(function(e,t){var i,r,s,n;return'title'!==l&&(i=u.getTiddler(e),r=u.getTiddler(t),e=i&&i.fields[l]||'',t=r&&r.fields[l]||''),i=Number(e),r=Number(t),!o||isNaN(i)&&isNaN(r)?$tw.utils.isDate(e)&&$tw.utils.isDate(t)?d?t-e:e-t:c?d?t.localeCompare(e,void 0,{numeric:!0,sensitivity:'base'}):e.localeCompare(t,void 0,{numeric:!0,sensitivity:'base'}):(e=String(e),t=String(t),a||(e=e.toLowerCase(),t=t.toLowerCase()),d?t.localeCompare(e):e.localeCompare(t)):(s=i,n=r,isNaN(s)&&!isNaN(n)?d?-1:1:!isNaN(s)&&isNaN(n)?d?1:-1:d?n-s:s-n)})},exports.forEachTiddler=function(){for(var e,t=0,i=2<=arguments.length?arguments[t++]:{},r=arguments[t++],s=this.getTiddlers(i),n=0;n<s.length;n++)(e=this.getTiddler(s[n]))&&r.call(this,e.fields.title,e)},exports.extractLinks=function(e){var s=[],n=function(e){for(var t=0;t<e.length;t++){var i,r=e[t];'link'===r.type&&r.attributes.to&&'string'===r.attributes.to.type&&(i=r.attributes.to.value,-1===s.indexOf(i)&&s.push(i)),r.children&&n(r.children)}};return n(e),s},exports.getTiddlerLinks=function(t){var i=this;return this.getCacheForTiddler(t,'links',function(){var e=i.parseTiddler(t);return e?i.extractLinks(e.tree):[]})},exports.getTiddlerBacklinks=function(i){var r=this,e=this.getIndexer('BacklinksIndexer'),s=e&&e.lookup(i);return s||(s=[],this.forEachTiddler(function(e,t){-1!==r.getTiddlerLinks(e).indexOf(i)&&s.push(e)})),s},exports.getMissingTitles=function(){var i=this,r=[];return this.forEachTiddler(function(e,t){e=i.getTiddlerLinks(e);$tw.utils.each(e,function(e){i.tiddlerExists(e)||i.isShadowTiddler(e)||-1!==r.indexOf(e)||r.push(e)})}),r},exports.getOrphanTitles=function(){var i=this,r=this.getTiddlers();return this.forEachTiddler(function(e,t){e=i.getTiddlerLinks(e);$tw.utils.each(e,function(e){e=r.indexOf(e);-1!==e&&r.splice(e,1)})}),r},exports.getTiddlersWithTag=function(t){var i=this,e=this.getIndexer('TagIndexer');return e&&e.subIndexers[3].lookup(t)||this.getGlobalCache('taglist-'+t,function(){var e=i.getTagMap();return i.sortByList(e[t],t)})},exports.getTagMap=function(){var r=this;return this.getGlobalCache('tagmap',function(){function i(e,t){if(e)for(var i=0;i<e.length;i++){var r=e[i];$tw.utils.hop(s,r)?s[r].push(t):s[r]=[t]}}var s=Object.create(null);return r.eachShadow(function(e,t){r.tiddlerExists(t)||(e=r.getTiddler(t),i(e.fields.tags,t))}),r.each(function(e,t){i(e.fields.tags,t)}),s})},exports.findListingsOfTiddler=function(i,r){r=r||'list';var s=[];return this.each(function(e,t){e=$tw.utils.parseStringArray(e.fields[r]);e&&-1!==e.indexOf(i)&&s.push(t)}),s},exports.sortByList=function(e,t){var n=this,l=Object.create(null);var i=this.getTiddlerList(t);if(e&&0!==e.length){for(var r,d=[],s=0;s<i.length;s++)r=i[s],-1!==e.indexOf(r)&&d.push(r);for(s=0;s<e.length;s++)r=e[s],-1===i.indexOf(r)&&d.push(r);var a=d.slice(0);for(s=0;s<a.length;s++)(function e(t){var i,r,s;$tw.utils.hop(l,t)||(l[t]=!0,i=-1,(s=n.getTiddler(t))&&(r=s.fields['list-before'],s=s.fields['list-after'],''===r?i=0:''===s?i=d.length:r?(e(r),i=d.indexOf(r)):s&&(e(s),0<=(i=d.indexOf(s))&&++i),-1===i||0<=(s=d.indexOf(t))&&i!==s&&(d.splice(s,1),s<=i&&i--,d.splice(i,0,t))))})(r=a[s]);return d}return[]},exports.getSubTiddler=function(e,t){e=this.getPluginInfo(e)||this.getTiddlerDataCached(e);if(e&&e.tiddlers){t=e.tiddlers[t];if(t)return new $tw.Tiddler(t)}return null},exports.getTiddlerAsJson=function(e){var i=this.getTiddler(e);if(i){var r=Object.create(null);return $tw.utils.each(i.fields,function(e,t){r[t]=i.getFieldString(t)}),JSON.stringify(r)}return JSON.stringify({title:e})},exports.getTiddlersAsJson=function(e,t){for(var i=this.filterTiddlers(e),t=void 0===t?$tw.config.preferences.jsonSpaces:t,r=[],s=0;s<i.length;s++){var n=this.getTiddler(i[s]);if(n){var l,d=new Object;for(l in n.fields)d[l]=n.getFieldString(l);r.push(d)}}return JSON.stringify(r,null,t)},exports.getTiddlerDataCached=function(e,t){var i=this,r=e;return r instanceof $tw.Tiddler||(r=this.getTiddler(r)),r&&this.getCacheForTiddler(r.fields.title,'data',function(){var e=i.getTiddlerData(r.fields.title,void 0);return $tw.utils.deepFreeze(e),e})||t},exports.getTiddlerData=function(e,t){var i,r=e;if(r instanceof $tw.Tiddler||(r=this.getTiddler(r)),r&&r.fields.text)switch(r.fields.type){case'application/json':try{i=JSON.parse(r.fields.text)}catch(e){return t}return i;case'application/x-tiddler-dictionary':return $tw.utils.parseFields(r.fields.text)}return t},exports.extractTiddlerDataItem=function(e,t,i){var r,e=this.getTiddlerDataCached(e,Object.create(null));return e&&$tw.utils.hop(e,t)&&(r=e[t]),'string'==typeof r||'number'==typeof r?r.toString():i},exports.setTiddlerData=function(e,t,i){var r=this.getTiddler(e),e={title:e};r&&'application/x-tiddler-dictionary'===r.fields.type?e.text=$tw.utils.makeTiddlerDictionary(t):(e.type='application/json',e.text=JSON.stringify(t,null,$tw.config.preferences.jsonSpaces)),this.addTiddler(new $tw.Tiddler(this.getCreationFields(),r,i,e,this.getModificationFields()))},exports.getTiddlerList=function(e,t,i){if(i)return $tw.utils.parseStringArray(this.extractTiddlerDataItem(e,i,''));t=t||'list';e=this.getTiddler(e);return e?($tw.utils.parseStringArray(e.fields[t])||[]).slice(0):[]},exports.getGlobalCache=function(e,t){return this.globalCache=this.globalCache||Object.create(null),$tw.utils.hop(this.globalCache,e)||(this.globalCache[e]=t()),this.globalCache[e]},exports.clearGlobalCache=function(){this.globalCache=Object.create(null)},exports.getCacheForTiddler=function(e,t,i){this.caches=this.caches||Object.create(null);var r=this.caches[e];return r&&r[t]||(r||(r=Object.create(null),this.caches[e]=r),r[t]=i()),r[t]},exports.clearCache=function(e){e?(this.caches=this.caches||Object.create(null),$tw.utils.hop(this.caches,e)&&delete this.caches[e]):this.caches=Object.create(null)},exports.initParsers=function(e){$tw.Wiki.parsers={};$tw.modules.forEachModuleOfType('parser',function(e,t){for(var i in t)$tw.utils.hop(t,i)&&($tw.Wiki.parsers[i]=t[i])}),$tw.Wiki.parsers['application/octet-stream']&&Object.keys($tw.config.contentTypeInfo).forEach(function(e){$tw.utils.hop($tw.Wiki.parsers,e)||'base64'!==$tw.config.contentTypeInfo[e].encoding||($tw.Wiki.parsers[e]=$tw.Wiki.parsers['application/octet-stream'])})},exports.parseText=function(e,t,i){t=t||'',i=i||{};var r=$tw.Wiki.parsers[e];return!r&&$tw.utils.getFileExtensionInfo(e)&&(r=$tw.Wiki.parsers[$tw.utils.getFileExtensionInfo(e).type]),(r=r||$tw.Wiki.parsers[i.defaultType||'text/vnd.tiddlywiki'])?new r(e,t,{parseAsInline:i.parseAsInline,wiki:this,_canonical_uri:i._canonical_uri}):null},exports.parseTiddler=function(e,t){var i=(t=$tw.utils.extend({},t)).parseAsInline?'inlineParseTree':'blockParseTree',r=this.getTiddler(e),s=this;return r?this.getCacheForTiddler(e,i,function(){return r.hasField('_canonical_uri')&&(t._canonical_uri=r.fields._canonical_uri),s.parseText(r.fields.type,r.fields.text,t)}):null},exports.parseTextReference=function(e,t,i,r){var s,n;if(r.subTiddler)s=this.getSubTiddler(e,r.subTiddler);else if(s=this.getTiddler(e),'text'===t||!t&&!i)return this.getTiddlerText(e),this.parseTiddler(e,r);if('text'===t||!t&&!i)return s&&s.fields?this.parseText(s.fields.type,s.fields.text,r):null;if(t){if('title'===t)n=e;else{if(!s||!s.hasField(t))return null;n=s.fields[t]}return this.parseText('text/vnd.tiddlywiki',n.toString(),r)}return i?(this.getTiddlerText(e),void 0===(n=this.extractTiddlerDataItem(s,i,void 0))?null:this.parseText('text/vnd.tiddlywiki',n,r)):void 0},exports.makeWidget=function(e,t){t=t||{};var i={type:'widget',children:[]},r=i;return $tw.utils.each(t.variables,function(e,t){e={type:'set',attributes:{name:{type:'string',value:t},value:{type:'string',value:e}},children:[]};r.children=[e],r=e}),r.children=e?e.tree:[],new s.widget(i,{wiki:this,document:t.document||$tw.fakeDocument,parentWidget:t.parentWidget})},exports.makeTranscludeWidget=function(e,t){var i={tree:[{type:'element',tag:'div',children:[]}]},r={type:'importvariables',attributes:{filter:{name:'filter',type:'string'}},isBlock:!1,children:[]},e={type:'transclude',attributes:{recursionMarker:{name:'recursionMarker',type:'string',value:(t=t||{}).recursionMarker||'yes'},tiddler:{name:'tiddler',type:'string',value:e}},isBlock:!t.parseAsInline};return t.importVariables||t.importPageMacros?(t.importVariables?r.attributes.filter.value=t.importVariables:t.importPageMacros&&(r.attributes.filter.value='[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]'),i.tree[0].children.push(r),r.children.push(e)):i.tree[0].children.push(e),t.field&&(e.attributes.field={type:'string',value:t.field}),t.mode&&(e.attributes.mode={type:'string',value:t.mode}),t.children&&(e.children=t.children),this.makeWidget(i,t)},exports.renderText=function(e,t,i,r){r=r||{};i=this.parseText(t,i,r),i=this.makeWidget(i,r),r=$tw.fakeDocument.createElement('div');return i.render(r,null),'text/html'===e?r.innerHTML:r.textContent},exports.renderTiddler=function(e,t,i){i=i||{};t=this.parseTiddler(t,i),t=this.makeWidget(t,i),i=$tw.fakeDocument.createElement('div');return t.render(i,null),'text/html'===e?i.innerHTML:'text/plain-formatted'===e?i.formattedTextContent:i.textContent},exports.search=function(t,c){var e,i,u,f=this,r=(c=c||{},c.caseSensitive?'':'i'),s=c.anchored?'^':'';if(c.literal)u=0===t.length?null:[new RegExp('('+s+$tw.utils.escapeRegExp(t)+')',r)];else if(c.whitespace)i=[],$tw.utils.each(t.split(/\\s+/g),function(e){e&&i.push($tw.utils.escapeRegExp(e))}),u=[new RegExp('('+s+i.join('\\\\s+')+')',r)];else if(c.regexp)try{u=[new RegExp('('+t+')',r)]}catch(e){u=null,console.log('Regexp error parsing /('+t+')/'+r+': ',e)}else if(1===(i=t.split(/ +/)).length&&''===i[0])u=null;else for(u=[],e=0;e<i.length;e++)u.push(new RegExp('('+s+$tw.utils.escapeRegExp(i[e])+')',r));var h=[];c.field&&($tw.utils.isArray(c.field)?$tw.utils.each(c.field,function(e){e&&h.push(e)}):h.push(c.field)),0!==h.length||c.excludeField||(h.push('title'),h.push('tags'),h.push('text'));var n=[];if((c.source||this.each)(function(e,t){(function(e){if(!u)return!0;var t,i=u.slice(),r=(r=f.getTiddler(e))||new $tw.Tiddler({title:e,text:'',type:'text/vnd.tiddlywiki'}),s=$tw.config.contentTypeInfo[r.fields.type]||$tw.config.contentTypeInfo['text/vnd.tiddlywiki'];c.excludeField?(t=Object.keys(r.fields),$tw.utils.each(h,function(e){e=t.indexOf(e);-1!==e&&t.splice(e,1)})):t=h;for(var n=0;0<i.length&&n<t.length;n++){var l=t[n];if('text'===l&&'utf8'!==s.encoding)break;var d,a=r.fields[l];if(a)if($tw.utils.isArray(a))for(var o=0;o<a.length;o++)for(d=0;d<i.length;)i[d].test(a[o])?i.splice(d,1):d++;else for(a=r.getFieldString(l),d=0;d<i.length;)i[d].test(a)?i.splice(d,1):d++}return 0==i.length})(t)!==c.invert&&n.push(t)}),c.exclude)for(e=0;e<c.exclude.length;e++){var l=n.indexOf(c.exclude[e]);-1!==l&&n.splice(l,1)}return n},exports.getTiddlerText=function(e,t){var i=this.getTiddler(e);return i?i.hasField('_is_skinny')?(this.dispatchEvent('lazyLoad',e),null):i.fields.text||'':t},exports.checkTiddlerText=function(e,t,i){i=i||{};e=this.getTiddlerText(e,'');return i.noTrim||(e=e.trim()),i.caseSensitive||(e=e.toLowerCase(),t=t.toLowerCase()),e===t},exports.readFiles=function(e,t){var i;'function'==typeof t?(i=t,t={}):i=t.callback;for(var r=[],s=e.length,n=function(e){r.push.apply(r,e),0==--s&&i(r)},l=0;l<e.length;l++)this.readFile(e[l],$tw.utils.extend({},t,{callback:n}));return e.length},exports.readFile=function(e,t){var i;'function'==typeof t?(i=t,t={}):i=t.callback;var r,s=e.type;''!==s&&s||(-1===(r=e.name.lastIndexOf('.'))||(n=$tw.utils.getFileExtensionInfo(e.name.substr(r)))&&(s=n.type));var n=$tw.config.contentTypeInfo[s],n=!!n&&'base64'===n.encoding;$tw.log.IMPORT&&console.log('Importing file \\''+e.name+'\\', type: \\''+s+'\\', isBinary: '+n),!0!==$tw.hooks.invokeHook('th-importing-file',{file:e,type:s,isBinary:n,callback:i})&&this.readFileContent(e,s,n,t.deserializer,i)},exports.readFileContent=function(r,s,n,l,d){var a=this,e=new FileReader;e.onload=function(e){var t=e.target.result,e={title:r.name||'Untitled'};!n||-1!==(i=t.indexOf(','))&&(t=t.substr(i+1));var i=$tw.utils.extractEncryptedStoreArea(t);i?$tw.utils.decryptStoreAreaInteractive(i,function(e){d(e)}):d(a.deserializeTiddlers(s,t,e,{deserializer:l}))},n?e.readAsDataURL(r):e.readAsText(r)},exports.findDraft=function(i){var r=void 0;return this.forEachTiddler({includeSystem:!0},function(e,t){t.fields['draft.title']&&t.fields['draft.of']===i&&(r=e)}),r},exports.isDraftModified=function(e){var t=this.getTiddler(e);if(!t.isDraft())return!1;e=this.getTiddler(t.fields['draft.of'])||new $tw.Tiddler({text:'',tags:[]});return t.fields['draft.title']!==t.fields['draft.of']||!t.isEqual(e,['created','modified','title','draft.title','draft.of'])},exports.addToHistory=function(e,t,i){new $tw.Story({wiki:this,historyTitle:i}).addToHistory(e,t),console.log('$tw.wiki.addToHistory() is deprecated since V5.1.23! Use the this.story.addToHistory() from the story-object!')},exports.addToStory=function(e,t,i,r){new $tw.Story({wiki:this,storyTitle:i}).addToStory(e,t,r),console.log('$tw.wiki.addToStory() is deprecated since V5.1.23! Use the this.story.addToStory() from the story-object!')},exports.generateDraftTitle=function(e){for(var t,i=0,r=this.getTiddlerText('$:/status/UserName'),s=r?' by '+r:'';t='Draft '+(i?i+1+' ':'')+'of \\''+e+'\\''+s,i++,this.tiddlerExists(t););return t},exports.invokeUpgraders=function(e,t){var i=this;this.upgraderModules||(this.upgraderModules=[],$tw.modules.forEachModuleOfType('upgrader',function(e,t){t.upgrade&&i.upgraderModules.push(t)}));for(var r={},s=0;s<this.upgraderModules.length;s++){var n=this.upgraderModules[s].upgrade(this,e,t);$tw.utils.extend(r,n)}return r},exports.doesPluginRequireReload=function(e){return this.doesPluginInfoRequireReload(this.getPluginInfo(e)||this.getTiddlerDataCached(e))},exports.doesPluginInfoRequireReload=function(e){if(e){var t=!1;return $tw.utils.each(e.tiddlers,function(e){'application/javascript'===e.type&&$tw.utils.hop(e,'module-type')&&(t=!0)}),t}return null},exports.slugify=function(e,t){var i,r=this.getTiddler(e),r=r&&r.fields.slug?r.fields.slug:$tw.utils.transliterate(e.toString().toLowerCase()).replace(/\\s+/g,'-').replace(/[^\\w\\-\\.]+/g,'').replace(/\\-\\-+/g,'-').replace(/^-+/,'').replace(/-+$/,'');return r||(i=[],$tw.utils.each(e.split(''),function(e){i.push(e.charCodeAt(0).toString())}),r=i.join('-')),r}}();","type":"application/javascript","module-type":"wikimethod"},"$:/palettes/Blanca":{"name":"Blanca","description":"A clean white palette to let you focus","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","text":"alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #66cccc\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ffffff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #7897f3\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ccc\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #ffffff\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #7897f3\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #eeeeee\ntab-border-selected: #cccccc\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffeedd\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: #eee\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #ff9900\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"},"$:/palettes/Blue":{"name":"Blue","description":"A blue theme","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","text":"alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333353\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ddddff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #5959c0\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: #ccccdd\ntab-border-selected: #ccccdd\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #eeeeff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #666666\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #ffffff\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #ffffff\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #5959c0\ntoolbar-new-button: #5eb95e\ntoolbar-options-button: rgb(128, 88, 165)\ntoolbar-save-button: #0e90d2\ntoolbar-info-button: #0e90d2\ntoolbar-edit-button: rgb(243, 123, 29)\ntoolbar-close-button: #dd514c\ntoolbar-delete-button: #dd514c\ntoolbar-cancel-button: rgb(243, 123, 29)\ntoolbar-done-button: #5eb95e\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"},"$:/palettes/Muted":{"name":"Muted","description":"Bright tiddlers on a muted background","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","text":"alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #6f6f70\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #29a6ee\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #c2c1c2\nsidebar-foreground-shadow: rgba(255,255,255,0)\nsidebar-foreground: #d3d2d4\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #6f6f70\nsidebar-tab-background: #666667\nsidebar-tab-border-selected: #999\nsidebar-tab-border: #515151\nsidebar-tab-divider: #999\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: #999\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #d1d0d2\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #d5ad34\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"},"$:/palettes/ContrastLight":{"name":"Contrast (Light)","description":"High contrast and unambiguous (light version)","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","text":"alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #000\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #000\ntag-foreground: #fff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"},"$:/palettes/ContrastDark":{"name":"Contrast (Dark)","description":"High contrast and unambiguous (dark version)","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","text":"alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #000\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #fff\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #fff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"},"$:/palettes/CupertinoDark":{"tags":"$:/tags/Palette","name":"Cupertino Dark","description":"A macOS inspired dark palette","type":"application/x-tiddler-dictionary","text":"alert-background: #FF453A\nalert-border: #FF453A\nalert-highlight: #FFD60A\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #282828\nblockquote-bar: <<colour page-background>>\nbutton-foreground: <<colour background>>\ncode-background: <<colour pre-background>>\ncode-border: <<colour pre-border>>\ncode-foreground: rgba(255, 255, 255, 0.54)\ndirty-indicator: #FF453A\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour tiddler-info-background>>\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: #3F638B\ndropdown-tab-background: #323232\ndropzone-background: #30D158\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: #BF5AF2\nexternal-link-foreground: #32D74B\nforeground: #FFFFFF\nmenubar-background: #464646\nmenubar-foreground: #ffffff\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(255, 255, 255, 0.54)\nmodal-backdrop: <<colour page-background>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour background>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: #98989D\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #323232\npre-background: #464646\npre-border: transparent\nprimary: #0A84FF\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour background>>\nsidebar-controls-foreground-hover: #FF9F0A\nsidebar-controls-foreground: #8E8E93\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground-hover: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground: rgba(255, 255, 255, 0.38)\nsidebar-tab-background-selected: #3F638B\nsidebar-tab-background: <<colour background>>\nsidebar-tab-border-selected: <<colour background>>\nsidebar-tab-border: <<colour background>>\nsidebar-tab-divider: <<colour background>>\nsidebar-tab-foreground-selected: rgba(255, 255, 255, 0.87)\nsidebar-tab-foreground: rgba(255, 255, 255, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(255, 255, 255, 0.7)\nsidebar-tiddler-link-foreground: rgba(255, 255, 255, 0.54)\nsite-title-foreground: #ffffff\nstatic-alert-foreground: #B4B4B4\ntab-background-selected: #3F638B\ntab-background: <<colour page-background>>\ntab-border-selected: <<colour page-background>>\ntab-border: <<colour page-background>>\ntab-divider: <<colour page-background>>\ntab-foreground-selected: rgba(255, 255, 255, 0.87)\ntab-foreground: rgba(255, 255, 255, 0.54)\ntable-border: #464646\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #48484A\ntag-foreground: #323232\ntiddler-background: <<colour background>>\ntiddler-border: transparent\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: #48484A\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: rgba(255, 255, 255, 0.08)\ntiddler-editor-fields-even: rgba(255, 255, 255, 0.1)\ntiddler-editor-fields-odd: rgba(255, 255, 255, 0.04)\ntiddler-info-background: #1E1E1E\ntiddler-info-border: #1E1E1E\ntiddler-info-tab-background: #3F638B\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #FFFFFF\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: #464646\nselection-background: #3F638B\nselection-foreground: #ffffff\nwikilist-background: <<colour page-background>>\nwikilist-button-background: #3F638B\nwikilist-button-foreground: <<colour foreground>>\nwikilist-button-open: #32D74B\nwikilist-button-open-hover: #32D74B\nwikilist-button-reveal: #0A84FF\nwikilist-button-reveal-hover: #0A84FF\nwikilist-button-remove: #FF453A\nwikilist-button-remove-hover: #FF453A\nwikilist-droplink-dragover: #32D74B\nwikilist-item: <<colour background>>\nwikilist-toolbar-background: <<colour background>>\nwikilist-title: <<colour foreground>>\nwikilist-title-svg: <<colour foreground>>\nwikilist-toolbar-foreground: <<colour foreground>>\nwikilist-url: <<colour muted-foreground>>\n"},"$:/palettes/DarkPhotos":{"created":"20150402111612188","description":"Good with dark photo backgrounds","modified":"20150402112344080","name":"DarkPhotos","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","text":"alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: \nbutton-foreground: \nbutton-border: \ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #ddd\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #336438\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #ccf\nsidebar-controls-foreground: #fff\nsidebar-foreground-shadow: rgba(0,0,0, 0.5)\nsidebar-foreground: #fff\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #eee\nsidebar-tab-background-selected: rgba(255,255,255, 0.8)\nsidebar-tab-background: rgba(255,255,255, 0.4)\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: rgba(255,255,255, 0.2)\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #aaf\nsidebar-tiddler-link-foreground: #ddf\nsite-title-foreground: #fff\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"},"$:/palettes/DesertSand":{"tags":"$:/tags/Palette","name":"Desert Sand","description":"A desert sand palette","type":"application/x-tiddler-dictionary","text":"alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #E9E0C7\nblockquote-bar: <<colour muted-foreground>>\nbutton-foreground: <<colour foreground>>\ncode-background: #F3EDDF\ncode-border: #C3BAA1\ncode-foreground: #ab3250\ndiff-delete-background: #bd8b8b\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #91c093\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #ad3434\ndownload-background: #6ca16c\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #E9E0C7\ndropdown-tab-background: #BAB29C\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #313163\nexternal-link-foreground: #555592\nforeground: #2D2A23\nmenubar-background: #CDC2A6\nmenubar-foreground: #5A5446\nmessage-background: #ECE5CF\nmessage-border: #D6CBAA\nmessage-foreground: #5f6e7d\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #8A8885\nmodal-footer-background: #CDC2A6\nmodal-footer-border: #9D998E\nmodal-header-border: #9D998E\nmuted-foreground: #9D998E\nnotification-background: #F0E9D7\nnotification-border: #939189\npage-background: #e0d3af\npre-background: #D6CBAA\npre-border: #CDC2A6\nprimary: #5B6F55\nselection-background: #9D947B\nselection-foreground: <<colour foreground>>\nselect-tag-background: #F0E9D7\nselect-tag-foreground: #2D2A23\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #2D2A23\nsidebar-controls-foreground: #867F69\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #867F69\nsidebar-muted-foreground-hover: #706A58\nsidebar-muted-foreground: #B3A98C\nsidebar-tab-background-selected: #e0d3af\nsidebar-tab-background: #A6A193\nsidebar-tab-border-selected: #C3BAA1\nsidebar-tab-border: #C3BAA1\nsidebar-tab-divider: #CDC2A6\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: #2D2A23\nsidebar-tiddler-link-foreground-hover: #433F35\nsidebar-tiddler-link-foreground: #706A58\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #A6A193\ntab-background-selected: #E9E0C7\ntab-background: #A6A193\ntab-border-selected: #C3BAA1\ntab-border: #C3BAA1\ntab-divider: #CDC2A6\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #2D2A23\ntable-border: #9D998E\ntable-footer-background: #8A8885\ntable-header-background: #B0AA98\ntag-background: #706A58\ntag-foreground: #E3D7B7\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #9D947B\ntiddler-controls-foreground-selected: #706A58\ntiddler-controls-foreground: #C3BAA1\ntiddler-editor-background: #E9E0C7\ntiddler-editor-border-image: #A6A193\ntiddler-editor-border: #A6A193\ntiddler-editor-fields-even: #D6CBAA\ntiddler-editor-fields-odd: #C3BAA1\ntiddler-info-background: #E3D7B7\ntiddler-info-border: #BAB29C\ntiddler-info-tab-background: #E9E0C7\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #867F69\ntiddler-title-foreground: #374464\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #8A8885\nvery-muted-foreground: #CDC2A6\nwikilist-background: <<colour page-background>>\nwikilist-item: #CDC2A6\nwikilist-info: #161512\nwikilist-title: #433F35\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: #706A58\nwikilist-button-open: #7db66a\nwikilist-button-open-hover: #56a556\nwikilist-button-reveal: #5a6c9e\nwikilist-button-reveal-hover: #454591\nwikilist-button-remove: #bc5972\nwikilist-button-remove-hover: #814040\nwikilist-toolbar-background: #CDC2A6\nwikilist-toolbar-foreground: #2D2A23\nwikilist-droplink-dragover: rgba(255,192,192,0.5)\nwikilist-button-background: #A6A193\nwikilist-button-foreground: #161512\n"},"$:/palettes/GruvboxDark":{"name":"Gruvbox Dark","description":"Retro groove color scheme","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","license":"https://github.com/morhetz/gruvbox","text":"alert-background: #cc241d\nalert-border: #cc241d\nalert-highlight: #d79921\nalert-muted-foreground: #504945\nbackground: #3c3836\nblockquote-bar: <<colour muted-foreground>>\nbutton-foreground: <<colour page-background>>\ncode-background: #504945\ncode-border: #504945\ncode-foreground: #fb4934\ndiff-delete-background: #fb4934\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #b8bb26\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #fb4934\ndownload-background: #b8bb26\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #665c54\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #ebdbb2\ndropdown-tab-background: #665c54\ndropzone-background: #98971a\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #d3869b\nexternal-link-foreground: #8ec07c\nforeground: #fbf1c7\nmenubar-background: #504945\nmenubar-foreground: <<colour foreground>>\nmessage-background: #83a598\nmessage-border: #83a598\nmessage-foreground: #3c3836\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #504945\nmodal-footer-background: #3c3836\nmodal-footer-border: #3c3836\nmodal-header-border: #3c3836\nmuted-foreground: #d5c4a1\nnotification-background: <<colour primary>>\nnotification-border: <<colour primary>>\npage-background: #282828\npre-background: #504945\npre-border: #504945\nprimary: #d79921\nselect-tag-background: #665c54\nselect-tag-foreground: <<colour foreground>>\nselection-background: #458588\nselection-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour page-background>>\nsidebar-controls-foreground-hover: #7c6f64\nsidebar-controls-foreground: #504945\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #fbf1c7\nsidebar-muted-foreground-hover: #7c6f64\nsidebar-muted-foreground: #504945\nsidebar-tab-background-selected: #bdae93\nsidebar-tab-background: #3c3836\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #bdae93\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #282828\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #458588\nsidebar-tiddler-link-foreground: #98971a\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #B48EAD\ntab-background-selected: #ebdbb2\ntab-background: #665c54\ntab-border-selected: #665c54\ntab-border: #665c54\ntab-divider: #bdae93\ntab-foreground-selected: #282828\ntab-foreground: #ebdbb2\ntable-border: #7c6f64\ntable-footer-background: #665c54\ntable-header-background: #504945\ntag-background: #d3869b\ntag-foreground: #282828\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #7c6f64\ntiddler-controls-foreground-selected: <<colour primary>>\ntiddler-controls-foreground: #665c54\ntiddler-editor-background: #32302f\ntiddler-editor-border-image: #282828\ntiddler-editor-border: #282828\ntiddler-editor-fields-even: #504945\ntiddler-editor-fields-odd: #7c6f64\ntiddler-info-background: #32302f\ntiddler-info-border: #ebdbb2\ntiddler-info-tab-background: #ebdbb2\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #7c6f64\ntiddler-title-foreground: #a89984\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #504945\nvery-muted-foreground: #bdae93\nwikilist-background: <<colour page-background>>\nwikilist-button-background: #acacac\nwikilist-button-foreground: <<colour button-foreground>>\nwikilist-item: <<colour background>>\nwikilist-toolbar-background: <<colour background>>\nwikilist-toolbar-foreground: <<colour foreground>>\nwikilist-title: <<colour foreground>>\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: <<colour muted-foreground>>\nwikilist-button-open-hover: <<colour primary>>\nwikilist-button-open: <<colour dropzone-background>>\nwikilist-button-remove: <<colour dirty-indicator>>\nwikilist-button-remove-hover: <<colour alert-background>>\nwikilist-droplink-dragover: <<colour dropzone-background>>\nwikilist-button-reveal: <<colour sidebar-tiddler-link-foreground-hover>>\nwikilist-button-reveal-hover: <<colour message-background>>\n"},"$:/palettes/Nord":{"name":"Nord","description":"An arctic, north-bluish color palette.","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","license":"MIT, arcticicestudio, https://github.com/arcticicestudio/nord/blob/develop/LICENSE.md","text":"alert-background: #D08770\nalert-border: #D08770\nalert-highlight: #B48EAD\nalert-muted-foreground: #4C566A\nbackground: #3b4252\nblockquote-bar: <<colour muted-foreground>>\nbutton-foreground: <<colour page-background>>\ncode-background: #2E3440\ncode-border: #2E3440\ncode-foreground: #BF616A\ndiff-delete-background: #BF616A\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #A3BE8C\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #BF616A\ndownload-background: #A3BE8C\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #ECEFF4\ndropdown-tab-background: #4C566A\ndropzone-background: #A3BE8C\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #5E81AC\nexternal-link-foreground: #8FBCBB\nforeground: #d8dee9\nmenubar-background: #2E3440\nmenubar-foreground: #d8dee9\nmessage-background: #2E3440\nmessage-border: #2E3440\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #3b4252\nmodal-footer-background: #3b4252\nmodal-footer-border: #3b4252\nmodal-header-border: #3b4252\nmuted-foreground: #4C566A\nnotification-background: <<colour primary>>\nnotification-border: #EBCB8B\npage-background: #2e3440\npre-background: #2E3440\npre-border: #2E3440\nprimary: #5E81AC\nselect-tag-background: #3b4252\nselect-tag-foreground: <<colour foreground>>\nselection-background: #5E81AC\nselection-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour page-background>>\nsidebar-controls-foreground-hover: #D8DEE9\nsidebar-controls-foreground: #4C566A\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #D8DEE9\nsidebar-muted-foreground-hover: #4C566A\nsidebar-muted-foreground: #4C566A\nsidebar-tab-background-selected: #ECEFF4\nsidebar-tab-background: #4C566A\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #4C566A\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #4C566A\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #A3BE8C\nsidebar-tiddler-link-foreground: #81A1C1\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #B48EAD\ntab-background-selected: #ECEFF4\ntab-background: #4C566A\ntab-border-selected: #4C566A\ntab-border: #4C566A\ntab-divider: #4C566A\ntab-foreground-selected: #4C566A\ntab-foreground: #D8DEE9\ntable-border: #4C566A\ntable-footer-background: #2e3440\ntable-header-background: #2e3440\ntag-background: #A3BE8C\ntag-foreground: #4C566A\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: \ntiddler-controls-foreground-selected: #EBCB8B\ntiddler-controls-foreground: #4C566A\ntiddler-editor-background: #2e3440\ntiddler-editor-border-image: #2e3440\ntiddler-editor-border: #3b4252\ntiddler-editor-fields-even: #2e3440\ntiddler-editor-fields-odd: #2e3440\ntiddler-info-background: #2e3440\ntiddler-info-border: #2e3440\ntiddler-info-tab-background: #2e3440\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #4C566A\ntiddler-title-foreground: #81A1C1\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #2d3038\nvery-muted-foreground: #2d3038\nwikilist-background: <<colour page-background>>\nwikilist-toolbar-background: <<colour background>>\nwikilist-item: <<colour background>>\nwikilist-title: <<colour foreground>>\nwikilist-info: <<colour muted-foreground>>\nwikilist-button-open: #A3BE8C\nwikilist-button-open-hover: #A3BE8C\nwikilist-button-reveal: #81A1C1\nwikilist-button-reveal-hover: #81A1C1\nwikilist-button-remove: #B48EAD\nwikilist-button-remove-hover: #B48EAD\n"},"$:/palettes/Rocker":{"name":"Rocker","description":"A dark theme","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","text":"alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #000\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #cc0000\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.0)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #000\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #ffbb99\nsidebar-tiddler-link-foreground: #cc0000\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffbb99\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #cc0000\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"},"$:/palettes/SolarFlare":{"name":"Solar Flare","description":"Warm, relaxing earth colours","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","text":": Background Tones\n\nbase03: #002b36\nbase02: #073642\n\n: Content Tones\n\nbase01: #586e75\nbase00: #657b83\nbase0: #839496\nbase1: #93a1a1\n\n: Background Tones\n\nbase2: #eee8d5\nbase3: #fdf6e3\n\n: Accent Colors\n\nyellow: #b58900\norange: #cb4b16\nred: #dc322f\nmagenta: #d33682\nviolet: #6c71c4\nblue: #268bd2\ncyan: #2aa198\ngreen: #859900\n\n: Additional Tones (RA)\n\nbase10: #c0c4bb\nviolet-muted: #7c81b0\nblue-muted: #4e7baa\n\nyellow-hot: #ffcc44\norange-hot: #eb6d20\nred-hot: #ff2222\nblue-hot: #2298ee\ngreen-hot: #98ee22\n\n: Palette\n\n: Do not use colour macro for background and foreground\nbackground: #fdf6e3\n download-foreground: <<colour background>>\n dragger-foreground: <<colour background>>\n dropdown-background: <<colour background>>\n modal-background: <<colour background>>\n sidebar-foreground-shadow: <<colour background>>\n tiddler-background: <<colour background>>\n tiddler-border: <<colour background>>\n tiddler-link-background: <<colour background>>\n tab-background-selected: <<colour background>>\n dropdown-tab-background-selected: <<colour tab-background-selected>>\nforeground: #657b83\n dragger-background: <<colour foreground>>\n tab-foreground: <<colour foreground>>\n tab-foreground-selected: <<colour tab-foreground>>\n sidebar-tab-foreground-selected: <<colour tab-foreground-selected>>\n sidebar-tab-foreground: <<colour tab-foreground>>\n sidebar-button-foreground: <<colour foreground>>\n sidebar-controls-foreground: <<colour foreground>>\n sidebar-foreground: <<colour foreground>>\n: base03\n: base02\n: base01\n alert-muted-foreground: <<colour base01>>\n: base00\n code-foreground: <<colour base00>>\n message-foreground: <<colour base00>>\n tag-foreground: <<colour base00>>\n: base0\n sidebar-tiddler-link-foreground: <<colour base0>>\n: base1\n muted-foreground: <<colour base1>>\n blockquote-bar: <<colour muted-foreground>>\n dropdown-border: <<colour muted-foreground>>\n sidebar-muted-foreground: <<colour muted-foreground>>\n tiddler-title-foreground: <<colour muted-foreground>>\n site-title-foreground: <<colour tiddler-title-foreground>>\n: base2\n modal-footer-background: <<colour base2>>\n page-background: <<colour base2>>\n modal-backdrop: <<colour page-background>>\n notification-background: <<colour page-background>>\n code-background: <<colour page-background>>\n code-border: <<colour code-background>>\n pre-background: <<colour page-background>>\n pre-border: <<colour pre-background>>\n sidebar-tab-background-selected: <<colour page-background>>\n table-header-background: <<colour base2>>\n tag-background: <<colour base2>>\n tiddler-editor-background: <<colour base2>>\n tiddler-info-background: <<colour base2>>\n tiddler-info-tab-background: <<colour base2>>\n tab-background: <<colour base2>>\n dropdown-tab-background: <<colour tab-background>>\n: base3\n alert-background: <<colour base3>>\n message-background: <<colour base3>>\n: yellow\n: orange\n: red\n: magenta\n alert-highlight: <<colour magenta>>\n: violet\n external-link-foreground: <<colour violet>>\n: blue\n: cyan\n: green\n: base10\n tiddler-controls-foreground: <<colour base10>>\n: violet-muted\n external-link-foreground-visited: <<colour violet-muted>>\n: blue-muted\n primary: <<colour blue-muted>>\n download-background: <<colour primary>>\n tiddler-link-foreground: <<colour primary>>\n\nalert-border: #b99e2f\ndirty-indicator: #ff0000\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nmessage-border: #cfd6e6\nmodal-border: #999999\nselect-tag-background:\nselect-tag-foreground:\nsidebar-controls-foreground-hover:\nsidebar-muted-foreground-hover:\nsidebar-tab-background: #ded8c5\nsidebar-tiddler-link-foreground-hover:\nstatic-alert-foreground: #aaaaaa\ntab-border: #cccccc\n modal-footer-border: <<colour tab-border>>\n modal-header-border: <<colour tab-border>>\n notification-border: <<colour tab-border>>\n sidebar-tab-border: <<colour tab-border>>\n tab-border-selected: <<colour tab-border>>\n sidebar-tab-border-selected: <<colour tab-border-selected>>\ntab-divider: #d8d8d8\n sidebar-tab-divider: <<colour tab-divider>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-border: #dddddd\ntiddler-subtitle-foreground: #c0c0c0\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"},"$:/palettes/SolarizedDark":{"tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","description":"Precision dark colors for machines and people","license":"MIT, Ethan Schoonover, https://github.com/altercation/solarized/blob/master/LICENSE","name":"SolarizedDark","text":"alert-background: #073642\nalert-border: #93a1a1\nalert-highlight: #d33682\nalert-muted-foreground: #d33682\nbackground: #073642\nblockquote-bar: #d33682\nbutton-background: #073642\nbutton-border: #586e75\nbutton-foreground: #93a1a1\ncode-background: #073642\ncode-border: #586e75\ncode-foreground: #93a1a1\ndirty-indicator: inherit\ndownload-background: #859900\ndownload-foreground: #073642\ndragger-background: #073642\ndragger-foreground: #839496\ndropdown-background: #073642\ndropdown-border: #93a1a1\ndropdown-tab-background: #002b36\ndropdown-tab-background-selected: #073642\ndropzone-background: #859900\nexternal-link-background: inherit\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-foreground: #268bd2\nexternal-link-foreground-hover:\nexternal-link-foreground-visited: #268bd2\nforeground: #839496\nmessage-background: #002b36\nmessage-border: #586e75\nmessage-foreground: #839496\nmodal-backdrop: #657b83\nmodal-background: #002b36\nmodal-border: #586e75\nmodal-footer-background: #073642\nmodal-footer-border: #586e75\nmodal-header-border: #586e75\nmuted-foreground: #93a1a1\nnotification-background: #002b36\nnotification-border: #586e75\npage-background: #073642\npre-background: inherit\npre-border: #657b83\nprimary: #859900\nselect-tag-background: #002b36\nselect-tag-foreground: #839496\nsidebar-button-foreground: #93a1a1\nsidebar-controls-foreground: #93a1a1\nsidebar-controls-foreground-hover: #eee8d5\nsidebar-foreground: #93a1a1\nsidebar-foreground-shadow: transparent\nsidebar-muted-foreground: #839496\nsidebar-muted-foreground-hover: #93a1a1\nsidebar-tab-background: #002b36\nsidebar-tab-background-selected: #073642\nsidebar-tab-border: #073642\nsidebar-tab-border-selected: #839496\nsidebar-tab-divider: #002b36\nsidebar-tab-foreground: #657b83\nsidebar-tab-foreground-selected: #93a1a1\nsidebar-tiddler-link-foreground: #2aa198\nsidebar-tiddler-link-foreground-hover: #eee8d5\nsite-title-foreground: #d33682\nstatic-alert-foreground: #93a1a1\ntab-background: #073642\ntab-background-selected: #002b36\ntab-border: #586e75\ntab-border-selected: #93a1a1\ntab-divider: #93a1a1\ntab-foreground: #839496\ntab-foreground-selected: #93a1a1\ntable-border: #586e75\ntable-footer-background: #073642\ntable-header-background: #073642\ntag-background: #b58900\ntag-foreground: #002b36\ntiddler-background: #002b36\ntiddler-border: #586e75\ntiddler-controls-foreground: inherit\ntiddler-controls-foreground-hover: #d33682\ntiddler-controls-foreground-selected: #2aa198\ntiddler-editor-background: #002b36\ntiddler-editor-border: #073642\ntiddler-editor-border-image: #002b36\ntiddler-editor-fields-even: #002b36\ntiddler-editor-fields-odd: #073642\ntiddler-info-background: #073642\ntiddler-info-border: #657b83\ntiddler-info-tab-background: #002b36\ntiddler-link-background: #002b36\ntiddler-link-foreground: #2aa198\ntiddler-subtitle-foreground: #839496\ntiddler-title-foreground: #d33682\ntoolbar-cancel-button: #839496\ntoolbar-close-button: #839496\ntoolbar-delete-button: #dc322f\ntoolbar-done-button: #839496\ntoolbar-edit-button: #839496\ntoolbar-info-button: #839496\ntoolbar-new-button: #839496\ntoolbar-options-button: #839496\ntoolbar-save-button: inherit\nuntagged-background: #586e75\nvery-muted-foreground: #586e75\n"},"$:/palettes/SolarizedLight":{"tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","description":"Precision colors for machines and people","license":"MIT, Ethan Schoonover, https://github.com/altercation/solarized/blob/master/LICENSE","name":"SolarizedLight","text":"alert-background: #eee8d5\nalert-border: #586e75\nalert-highlight: #d33682\nalert-muted-foreground: #d33682\nbackground: #eee8d5\nblockquote-bar: #d33682\nbutton-background: #eee8d5\nbutton-border: #93a1a1\nbutton-foreground: #586e75\ncode-background: #eee8d5\ncode-border: #93a1a1\ncode-foreground: #586e75\ndirty-indicator: inherit\ndownload-background: #859900\ndownload-foreground: #eee8d5\ndragger-background: #eee8d5\ndragger-foreground: #657b83\ndropdown-background: #eee8d5\ndropdown-border: #586e75\ndropdown-tab-background: #fdf6e3\ndropdown-tab-background-selected: #eee8d5\ndropzone-background: #859900\nexternal-link-background: inherit\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-foreground: #268bd2\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #268bd2\nforeground: #657b83\nmessage-background: #fdf6e3\nmessage-border: #93a1a1\nmessage-foreground: #657b83\nmodal-backdrop: #839496\nmodal-background: #fdf6e3\nmodal-border: #93a1a1\nmodal-footer-background: #eee8d5\nmodal-footer-border: #93a1a1\nmodal-header-border: #93a1a1\nmuted-foreground: #586e75\nnotification-background: #fdf6e3\nnotification-border: #93a1a1\npage-background: #eee8d5\npre-background: #eee8d5\npre-border: #839496\nprimary: #859900\nselect-tag-background: #fdf6e3\nselect-tag-foreground: #657b83\nsidebar-button-foreground: #586e75\nsidebar-controls-foreground: #586e75\nsidebar-controls-foreground-hover: #d33682\nsidebar-foreground: #586e75\nsidebar-foreground-shadow: transparent\nsidebar-muted-foreground: #657b83\nsidebar-muted-foreground-hover: #586e75\nsidebar-tab-background: #fdf6e3\nsidebar-tab-background-selected: #eee8d5\nsidebar-tab-border: #eee8d5\nsidebar-tab-border-selected: #657b83\nsidebar-tab-divider: #fdf6e3\nsidebar-tab-foreground: #839496\nsidebar-tab-foreground-selected: #586e75\nsidebar-tiddler-link-foreground: #2aa198\nsidebar-tiddler-link-foreground-hover: #002b36\nsite-title-foreground: #d33682\nstatic-alert-foreground: #586e75\ntab-background: #eee8d5\ntab-background-selected: #fdf6e3\ntab-border: #93a1a1\ntab-border-selected: #586e75\ntab-divider: #586e75\ntab-foreground: #657b83\ntab-foreground-selected: #586e75\ntable-border: #93a1a1\ntable-footer-background: #eee8d5\ntable-header-background: #eee8d5\ntag-background: #b58900\ntag-foreground: #fdf6e3\ntiddler-background: #fdf6e3\ntiddler-border: #93a1a1\ntiddler-controls-foreground: inherit\ntiddler-controls-foreground-hover: #d33682\ntiddler-controls-foreground-selected: #2aa198\ntiddler-editor-background: #fdf6e3\ntiddler-editor-border: #eee8d5\ntiddler-editor-border-image: #fdf6e3\ntiddler-editor-fields-even: #fdf6e3\ntiddler-editor-fields-odd: #eee8d5\ntiddler-info-background: #eee8d5\ntiddler-info-border: #839496\ntiddler-info-tab-background: #fdf6e3\ntiddler-link-background: #fdf6e3\ntiddler-link-foreground: #2aa198\ntiddler-subtitle-foreground: #657b83\ntiddler-title-foreground: #d33682\ntoolbar-cancel-button: #657b83\ntoolbar-close-button: #657b83\ntoolbar-delete-button: #dc322f\ntoolbar-done-button: #657b83\ntoolbar-edit-button: #657b83\ntoolbar-info-button: #657b83\ntoolbar-new-button: #657b83\ntoolbar-options-button: #657b83\ntoolbar-save-button: inherit\nuntagged-background: #586e75\nvery-muted-foreground: #93a1a1\n"},"$:/palettes/SpartanDay":{"tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","description":"Cold, spartan day colors","name":"Spartan Day","text":"alert-background: <<colour background>>\nalert-border: <<colour very-muted-foreground>>\nalert-highlight: <<colour very-muted-foreground>>\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #FAFAFA\nblockquote-bar: <<colour page-background>>\nbutton-background: transparent\nbutton-foreground: inherit\nbutton-border: <<colour tag-background>>\ncode-background: #ececec\ncode-border: #ececec\ncode-foreground: \ndirty-indicator: #c80000\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #FFFFFF\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: #F5F5F5\ndropzone-background: <<colour tag-background>>\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: \nexternal-link-foreground: \nforeground: rgba(0, 0, 0, 0.87)\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(0, 0, 0, 0.54)\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour very-muted-foreground>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: rgba(0, 0, 0, 0.54)\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #f4f4f4\npre-background: #ececec\npre-border: #ececec\nprimary: #3949ab\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #aeaeae\nsidebar-controls-foreground: #c6c6c6\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(0, 0, 0, 0.54)\nsidebar-muted-foreground-hover: rgba(0, 0, 0, 0.54)\nsidebar-muted-foreground: rgba(0, 0, 0, 0.38)\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: transparent\nsidebar-tab-border-selected: <<colour table-border>>\nsidebar-tab-border: transparent\nsidebar-tab-divider: <<colour table-border>>\nsidebar-tab-foreground-selected: rgba(0, 0, 0, 0.87)\nsidebar-tab-foreground: rgba(0, 0, 0, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(0, 0, 0, 0.87)\nsidebar-tiddler-link-foreground: rgba(0, 0, 0, 0.54)\nsite-title-foreground: rgba(0, 0, 0, 0.87)\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: transparent\ntab-border-selected: <<colour table-border>>\ntab-border: transparent\ntab-divider: <<colour table-border>>\ntab-foreground-selected: rgba(0, 0, 0, 0.87)\ntab-foreground: rgba(0, 0, 0, 0.54)\ntable-border: #d8d8d8\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #ec6\ntag-foreground: <<colour button-foreground>>\ntiddler-background: <<colour background>>\ntiddler-border: #f9f9f9\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: #e8e7e7\ntiddler-editor-fields-even: rgba(0, 0, 0, 0.1)\ntiddler-editor-fields-odd: rgba(0, 0, 0, 0.04)\ntiddler-info-background: #F5F5F5\ntiddler-info-border: #F5F5F5\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #000000\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: rgba(0, 0, 0, 0.12)\n"},"$:/palettes/SpartanNight":{"tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","description":"Dark spartan colors","name":"Spartan Night","text":"alert-background: <<colour background>>\nalert-border: <<colour very-muted-foreground>>\nalert-highlight: <<colour very-muted-foreground>>\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #303030\nblockquote-bar: <<colour page-background>>\nbutton-background: transparent\nbutton-foreground: inherit\nbutton-border: <<colour tag-background>>\ncode-background: <<colour pre-background>>\ncode-border: <<colour pre-border>>\ncode-foreground: rgba(255, 255, 255, 0.54)\ndirty-indicator: #c80000\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #424242\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: #050505\ndropzone-background: <<colour tag-background>>\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: #7c318c\nexternal-link-foreground: #9e3eb3\nforeground: rgba(255, 255, 255, 0.7)\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(255, 255, 255, 0.54)\nmodal-backdrop: <<colour page-background>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour background>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: rgba(255, 255, 255, 0.54)\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #212121\npre-background: #2a2a2a\npre-border: transparent\nprimary: #5656f3\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #494949\nsidebar-controls-foreground: #5d5d5d\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground-hover: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground: rgba(255, 255, 255, 0.38)\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: transparent\nsidebar-tab-border-selected: <<colour table-border>>\nsidebar-tab-border: transparent\nsidebar-tab-divider: <<colour table-border>>\nsidebar-tab-foreground-selected: rgba(255, 255, 255, 0.87)\nsidebar-tab-foreground: rgba(255, 255, 255, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(255, 255, 255, 0.7)\nsidebar-tiddler-link-foreground: rgba(255, 255, 255, 0.54)\nsite-title-foreground: rgba(255, 255, 255, 0.7)\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: transparent\ntab-border-selected: <<colour table-border>>\ntab-border: transparent\ntab-divider: <<colour table-border>>\ntab-foreground-selected: rgba(255, 255, 255, 0.87)\ntab-foreground: rgba(255, 255, 255, 0.54)\ntable-border: #3a3a3a\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #ec6\ntag-foreground: <<colour button-foreground>>\ntiddler-background: <<colour background>>\ntiddler-border: rgb(55,55,55)\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: rgba(255, 255, 255, 0.08)\ntiddler-editor-fields-even: rgba(255, 255, 255, 0.1)\ntiddler-editor-fields-odd: rgba(255, 255, 255, 0.04)\ntiddler-info-background: #454545\ntiddler-info-border: #454545\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #FFFFFF\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: rgba(255, 255, 255, 0.12)\n"},"$:/palettes/Twilight":{"tags":"$:/tags/Palette","author":"Thomas Elmiger","type":"application/x-tiddler-dictionary","name":"Twilight","description":"Delightful, soft darkness.","text":"alert-background: rgb(255, 255, 102)\nalert-border: rgb(232, 232, 125)\nalert-highlight: rgb(255, 51, 51)\nalert-muted-foreground: rgb(224, 82, 82)\nbackground: rgb(38, 38, 38)\nblockquote-bar: rgba(240, 196, 117, 0.7)\nbutton-background: rgb(63, 63, 63)\nbutton-border: rgb(127, 127, 127)\nbutton-foreground: rgb(179, 179, 179)\ncode-background: rgba(0,0,0,0.03)\ncode-border: rgba(0,0,0,0.08)\ncode-foreground: rgb(255, 94, 94)\ndiff-delete-background: #ffc9c9\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #aaefad\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: rgb(255, 94, 94)\ndownload-background: #19a974\ndownload-foreground: rgb(38, 38, 38)\ndragger-background: rgb(179, 179, 179)\ndragger-foreground: rgb(38, 38, 38)\ndropdown-background: rgb(38, 38, 38)\ndropdown-border: rgb(255, 255, 255)\ndropdown-tab-background: rgba(0,0,0,.1)\ndropdown-tab-background-selected: rgba(255,255,255,1)\ndropzone-background: #9eebcf\nexternal-link-background: inherit\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-foreground: rgb(179, 179, 255)\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: rgb(153, 153, 255)\nforeground: rgb(179, 179, 179)\nmessage-background: <<colour tag-foreground>>\nmessage-border: #96ccff\nmessage-foreground: <<colour tag-background>>\nmodal-backdrop: rgb(179, 179, 179)\nmodal-background: rgb(38, 38, 38)\nmodal-border: rgba(0,0,0,.5)\nmodal-footer-background: #f4f4f4\nmodal-footer-border: rgba(0,0,0,.1)\nmodal-header-border: rgba(0,0,0,.2)\nmuted-foreground: rgb(255, 255, 255)\nnotification-background: <<colour tag-foreground>>\nnotification-border: <<colour tag-background>>\npage-background: rgb(26, 26, 26)\npre-background: rgb(25, 25, 25)\npre-border: rgba(0,0,0,.2)\nprimary: rgb(255, 201, 102)\nselect-tag-background: \nselect-tag-foreground: \nsidebar-button-foreground: rgb(179, 179, 179)\nsidebar-controls-foreground: rgb(153, 153, 153)\nsidebar-controls-foreground-hover: <<colour tiddler-controls-foreground-hover>>\nsidebar-foreground: rgb(141, 141, 141)\nsidebar-foreground-shadow: transparent\nsidebar-muted-foreground: rgba(0, 0, 0, 0.5)\nsidebar-muted-foreground-hover: rgb(141, 141, 141)\nsidebar-tab-background: rgba(141, 141, 141, 0.2)\nsidebar-tab-background-selected: rgb(26, 26, 26)\nsidebar-tab-border: rgb(127, 127, 127)\nsidebar-tab-border-selected: rgb(127, 127, 127)\nsidebar-tab-divider: rgb(127, 127, 127)\nsidebar-tab-foreground: rgb(179, 179, 179)\nsidebar-tab-foreground-selected: rgb(179, 179, 179)\nsidebar-tiddler-link-foreground: rgb(179, 179, 179)\nsidebar-tiddler-link-foreground-hover: rgb(115, 115, 115)\nsite-title-foreground: rgb(255, 201, 102)\nstatic-alert-foreground: rgba(0,0,0,.3)\ntab-background: rgba(0,0,0,0.125)\ntab-background-selected: rgb(38, 38, 38)\ntab-border: rgb(255, 201, 102)\ntab-border-selected: rgb(255, 201, 102)\ntab-divider: rgb(255, 201, 102)\ntab-foreground: rgb(179, 179, 179)\ntab-foreground-selected: rgb(179, 179, 179)\ntable-border: rgba(255,255,255,.3)\ntable-footer-background: rgba(0,0,0,.4)\ntable-header-background: rgba(0,0,0,.1)\ntag-background: rgb(255, 201, 102)\ntag-foreground: rgb(25, 25, 25)\ntiddler-background: rgb(38, 38, 38)\ntiddler-border: rgba(240, 196, 117, 0.7)\ntiddler-controls-foreground: rgb(128, 128, 128)\ntiddler-controls-foreground-hover: rgba(255, 255, 255, 0.8)\ntiddler-controls-foreground-selected: rgba(255, 255, 255, 0.9)\ntiddler-editor-background: rgb(33, 33, 33)\ntiddler-editor-border: rgb(63, 63, 63)\ntiddler-editor-border-image: rgb(25, 25, 25)\ntiddler-editor-fields-even: rgb(33, 33, 33)\ntiddler-editor-fields-odd: rgb(28, 28, 28)\ntiddler-info-background: rgb(43, 43, 43)\ntiddler-info-border: rgb(25, 25, 25)\ntiddler-info-tab-background: rgb(43, 43, 43)\ntiddler-link-background: rgb(38, 38, 38)\ntiddler-link-foreground: rgb(204, 204, 255)\ntiddler-subtitle-foreground: rgb(255, 255, 255)\ntiddler-title-foreground: rgb(255, 192, 76)\ntoolbar-cancel-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-done-button: \ntoolbar-edit-button: \ntoolbar-info-button: \ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \nuntagged-background: rgb(255, 255, 255)\nvery-muted-foreground: rgba(240, 196, 117, 0.7)\n"},"$:/palettes/Vanilla":{"name":"Vanilla","description":"Pale and unobtrusive","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","text":"alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndiff-delete-background: #ffc9c9\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #aaefad\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #f4f4f4\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselection-background:\nselection-foreground:\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #aaaaaa\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #f4f4f4\nsidebar-tab-background: #e0e0e0\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: #e4e4e4\nsidebar-tab-foreground-selected:\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #999999\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\nwikilist-background: #e5e5e5\nwikilist-item: #fff\nwikilist-info: #000\nwikilist-title: #666\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: #aaa\nwikilist-button-open: #4fb82b\nwikilist-button-open-hover: green\nwikilist-button-reveal: #5778d8\nwikilist-button-reveal-hover: blue\nwikilist-button-remove: #d85778\nwikilist-button-remove-hover: red\nwikilist-toolbar-background: #d3d3d3\nwikilist-toolbar-foreground: #888\nwikilist-droplink-dragover: rgba(255,192,192,0.5)\nwikilist-button-background: #acacac\nwikilist-button-foreground: #000\n"},"$:/core/readme":{"text":"This plugin contains TiddlyWiki's core components, comprising:\n\n* JavaScript code modules\n* Icons\n* Templates needed to create TiddlyWiki's user interface\n* British English (''en-GB'') translations of the localisable strings used by the core\n"},"$:/library/sjcl.js/license":{"type":"text/plain","text":"SJCL is open. You can use, modify and redistribute it under a BSD\nlicense or under the GNU GPL, version 2.0.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/BSD-2-Clause\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n1. Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright\nnotice, this list of conditions and the following disclaimer in the\ndocumentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\nIS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\nTO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\nPARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nHOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\nLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/GPL-2.0\n\nThe Stanford Javascript Crypto Library (hosted here on GitHub) is a\nproject by the Stanford Computer Security Lab to build a secure,\npowerful, fast, small, easy-to-use, cross-browser library for\ncryptography in Javascript.\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University.\n\nThis program is free software; you can redistribute it and/or modify it\nunder the terms of the GNU General Public License as published by the\nFree Software Foundation; either version 2 of the License, or (at your\noption) any later version.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\nPublic License for more details.\n\nYou should have received a copy of the GNU General Public License along\nwith this program; if not, write to the Free Software Foundation, Inc.,\n59 Temple Place, Suite 330, Boston, MA 02111-1307 USA"},"$:/core/templates/MOTW.html":{"text":"\\rules only filteredtranscludeinline transcludeinline entity\n<!-- The following comment is called a MOTW comment and is necessary for the TiddlyIE Internet Explorer extension -->\n<!-- saved from url=(0021)https://tiddlywiki.com --> "},"$:/core/templates/alltiddlers.template.html":{"type":"text/vnd.tiddlywiki-html","text":"<!-- This template is provided for backwards compatibility with older versions of TiddlyWiki -->\n\n<$set name=\"exportFilter\" value=\"[!is[system]sort[title]]\">\n\n{{$:/core/templates/exporters/StaticRiver}}\n\n</$set>\n"},"$:/core/templates/canonical-uri-external-image":{"text":"<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external images.\n\nChange the `./images/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./images/<$view field=\"title\" format=\"doubleurlencoded\"/>"},"$:/core/templates/canonical-uri-external-raw":{"text":"<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external raw files that are stored in the same directory\n\n-->\n<$view field=\"title\" format=\"doubleurlencoded\"/>"},"$:/core/templates/canonical-uri-external-text":{"text":"<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external text files.\n\nChange the `./text/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./text/<$view field=\"title\" format=\"doubleurlencoded\"/>.tid"},"$:/core/templates/css-tiddler":{"text":"<!--\n\nThis template is used for saving CSS tiddlers as a style tag with data attributes representing the tiddler fields.\n\n-->`<style`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/css\">`<$view field=\"text\" format=\"text\" />`</style>`"},"$:/core/templates/exporters/CsvFile":{"tags":"$:/tags/Exporter","description":"{{$:/language/Exporters/CsvFile}}","extension":".csv","text":"<$macrocall $name=\"csvtiddlers\" filter=<<exportFilter>> format=\"quoted-comma-sep\" $output=\"text/raw\"/>\n"},"$:/core/templates/exporters/JsonFile":{"tags":"$:/tags/Exporter","description":"{{$:/language/Exporters/JsonFile}}","extension":".json","text":"<$macrocall $name=\"jsontiddlers\" filter=<<exportFilter>> $output=\"text/raw\"/>\n"},"$:/core/templates/exporters/StaticRiver":{"tags":"$:/tags/Exporter","description":"{{$:/language/Exporters/StaticRiver}}","extension":".html","text":"\\define tv-wikilink-template() #$uri_encoded$\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n<section class=\"tc-story-river tc-static-story-river\">\n{{$:/core/templates/exporters/StaticRiver/Content||$:/core/templates/html-tiddler}}\n</section>\n</body>\n</html>\n"},"$:/core/templates/exporters/StaticRiver/Content":{"text":"\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/static-tiddler}}}\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<<renderContent>>\n"},"$:/core/templates/exporters/TidFile":{"tags":"$:/tags/Exporter","description":"{{$:/language/Exporters/TidFile}}","extension":".tid","condition":"[<count>compare:lte[1]]","text":"\\define renderContent()\n{{{ $(exportFilter)$ +[limit[1]] ||$:/core/templates/tid-tiddler}}}\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<<renderContent>>"},"$:/core/save/all-external-js":{"text":"\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/core]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5-external-js.html}}\n"},"$:/core/templates/tiddlywiki5.js":{"text":"\\rules only filteredtranscludeinline transcludeinline codeinline\n\n/*\n{{ $:/core/copyright.txt ||$:/core/templates/plain-text-tiddler}}\n`*/\n`<!--~~ Library modules ~~-->\n{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/plain-text-tiddler}}}\n<!--~~ Boot prefix ~~-->\n{{ $:/boot/bootprefix.js ||$:/core/templates/plain-text-tiddler}}\n<!--~~ Core plugin ~~-->\n{{$:/core/templates/tiddlywiki5.js/tiddlers}}\n<!--~~ Boot kernel ~~-->\n{{ $:/boot/boot.js ||$:/core/templates/plain-text-tiddler}}\n"},"$:/core/templates/tiddlywiki5.js/tiddlers":{"text":"`\n$tw.preloadTiddlerArray(`<$text text=<<jsontiddlers \"[[$:/core]]\">>/>`);\n`\n"},"$:/core/templates/tiddlywiki5-external-js.html":{"text":"\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n{{$:/core/templates/MOTW.html}}<html lang=\"`<$text text={{{ [{$:/language}get[name]] }}}/>`\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"{{$:/core/copyright.txt}}\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/core/wiki/rawmarkup]] [all[shadows+tiddlers]tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n{{$:/core/templates/static.area}}\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n{{$:/core/templates/store.area.template.html}}\n<!--~~ Raw markup for the bottom of the body section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}\n</body>\n<script src=\"%24%3A%2Fcore%2Ftemplates%2Ftiddlywiki5.js\" onerror=\"alert('Error: Cannot load tiddlywiki.js');\"></script>\n</html>\n"},"$:/core/templates/html-div-skinny-tiddler":{"text":"<!--\n\nThis template is a variant of $:/core/templates/html-div-tiddler used for saving skinny tiddlers (with no text field)\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre></pre>\n</div>`\n"},"$:/core/templates/html-div-tiddler":{"text":"<!--\n\nThis template is used for saving tiddlers as an HTML DIV tag with attributes representing the tiddler fields.\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre>`<$view field=\"text\" format=\"htmlencoded\" />`</pre>\n</div>`\n"},"$:/core/templates/html-tiddler":{"text":"<!--\n\nThis template is used for saving tiddlers as raw HTML\n\n--><$view field=\"text\" format=\"htmlwikified\" />"},"$:/core/templates/javascript-tiddler":{"text":"<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields.\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\">`<$view field=\"text\" format=\"text\" />`</script>`"},"$:/core/templates/json-tiddler":{"text":"<!--\n\nThis template is used for saving tiddlers as raw JSON\n\n--><$text text=<<jsontiddler>>/>"},"$:/core/templates/module-tiddler":{"text":"<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields. The body of the tiddler is wrapped in a call to the `$tw.modules.define` function in order to define the body of the tiddler as a module\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\" data-module=\"yes\">$tw.modules.define(\"`<$view field=\"title\" format=\"jsencoded\" />`\",\"`<$view field=\"module-type\" format=\"jsencoded\" />`\",function(module,exports,require) {`<$view field=\"text\" format=\"text\" />`});\n</script>`"},"$:/core/templates/plain-text-tiddler":{"text":"<$view field=\"text\" format=\"text\" />"},"$:/core/templates/raw-static-tiddler":{"text":"<!--\n\nThis template is used for saving tiddlers as static HTML\n\n--><$view field=\"text\" format=\"plainwikified\" />"},"$:/core/save/all":{"text":"\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"},"$:/core/save/empty":{"text":"\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"},"$:/core/save/lazy-all":{"text":"\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] \n\\end\n\\define skinnySaveTiddlerFilter()\n[!is[system]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"},"$:/core/save/lazy-images":{"text":"\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[!is[system]is[image]] +[sort[title]] \n\\end\n\\define skinnySaveTiddlerFilter()\n[is[image]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"},"$:/core/templates/server/static.sidebar.wikitext":{"text":"\\whitespace trim\n<div class=\"tc-sidebar-scrollable\" style=\"overflow: auto;\">\n<div class=\"tc-sidebar-header\">\n<h1 class=\"tc-site-title\">\n<$transclude tiddler=\"$:/SiteTitle\"/>\n</h1>\n<div class=\"tc-site-subtitle\">\n<$transclude tiddler=\"$:/SiteSubtitle\"/>\n</div>\n<h2>\n</h2>\n<div class=\"tc-sidebar-lists\">\n<$list filter={{$:/DefaultTiddlers}}>\n<div class=\"tc-menu-list-subitem\">\n<$link><$text text=<<currentTiddler>>/></$link>\n</div>\n</$list>\n</div>\n<!-- Currently disabled the recent list as it is unweildy when the responsive narrow view kicks in\n<h2>\n{{$:/language/SideBar/Recent/Caption}}\n</h2>\n<div class=\"tc-sidebar-lists\">\n<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n</div>\n</div>\n</div>\n-->\n"},"$:/core/templates/server/static.tiddler.html":{"text":"\\whitespace trim\n\\define tv-wikilink-template() $uri_encoded$\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content={{$:/core/templates/version}} />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"%24%3A%2Fcore%2Ftemplates%2Fstatic.template.css\">\n<title><$view field=\"caption\" format=\"plainwikified\"><$view field=\"title\"/></$view>: <$view tiddler=\"$:/core/wiki/title\" format=\"plainwikified\"/></title>\n</head>\n<body class=\"tc-body\">\n<$transclude tiddler=\"$:/core/templates/server/static.sidebar.wikitext\" mode=\"inline\"/>\n<section class=\"tc-story-river\">\n<div class=\"tc-tiddler-frame\">\n<$transclude tiddler=\"$:/core/templates/server/static.tiddler.wikitext\" mode=\"inline\"/>\n</div>\n</section>\n</body>\n</html>"},"$:/core/templates/server/static.tiddler.wikitext":{"text":"\\whitespace trim\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<h2><$text text=<<currentTiddler>>/></h2>\n</div>\n</div>\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}}>\n<$view field=\"modifier\"/>\n</$link> <$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n<div class=\"tc-tags-wrapper\">\n<$list filter=\"[all[current]tags[]sort[title]]\">\n<a href={{{ [<currentTiddler>encodeuricomponent[]] }}}>\n<$macrocall $name=\"tag-pill\" tag=<<currentTiddler>>/>\n</a>\n</$list>\n</div>\n<div class=\"tc-tiddler-body\">\n<$transclude mode=\"block\"/>\n</div>\n"},"$:/core/templates/single.tiddler.window":{"text":"\\whitespace trim\n\\define containerClasses()\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$vars\n\ttv-config-toolbar-icons={{$:/config/Toolbar/Icons}}\n\ttv-config-toolbar-text={{$:/config/Toolbar/Text}}\n\ttv-config-toolbar-class={{$:/config/Toolbar/ButtonClass}}\n\ttv-show-missing-links={{$:/config/MissingLinks}}\n\tstoryviewTitle={{$:/view}}\n\tlanguageTitle={{{ [{$:/language}get[name]] }}}>\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n\n<$transclude mode=\"block\"/>\n\n</$navigator>\n\n</div>\n\n</$vars>\n"},"$:/core/templates/split-recipe":{"text":"<$list filter=\"[!is[system]]\">\ntiddler: <$view field=\"title\" format=\"urlencoded\"/>.tid\n</$list>\n"},"$:/core/templates/static-tiddler":{"text":"<a name=<<currentTiddler>>>\n<$transclude tiddler=\"$:/core/ui/ViewTemplate\"/>\n</a>"},"$:/core/templates/static.area":{"text":"<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawStaticContent]!has[draft.of]] ||$:/core/templates/raw-static-tiddler}}}\n{{$:/core/templates/static.content||$:/core/templates/html-tiddler}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\nThis file contains an encrypted ~TiddlyWiki. Enable ~JavaScript and enter the decryption password when prompted.\n</$reveal>\n<!-- ensure splash screen isn't shown when JS is disabled -->\n`<style>\n.tc-remove-when-wiki-loaded {display: none;}\n</style>`\n"},"$:/core/templates/static.content":{"text":"<!-- For Google, and people without JavaScript-->\nThis [[TiddlyWiki|https://tiddlywiki.com]] contains the following tiddlers:\n\n<ul>\n<$list filter=<<saveTiddlerFilter>>>\n<li><$view field=\"title\" format=\"text\"></$view></li>\n</$list>\n</ul>\n"},"$:/core/templates/static.template.css":{"text":"{{$:/boot/boot.css||$:/core/templates/plain-text-tiddler}}\n\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n"},"$:/core/templates/static.template.html":{"type":"text/vnd.tiddlywiki-html","text":"\\define tv-wikilink-template() static/$uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n{{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}}\n</body>\n</html>\n"},"$:/core/templates/static.tiddler.html":{"text":"\\define tv-wikilink-template() $uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n`<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"static.css\">\n<title>`<$view field=\"caption\"><$view field=\"title\"/></$view>: {{$:/core/wiki/title}}`</title>\n</head>\n<body class=\"tc-body\">\n`{{$:/StaticBanner||$:/core/templates/html-tiddler}}`\n<section class=\"tc-story-river tc-static-story-river\">\n`<$view tiddler=\"$:/core/ui/ViewTemplate\" format=\"htmlwikified\"/>`\n</section>\n</body>\n</html>\n`\n"},"$:/core/templates/store.area.template.html":{"text":"<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n`<div id=\"storeArea\" style=\"display:none;\">`\n<$list filter=<<saveTiddlerFilter>> template=\"$:/core/templates/html-div-tiddler\"/>\n<$list filter={{{ [<skinnySaveTiddlerFilter>] }}} template=\"$:/core/templates/html-div-skinny-tiddler\"/>\n`</div>`\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n`<!--~~ Encrypted tiddlers ~~-->`\n`<pre id=\"encryptedStoreArea\" type=\"text/plain\" style=\"display:none;\">`\n<$encrypt filter=<<saveTiddlerFilter>>/>\n`</pre>`\n</$reveal>"},"$:/core/templates/tid-tiddler":{"text":"<!--\n\nThis template is used for saving tiddlers in TiddlyWeb *.tid format\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>`\n`<$view field=\"text\" format=\"text\" />"},"$:/core/templates/tiddler-metadata":{"text":"<!--\n\nThis template is used for saving tiddler metadata *.meta files\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>"},"$:/core/templates/tiddlywiki5.html":{"text":"<$set name=\"saveTiddlerAndShadowsFilter\" filter=\"[subfilter<saveTiddlerFilter>] [subfilter<saveTiddlerFilter>plugintiddlers[]]\">\n`<!doctype html>\n`{{$:/core/templates/MOTW.html}}`<html lang=\"`<$text text={{{ [{$:/language}get[name]] }}}/>`\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n`{{{ [<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}`\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"`{{$:/core/copyright.txt}}`\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>`{{$:/core/wiki/title}}`</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/core/wiki/rawmarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}`\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}`\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n`{{$:/boot/boot.css||$:/core/templates/css-tiddler}}`\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n`{{$:/core/templates/static.area}}`\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n`{{$:/core/templates/store.area.template.html}}`\n<!--~~ Library modules ~~-->\n<div id=\"libraryModules\" style=\"display:none;\">\n`{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}`\n</div>\n<!--~~ Boot kernel prologue ~~-->\n<div id=\"bootKernelPrefix\" style=\"display:none;\">\n`{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Boot kernel ~~-->\n<div id=\"bootKernel\" style=\"display:none;\">\n`{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Raw markup for the bottom of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`\n</body>\n</html>`\n"},"$:/core/templates/version":{"text":"<<version>>"},"$:/core/templates/wikified-tiddler":{"text":"<$transclude />"},"$:/core/ui/AboveStory/tw2-plugin-check":{"tags":"$:/tags/AboveStory","text":"\\define lingo-base() $:/language/AboveStory/ClassicPlugin/\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]limit[1]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n<ul>\n\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]]\">\n\n<li>\n\n<$link><$view field=\"title\"/></$link>\n\n</li>\n\n</$list>\n\n</ul>\n\n</div>\n\n</$list>\n"},"$:/core/ui/Actions/new-image":{"tags":"$:/tags/Actions","description":"create a new image tiddler","text":"\\define get-type()\nimage/$(imageType)$\n\\end\n\\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$\n<$vars imageType={{$:/config/NewImageType}} textFieldTags={{$:/config/NewJournal/Tags}} tagsFieldTags={{$:/config/NewJournal/Tags!!tags}}>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=<<get-type>> tags=<<get-tags>>/>\n</$vars>\n"},"$:/core/ui/Actions/new-journal":{"tags":"$:/tags/Actions","description":"create a new journal tiddler","text":"\\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$\n<$vars journalTitleTemplate={{$:/config/NewJournal/Title}} textFieldTags={{$:/config/NewJournal/Tags}} tagsFieldTags={{$:/config/NewJournal/Tags!!tags}} journalText={{$:/config/NewJournal/Text}}>\n<$wikify name=\"journalTitle\" text=\"\"\"<$macrocall $name=\"now\" format=<<journalTitleTemplate>>/>\"\"\">\n<$reveal type=\"nomatch\" state=<<journalTitle>> text=\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<get-tags>> text={{{ [<journalTitle>get[]] }}}/>\n</$reveal>\n<$reveal type=\"match\" state=<<journalTitle>> text=\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<get-tags>> text=<<journalText>>/>\n</$reveal>\n</$wikify>\n</$vars>\n"},"$:/core/ui/Actions/new-tiddler":{"tags":"$:/tags/Actions","description":"create a new empty tiddler","text":"\\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$\n<$vars textFieldTags={{$:/config/NewTiddler/Tags}} tagsFieldTags={{$:/config/NewTiddler/Tags!!tags}}>\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<get-tags>>/>\n</$vars>\n"},"$:/core/ui/AdvancedSearch/Filter":{"tags":"$:/tags/AdvancedSearch","caption":"{{$:/language/Search/Filter/Caption}}","text":"\\define lingo-base() $:/language/Search/\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab--1498284803\" tag=\"$:/tags/AdvancedSearch\" beforeafter=\"$beforeafter$\" defaultState=\"$:/core/ui/AdvancedSearch/System\" actions=\"\"\"<$action-setfield $tiddler=\"$:/state/advancedsearch/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\define cancel-search-actions() <$list filter=\"[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]\" />\"\"\"><$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/advancedsearch}}/><$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/></$list>\n\n\\define input-accept-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\"\"\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\n\n\\define input-accept-variant-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\"\"\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\n\n<<lingo Filter/Hint>>\n\n<div class=\"tc-search tc-advanced-search\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<$macrocall $name=\"keyboard-driven-input\" tiddler=\"$:/temp/advancedsearch/input\" storeTitle=\"$:/temp/advancedsearch\" \n\t\trefreshTitle=\"$:/temp/advancedsearch/refresh\" selectionStateTitle=\"$:/temp/advancedsearch/selected-item\" type=\"search\" \n\t\ttag=\"input\" focus={{$:/config/Search/AutoFocus}} configTiddlerFilter=\"[[$:/temp/advancedsearch]]\" firstSearchFilterField=\"text\" \n\t\tinputAcceptActions=<<input-accept-actions>> inputAcceptVariantActions=<<input-accept-variant-actions>> \n\t\tinputCancelActions=<<cancel-search-actions>>/>\n</$keyboard>\n</$keyboard>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]\"><$transclude/></$list>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\n<div class=\"tc-search-results\">\n<<lingo Filter/Matches>>\n<$list filter={{$:/temp/advancedsearch}}>\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n</div>\n</$set>\n</$reveal>\n"},"$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear":{"tags":"$:/tags/AdvancedSearch/FilterButton","text":"<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\".tc-advanced-search input\"\"\" />\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n"},"$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete":{"tags":"$:/tags/AdvancedSearch/FilterButton","text":"<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button popup=<<qualify \"$:/state/filterDeleteDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/delete-button}}\n</$button>\n</$reveal>\n\n<$reveal state=<<qualify \"$:/state/filterDeleteDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\nAre you sure you wish to delete <<resultCount>> tiddler(s)?\n</$set>\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn\">\n<$action-deletetiddler $filter={{$:/temp/advancedsearch}}/>\nDelete these tiddlers\n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n"},"$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown":{"tags":"$:/tags/AdvancedSearch/FilterButton","text":"<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/filterDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</span>\n\n<$reveal state=<<qualify \"$:/state/filterDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$linkcatcher actions=\"\"\"<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text=<<navigateTo>>/><$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text=<<navigateTo>>/><$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/><$action-sendmessage $message=\"tm-focus-selector\" $param='.tc-advanced-search input' />\"\"\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Filter]]\"><$link to={{!!filter}}><$transclude field=\"description\"/></$link>\n</$list>\n</div>\n</div>\n</$linkcatcher>\n</$set>\n</$reveal>\n"},"$:/core/ui/AdvancedSearch/Filter/FilterButtons/export":{"tags":"$:/tags/AdvancedSearch/FilterButton","text":"<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$macrocall $name=\"exportButton\" exportFilter={{$:/temp/advancedsearch}} lingoBase=\"$:/language/Buttons/ExportTiddlers/\"/>\n</$reveal>\n"},"$:/core/ui/AdvancedSearch/Shadows":{"tags":"$:/tags/AdvancedSearch","caption":"{{$:/language/Search/Shadows/Caption}}","first-search-filter":"[all[shadows]search<userInput>sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]","text":"\\define lingo-base() $:/language/Search/\n\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab--1498284803\" tag=\"$:/tags/AdvancedSearch\" beforeafter=\"$beforeafter$\" defaultState=\"$:/core/ui/AdvancedSearch/System\" actions=\"\"\"<$action-setfield $tiddler=\"$:/state/advancedsearch/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\define cancel-search-actions() <$list filter=\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]\" />\"\"\"><$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/advancedsearch}}/><$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/></$list><$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\".tc-advanced-search input\"\"\"/>\n\n\\define input-accept-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\"\"\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\n\n\\define input-accept-variant-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\"\"\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\n\n<<lingo Shadows/Hint>>\n\n<div class=\"tc-search\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<$macrocall $name=\"keyboard-driven-input\" tiddler=\"$:/temp/advancedsearch/input\" storeTitle=\"$:/temp/advancedsearch\"\n\t\trefreshTitle=\"$:/temp/advancedsearch/refresh\" selectionStateTitle=\"$:/temp/advancedsearch/selected-item\" type=\"search\"\n\t\ttag=\"input\" focus={{$:/config/Search/AutoFocus}} configTiddlerFilter=\"[[$:/core/ui/AdvancedSearch/Shadows]]\"\n\t\tinputCancelActions=<<cancel-search-actions>> inputAcceptActions=<<input-accept-actions>> \n\t\tinputAcceptVariantActions=<<input-accept-variant-actions>> filterMinLength={{$:/config/Search/MinLength}}/>\n</$keyboard>\n</$keyboard>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo Shadows/Matches>>\n\n<$list filter=\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]\">\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"},"$:/core/ui/AdvancedSearch/Standard":{"tags":"$:/tags/AdvancedSearch","caption":"{{$:/language/Search/Standard/Caption}}","text":"\\define lingo-base() $:/language/Search/\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab--1498284803\" tag=\"$:/tags/AdvancedSearch\" beforeafter=\"$beforeafter$\" defaultState=\"$:/core/ui/AdvancedSearch/System\" actions=\"\"\"<$action-setfield $tiddler=\"$:/state/advancedsearch/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\define next-search-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/advancedsearch\" tag=\"$:/tags/SearchResults\" beforeafter=\"$beforeafter$\" defaultState={{$:/config/SearchResults/Default}} actions=\"\"\"<$action-setfield $tiddler=\"$:/state/advancedsearch/standard/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\define cancel-search-actions() <$list filter=\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]\" />\"\"\"><$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/advancedsearch}}/><$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/></$list><$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\".tc-advanced-search input\"\"\"/>\n\n\\define input-accept-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\"\"\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\n\n\\define input-accept-variant-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\"\"\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\n\n<<lingo Standard/Hint>>\n\n<div class=\"tc-search\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<$keyboard key=\"shift-alt-Right\" actions=<<next-search-tab>>>\n<$keyboard key=\"shift-alt-Left\" actions=<<next-search-tab \"before\">>>\n<$macrocall $name=\"keyboard-driven-input\" tiddler=\"$:/temp/advancedsearch/input\" storeTitle=\"$:/temp/advancedsearch\"\n\t\trefreshTitle=\"$:/temp/advancedsearch/refresh\" selectionStateTitle=\"$:/temp/advancedsearch/selected-item\" type=\"search\"\n\t\ttag=\"input\" focus={{$:/config/Search/AutoFocus}} inputCancelActions=<<cancel-search-actions>> \n\t\tinputAcceptActions=<<input-accept-actions>> inputAcceptVariantActions=<<input-accept-variant-actions>> \n\t\tconfigTiddlerFilter=\"[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]\"\n\t\tfilterMinLength={{$:/config/Search/MinLength}}/>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$vars userInput={{{ [[$:/temp/advancedsearch]get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}} searchListState=\"$:/temp/advancedsearch/selected-item\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude/>\n</$list>\n\"\"\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}} actions=\"\"\"<$action-setfield $tiddler=\"$:/state/advancedsearch/standard/currentTab\" text=<<currentTab>>/>\"\"\" explicitState=\"$:/state/tab/search-results/advancedsearch\" />\n</$list>\n</$vars>\n</$list>\n</$reveal>\n"},"$:/core/ui/AdvancedSearch/System":{"tags":"$:/tags/AdvancedSearch","caption":"{{$:/language/Search/System/Caption}}","first-search-filter":"[is[system]search<userInput>sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]","text":"\\define lingo-base() $:/language/Search/\n\\define set-next-input-tab(beforeafter:\"after\",stateTitle,tag,defaultState,currentTabTiddler) <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab--1498284803\" tag=\"$:/tags/AdvancedSearch\" beforeafter=\"$beforeafter$\" defaultState=\"$:/core/ui/AdvancedSearch/System\" actions=\"\"\"<$action-setfield $tiddler=\"$:/state/advancedsearch/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\define cancel-search-actions() <$list filter=\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]\" />\"\"\"><$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/advancedsearch}}/><$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/></$list><$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\".tc-advanced-search input\"\"\"/>\n\n\\define input-accept-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\"\"\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\n\n\\define input-accept-variant-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\"\"\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\n\n<<lingo System/Hint>>\n\n<div class=\"tc-search\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<$macrocall $name=\"keyboard-driven-input\" tiddler=\"$:/temp/advancedsearch/input\" storeTitle=\"$:/temp/advancedsearch\"\n\t\trefreshTitle=\"$:/temp/advancedsearch/refresh\" selectionStateTitle=\"$:/temp/advancedsearch/selected-item\"\n\t\ttype=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}} configTiddlerFilter=\"[[$:/core/ui/AdvancedSearch/System]]\"\n\t\tinputCancelActions=<<cancel-search-actions>> inputAcceptActions=<<input-accept-actions>> \n\t\tinputAcceptVariantActions=<<input-accept-variant-actions>> filterMinLength={{$:/config/Search/MinLength}}/>\n</$keyboard>\n</$keyboard>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo System/Matches>>\n\n<$list filter=\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]\">\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"},"$:/AdvancedSearch":{"icon":"$:/core/images/advanced-search-button","color":"#bbb","text":"<div class=\"tc-advanced-search\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\" default=\"$:/core/ui/AdvancedSearch/System\" actions=\"\"\"<$action-setfield $tiddler=\"$:/state/advancedsearch/currentTab\" text=<<currentTab>>/>\"\"\" explicitState=\"$:/state/tab--1498284803\"/>\n</div>\n"},"$:/core/ui/AlertTemplate":{"text":"<div class=\"tc-alert\">\n<div class=\"tc-alert-toolbar\">\n<$button class=\"tc-btn-invisible\"><$action-deletetiddler $tiddler=<<currentTiddler>>/>{{$:/core/images/cancel-button}}</$button>\n</div>\n<div class=\"tc-alert-subtitle\">\n<$wikify name=\"format\" text=<<lingo Tiddler/DateFormat>>>\n<$view field=\"component\"/> - <$view field=\"modified\" format=\"date\" template=<<format>>/> <$reveal type=\"nomatch\" state=\"!!count\" text=\"\"><span class=\"tc-alert-highlight\">({{$:/language/Count}}: <$view field=\"count\"/>)</span></$reveal>\n</$wikify>\n</div>\n<div class=\"tc-alert-body\">\n\n<$transclude/>\n\n</div>\n</div>\n"},"$:/core/ui/BinaryWarning":{"text":"\\define lingo-base() $:/language/BinaryWarning/\n<<lingo Prompt>>\n"},"$:/core/ui/Components/plugin-info":{"text":"\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define popup-state-macro()\n$(qualified-state)$-$(currentTiddler)$\n\\end\n\n\\define tabs-state-macro()\n$(popup-state)$-$(pluginInfoType)$\n\\end\n\n\\define plugin-icon-title()\n$(currentTiddler)$/icon\n\\end\n\n\\define plugin-disable-title()\n$:/config/Plugins/Disabled/$(currentTiddler)$\n\\end\n\n\\define plugin-table-body(type,disabledMessage,default-popup-state)\n<div class=\"tc-plugin-info-chunk tc-plugin-info-toggle\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/chevron-right}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-icon\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>>\n<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\n</$transclude>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-description\">\n<h1>\n''<$text text={{{ [<currentTiddler>get[name]] ~[<currentTiddler>split[/]last[1]] }}}/>'': <$view field=\"description\"><$view field=\"title\"/></$view> $disabledMessage$\n</h1>\n<h2>\n<$view field=\"title\"/>\n</h2>\n<h2>\n<div><em><$view field=\"version\"/></em></div>\n</h2>\n</div>\n\\end\n\n\\define plugin-info(type,default-popup-state)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info\">\n<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info tc-plugin-info-disabled\">\n<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\" disabledMessage:\"<$macrocall $name='lingo' title='Disabled/Status'/>\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>> default=\"\"\"$default-popup-state$\"\"\">\n<div class=\"tc-plugin-info-dropdown\">\n<div class=\"tc-plugin-info-dropdown-body\">\n<$list filter=\"[all[current]] -[[$:/core]]\">\n<div style=\"float:right;\">\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"yes\" tooltip={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}>\n<<lingo Disable/Caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"no\" tooltip={{$:/language/ControlPanel/Plugins/Enable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}>\n<<lingo Enable/Caption>>\n</$button>\n</$reveal>\n</div>\n</$list>\n<$set name=\"tabsList\" filter=\"[<currentTiddler>list[]] contents\">\n<$macrocall $name=\"tabs\" state=<<tabs-state-macro>> tabsList=<<tabsList>> default={{{ [enlist<tabsList>] }}} template=\"$:/core/ui/PluginInfo\"/>\n</$set>\n</div>\n</div>\n</$reveal>\n</$set>\n\\end\n\n<$macrocall $name=\"plugin-info\" type=<<plugin-type>> default-popup-state=<<default-popup-state>>/>\n"},"$:/core/ui/Components/tag-link":{"text":"<$link>\n<$set name=\"backgroundColor\" value={{!!color}}>\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\"/>\n</span>\n</$set>\n</$link>"},"$:/core/ui/ControlPanel/Advanced":{"tags":"$:/tags/ControlPanel/Info","caption":"{{$:/language/ControlPanel/Advanced/Caption}}","text":"{{$:/language/ControlPanel/Advanced/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Advanced]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/TiddlerFields\" explicitState=\"$:/state/tab--959111941\"/>\n</div>\n"},"$:/core/ui/ControlPanel/Appearance":{"tags":"$:/tags/ControlPanel","caption":"{{$:/language/ControlPanel/Appearance/Caption}}","text":"{{$:/language/ControlPanel/Appearance/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Appearance]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Theme\" explicitState=\"$:/state/tab--1963855381\"/>\n</div>\n"},"$:/core/ui/ControlPanel/Basics":{"tags":"$:/tags/ControlPanel/Info","caption":"{{$:/language/ControlPanel/Basics/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Basics/\n\n\\define show-filter-count(filter)\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $value=\"\"\"$filter$\"\"\"/>\n<$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" $value=\"\"\"$filter$\"\"\"/>\n<$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1498284803\" $value=\"$:/core/ui/AdvancedSearch/Filter\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-advanced-search input\"/>\n''<$count filter=\"\"\"$filter$\"\"\"/>''\n{{$:/core/images/advanced-search-button}}\n</$button>\n\\end\n\n|<<lingo Version/Prompt>> |''<<version>>'' |\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/status/UserName\"><<lingo Username/Prompt>></$link> |<$edit-text tiddler=\"$:/status/UserName\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/AnimationDuration\"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler=\"$:/config/AnimationDuration\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\" class=\"tc-edit-texteditor\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n|<$link to=\"$:/language/DefaultNewTiddlerTitle\"><<lingo NewTiddler/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/language/DefaultNewTiddlerTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Title\"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Title\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Text\"><<lingo NewJournal/Text/Prompt>></$link> |<$edit tiddler=\"$:/config/NewJournal/Text\" tag=\"textarea\" class=\"tc-edit-texteditor\" default=\"\"/> |\n|<$link to=\"$:/config/NewTiddler/Tags\"><<lingo NewTiddler/Tags/Prompt>></$link> |<$vars currentTiddler=\"$:/config/NewTiddler/Tags\" tagField=\"text\">{{||$:/core/ui/EditTemplate/tags}}<$list filter=\"[<currentTiddler>tags[]] +[limit[1]]\" variable=\"ignore\"><$button tooltip={{$:/language/ControlPanel/Basics/RemoveTags/Hint}}><<lingo RemoveTags>><$action-listops $tiddler=<<currentTiddler>> $field=\"text\" $subfilter={{{ [<currentTiddler>get[tags]] }}}/><$action-setfield $tiddler=<<currentTiddler>> tags=\"\"/></$button></$list></$vars> |\n|<$link to=\"$:/config/NewJournal/Tags\"><<lingo NewJournal/Tags/Prompt>></$link> |<$vars currentTiddler=\"$:/config/NewJournal/Tags\" tagField=\"text\">{{||$:/core/ui/EditTemplate/tags}}<$list filter=\"[<currentTiddler>tags[]] +[limit[1]]\" variable=\"ignore\"><$button tooltip={{$:/language/ControlPanel/Basics/RemoveTags/Hint}}><<lingo RemoveTags>><$action-listops $tiddler=<<currentTiddler>> $field=\"text\" $subfilter={{{ [<currentTiddler>get[tags]] }}}/><$action-setfield $tiddler=<<currentTiddler>> tags=\"\"/></$button></$list></$vars> |\n|<$link to=\"$:/config/AutoFocus\"><<lingo AutoFocus/Prompt>></$link> |{{$:/snippets/minifocusswitcher}} |\n|<<lingo Language/Prompt>> |{{$:/snippets/minilanguageswitcher}} |\n|<<lingo Tiddlers/Prompt>> |<<show-filter-count \"[!is[system]sort[title]]\">> |\n|<<lingo Tags/Prompt>> |<<show-filter-count \"[tags[]sort[title]]\">> |\n|<<lingo SystemTiddlers/Prompt>> |<<show-filter-count \"[is[system]sort[title]]\">> |\n|<<lingo ShadowTiddlers/Prompt>> |<<show-filter-count \"[all[shadows]sort[title]]\">> |\n|<<lingo OverriddenShadowTiddlers/Prompt>> |<<show-filter-count \"[is[tiddler]is[shadow]sort[title]]\">> |\n"},"$:/core/ui/ControlPanel/EditorTypes":{"tags":"$:/tags/ControlPanel/Advanced","caption":"{{$:/language/ControlPanel/EditorTypes/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/EditorTypes/\n\n<<lingo Hint>>\n\n<table>\n<tbody>\n<tr>\n<th><<lingo Type/Caption>></th>\n<th><<lingo Editor/Caption>></th>\n</tr>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/EditorTypeMappings/]sort[title]]\">\n<tr>\n<td>\n<$link>\n<$list filter=\"[all[current]removeprefix[$:/config/EditorTypeMappings/]]\">\n<$text text={{!!title}}/>\n</$list>\n</$link>\n</td>\n<td>\n<$view field=\"text\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"},"$:/core/ui/ControlPanel/Info":{"tags":"$:/tags/ControlPanel","caption":"{{$:/language/ControlPanel/Info/Caption}}","text":"{{$:/language/ControlPanel/Info/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Info]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Basics\" explicitState=\"$:/state/tab--2112689675\"/>\n</div>\n"},"$:/core/ui/ControlPanel/KeyboardShortcuts":{"tags":"$:/tags/ControlPanel","caption":"{{$:/language/ControlPanel/KeyboardShortcuts/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/KeyboardShortcuts/\n\n\\define new-shortcut(title)\n<div class=\"tc-dropdown-item-plain\">\n<$edit-shortcut tiddler=\"$title$\" placeholder={{$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt}} focus=\"true\" style=\"width:auto;\"/> <$button>\n<<lingo Add/Caption>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"[{$title$}]\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"$title$\"\n/>\n</$button>\n</div>\n\\end\n\n\\define shortcut-list-item(caption)\n<td>\n</td>\n<td style=\"text-align:right;font-size:0.7em;\">\n<<lingo Platform/$caption$>>\n</td>\n<td>\n<div style=\"position:relative;\">\n<$button popup=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> class=\"tc-btn-invisible\">\n{{$:/core/images/edit-button}}\n</$button>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutTitle)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\n<$reveal state=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown tc-popup-keep\">\n<$list filter=\"[list[$(shortcutTitle)$!!text]sort[title]]\" variable=\"shortcut\" emptyMessage=\"\"\"\n<div class=\"tc-dropdown-item-plain\">\n//<<lingo NoShortcuts/Caption>>//\n</div>\n\"\"\">\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint}}>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"+[remove<shortcut>]\"\n/>\n<small>{{$:/core/images/close-button}}</small>\n</$button>\n<kbd>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts=<<shortcut>>/>\n</kbd>\n</div>\n</$list>\n<hr/>\n<$macrocall $name=\"new-shortcut\" title=<<qualify \"$:/state/new-shortcut/$(shortcutTitle)$\">>/>\n</div>\n</div>\n</$reveal>\n</div>\n</td>\n\\end\n\n\\define shortcut-list(caption,prefix)\n<tr>\n<$list filter=\"[[$prefix$$(shortcutName)$]]\" variable=\"shortcutTitle\">\n<<shortcut-list-item \"$caption$\">>\n</$list>\n</tr>\n\\end\n\n\\define shortcut-editor()\n<<shortcut-list \"All\" \"$:/config/shortcuts/\">>\n<<shortcut-list \"Mac\" \"$:/config/shortcuts-mac/\">>\n<<shortcut-list \"NonMac\" \"$:/config/shortcuts-not-mac/\">>\n<<shortcut-list \"Linux\" \"$:/config/shortcuts-linux/\">>\n<<shortcut-list \"NonLinux\" \"$:/config/shortcuts-not-linux/\">>\n<<shortcut-list \"Windows\" \"$:/config/shortcuts-windows/\">>\n<<shortcut-list \"NonWindows\" \"$:/config/shortcuts-not-windows/\">>\n\\end\n\n\\define shortcut-preview()\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutPrefix)$$(shortcutName)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\\end\n\n\\define shortcut-item-inner()\n<tr>\n<td>\n<$reveal type=\"nomatch\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"open\"\n/>\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"close\"\n/>\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n''<$text text=<<shortcutName>>/>''\n</td>\n<td>\n<$transclude tiddler=\"$:/config/ShortcutInfo/$(shortcutName)$\"/>\n</td>\n<td>\n<$list filter=\"$:/config/shortcuts/ $:/config/shortcuts-mac/ $:/config/shortcuts-not-mac/ $:/config/shortcuts-linux/ $:/config/shortcuts-not-linux/ $:/config/shortcuts-windows/ $:/config/shortcuts-not-windows/\" variable=\"shortcutPrefix\">\n<<shortcut-preview>>\n</$list>\n</td>\n</tr>\n<$set name=\"dropdownState\" value={{$(dropdownStateTitle)$}}>\n<$list filter=\"[<dropdownState>match[open]]\" variable=\"listItem\">\n<<shortcut-editor>>\n</$list>\n</$set>\n\\end\n\n\\define shortcut-item()\n<$set name=\"dropdownStateTitle\" value=<<qualify \"$:/state/dropdown/keyboardshortcut/$(shortcutName)$\">>>\n<<shortcut-item-inner>>\n</$set>\n\\end\n\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]removeprefix[$:/config/ShortcutInfo/]]\" variable=\"shortcutName\">\n<<shortcut-item>>\n</$list>\n</tbody>\n</table>\n"},"$:/core/ui/ControlPanel/LoadedModules":{"tags":"$:/tags/ControlPanel/Advanced","caption":"{{$:/language/ControlPanel/LoadedModules/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/\n<<lingo LoadedModules/Hint>>\n\n{{$:/snippets/modules}}\n"},"$:/core/ui/ControlPanel/Modals/AddPlugins":{"subtitle":"{{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/Add/Caption}}","text":"\\define install-plugin-actions()\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url={{!!url}} title={{$(assetInfo)$!!original-title}}/>\n<$set name=\"url\" value={{!!url}}>\n<$set name=\"currentTiddler\" value=<<assetInfo>>>\n<$list filter=\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[name]]\" variable=\"dependency\">\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url=<<url>> title=<<dependency>>/>\n</$list>\n</$set>\n</$set>\n\\end\n\n\\define install-plugin-button()\n<div>\n<$set name=\"libraryVersion\" value={{{ [<assetInfo>get[version]] }}}>\n<$set name=\"installedVersion\" value={{{ [<assetInfo>get[original-title]get[version]] }}}>\n<$set name=\"reinstall-type\" value={{{ [<libraryVersion>compare:version:eq<installedVersion>then[tc-reinstall]] [<libraryVersion>compare:version:gt<installedVersion>then[tc-reinstall-upgrade]] [<libraryVersion>compare:version:lt<installedVersion>then[tc-reinstall-downgrade]] }}}>\n<$button actions=<<install-plugin-actions>> class={{{ [<assetInfo>get[original-title]has[version]then<reinstall-type>] tc-btn-invisible tc-install-plugin +[join[ ]] }}}>\n{{$:/core/images/download-button}}\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"ignore\" emptyMessage=\"{{$:/language/ControlPanel/Plugins/Install/Caption}}\">\n<$list filter=\"[<libraryVersion>compare:version:gt<installedVersion>]\" variable=\"ignore\" emptyMessage=\"\"\"\n<$list filter=\"[<libraryVersion>compare:version:lt<installedVersion>]\" variable=\"ignore\" emptyMessage=\"{{$:/language/ControlPanel/Plugins/Reinstall/Caption}}\">\n{{$:/language/ControlPanel/Plugins/Downgrade/Caption}}\n</$list>\n\"\"\">\n{{$:/language/ControlPanel/Plugins/Update/Caption}}\n</$list>\n</$list>\n</$button>\n<div>\n</div>\n<$reveal stateTitle=<<assetInfo>> stateField=\"requires-reload\" type=\"match\" text=\"yes\">{{$:/language/ControlPanel/Plugins/PluginWillRequireReload}}</$reveal>\n</$set>\n</$set>\n</$set>\n</div>\n\\end\n\n\\define popup-state-macro()\n$:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$\n\\end\n\n\\define display-plugin-info(type)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<div class=\"tc-plugin-info\">\n<div class=\"tc-plugin-info-chunk tc-plugin-info-toggle\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/chevron-right}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-icon\">\n<$list filter=\"[<assetInfo>has[icon]]\" emptyMessage=\"\"\"<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\"\"\">\n<img src={{$(assetInfo)$!!icon}}/>\n</$list>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-description\">\n<h1><strong><$text text={{{ [<assetInfo>get[name]] ~[<assetInfo>get[original-title]split[/]last[1]] }}}/></strong>: <$view tiddler=<<assetInfo>> field=\"description\"/></h1>\n<h2><$view tiddler=<<assetInfo>> field=\"original-title\"/></h2>\n<div><em><$view tiddler=<<assetInfo>> field=\"version\"/></em></div>\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\"><div><em>{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}</em></div></$list>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-buttons\">\n<<install-plugin-button>>\n</div>\n</div>\n<$set name=\"original-title\" value={{{ [<assetInfo>get[original-title]] }}}>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>>>\n<div class=\"tc-plugin-info-dropdown\">\n<$list filter=\"[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]] ~[<assetInfo>get[original-title]!is[tiddler]]\" variable=\"ignore\">\n<div class=\"tc-plugin-info-dropdown-message\">\n<$list filter=\"[<assetInfo>get[original-title]!is[tiddler]]\">\n{{$:/language/ControlPanel/Plugins/NotInstalled/Hint}}\n</$list>\n<$set name=\"currentTiddler\" value=<<assetInfo>>>\n<$list filter=\"[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]]\" variable=\"ignore\">\n<div>\n{{$:/language/ControlPanel/Plugins/AlsoRequires}}\n<$list filter=\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[name]]\" variable=\"dependency\">\n<$text text=<<dependency>>/>\n</$list>\n</div>\n</$list>\n</$set>\n</div>\n</$list>\n<div class=\"tc-plugin-info-dropdown-body\">\n<$transclude tiddler=<<assetInfo>> field=\"readme\" mode=\"block\"/>\n</div>\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>limit[1]]\" variable=\"ignore\">\n<div class=\"tc-plugin-info-sub-plugins\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>sort[name]]\" variable=\"assetInfo\">\n<<display-plugin-info \"$type$\">>\n</$list>\n</div>\n</$list>\n</div>\n</$reveal>\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>limit[1]]\" variable=\"ignore\">\n<$reveal type=\"nomatch\" text=\"yes\" state=<<popup-state>> tag=\"div\" class=\"tc-plugin-info-sub-plugin-indicator\">\n<$wikify name=\"count\" text=\"\"\"<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>]\"/>\"\"\">\n<$button class=\"tc-btn-invisible\" set=<<popup-state>> setTo=\"yes\">\n{{$:/language/ControlPanel/Plugins/SubPluginPrompt}}\n</$button>\n</$wikify>\n</$reveal>\n</$list>\n</$set>\n</$set>\n\\end\n\n\\define load-plugin-library-button()\n<$list filter=\"[<currentTiddler>get[enabled]else[yes]match[yes]]\" variable=\"ignore\">\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-load-plugin-library\" url={{!!url}} infoTitlePrefix=\"$:/temp/RemoteAssetInfo/\"/>\n{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Plugins/OpenPluginLibrary}}\n</$button>\n</$list>\n\\end\n\n\\define display-server-assets(type)\n{{$:/language/Search/Search}}: <$edit-text tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" default=\"\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n<div class=\"tc-plugin-library-listing\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]search:author,description,original-title,readme,title{$:/temp/RemoteAssetSearch/$(currentTiddler)$}sort[name]]\" variable=\"assetInfo\">\n<$list filter=\"[[$:/temp/RemoteAssetSearch/$(currentTiddler)$]has[text]] ~[<assetInfo>!has[parent-plugin]]\" variable=\"ignore\"><!-- Hide sub-plugins if we're not searching -->\n<<display-plugin-info \"$type$\">>\n</$list>\n</$list>\n</div>\n\\end\n\n\\define display-server-connection()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/ServerConnection]suffix{!!url}]\" variable=\"connectionTiddler\" emptyMessage=<<load-plugin-library-button>>>\n\n<$set name=\"transclusion\" value=<<connectionTiddler>>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Add/Updates]] [[$:/core/ui/ControlPanel/Plugins/Add/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Add/Themes]] [[$:/core/ui/ControlPanel/Plugins/Add/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Add/Plugins\">>\n\n</$set>\n\n</$list>\n\\end\n\n\\define close-library-button()\n<$reveal type='nomatch' state='$:/temp/ServerConnection/$(PluginLibraryURL)$' text=''>\n<$button class='tc-btn-big-green'>\n<$action-sendmessage $message=\"tm-unload-plugin-library\" url={{!!url}}/>\n{{$:/core/images/chevron-left}} {{$:/language/ControlPanel/Plugins/ClosePluginLibrary}}\n<$action-deletetiddler $filter=\"[prefix[$:/temp/ServerConnection/$(PluginLibraryURL)$]][prefix[$:/temp/RemoteAssetInfo/$(PluginLibraryURL)$]]\"/>\n</$button>\n</$reveal>\n\\end\n\n\\define plugin-library-listing()\n<div class=\"tc-tab-set\">\n<$set name=\"defaultTab\" value={{{ [all[tiddlers+shadows]tag[$:/tags/PluginLibrary]] }}}>\n<div class=\"tc-tab-buttons\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<$button set=<<qualify \"$:/state/addplugins/tab\">> setTo=<<currentTiddler>> default=<<defaultTab>> selectedClass=\"tc-tab-selected\">\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude field=\"caption\"/>\n</$set>\n</$button>\n</$list>\n</div>\n<div class=\"tc-tab-divider\"/>\n<div class=\"tc-tab-content\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<$reveal type=\"match\" state=<<qualify \"$:/state/addplugins/tab\">> text=<<currentTiddler>> default=<<defaultTab>>>\n<h2><$link><$transclude field=\"caption\"><$view field=\"title\"/></$transclude></$link></h2>\n//<$view field=\"url\"/>//\n<$transclude mode=\"block\"/>\n<$set name=PluginLibraryURL value={{!!url}}>\n<<close-library-button>>\n</$set>\n<<display-server-connection>>\n</$reveal>\n</$list>\n</div>\n</$set>\n</div>\n\\end\n\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<div>\n<<plugin-library-listing>>\n</div>\n"},"$:/core/ui/ControlPanel/Palette":{"tags":"$:/tags/ControlPanel/Appearance","caption":"{{$:/language/ControlPanel/Palette/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Palette/\n\n{{$:/snippets/paletteswitcher}}\n\n<$reveal type=\"nomatch\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"yes\"><<lingo ShowEditor/Caption>></$button>\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"no\"><<lingo HideEditor/Caption>></$button>\n{{$:/PaletteManager}}\n\n</$reveal>\n\n"},"$:/core/ui/ControlPanel/Parsing":{"tags":"$:/tags/ControlPanel/Advanced","caption":"{{$:/language/ControlPanel/Parsing/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Parsing/\n\n\\define toggle(Type)\n<$checkbox\ntiddler=\"\"\"$:/config/WikiParserRules/$Type$/$(rule)$\"\"\"\nfield=\"text\"\nchecked=\"enable\"\nunchecked=\"disable\"\ndefault=\"enable\">\n<<rule>>\n</$checkbox>\n\\end\n\n\\define rules(type,Type)\n<$list filter=\"[wikiparserrules[$type$]]\" variable=\"rule\">\n<dd><<toggle $Type$>></dd>\n</$list>\n\\end\n\n<<lingo Hint>>\n\n<dl>\n<dt><<lingo Pragma/Caption>></dt>\n<<rules pragma Pragma>>\n<dt><<lingo Inline/Caption>></dt>\n<<rules inline Inline>>\n<dt><<lingo Block/Caption>></dt>\n<<rules block Block>>\n</dl>"},"$:/core/ui/ControlPanel/Plugins/Add/Languages":{"caption":"{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[language]]\"/>)","text":"<<display-server-assets language>>\n"},"$:/core/ui/ControlPanel/Plugins/Add/Plugins":{"caption":"{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[plugin]]\"/>)","text":"<<display-server-assets plugin>>\n"},"$:/core/ui/ControlPanel/Plugins/Add/Themes":{"caption":"{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[theme]]\"/>)","text":"<<display-server-assets theme>>\n"},"$:/core/ui/ControlPanel/Plugins/Add/Updates":{"caption":"<$importvariables filter=\"$:/core/ui/ControlPanel/Plugins/Add/Updates\">{{$:/language/ControlPanel/Plugins/Updates/Caption}} (<<update-count>>)</$importvariables>","text":"\\define each-updateable-plugin(body)\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}sort[title]]\" variable=\"assetInfo\">\n<$set name=\"libraryVersion\" value={{{ [<assetInfo>get[version]] }}}>\n<$list filter=\"[<assetInfo>get[original-title]has[version]!version<libraryVersion>]\" variable=\"ignore\">\n<$set name=\"installedVersion\" value={{{ [<assetInfo>get[original-title]get[version]] }}}>\n<$list filter=\"[<installedversion>!match<libraryVersion>]\" variable=\"ignore\">\n$body$\n</$list>\n</$set>\n</$list>\n</$set>\n</$list>\n\\end\n\n\\define update-all-actions()\n<$macrocall $name=\"each-updateable-plugin\" body=\"\"\"\n<<install-plugin-actions>>\n\"\"\"/>\n\\end\n\n\\define update-count()\n<$wikify name=\"count-filter\" text=<<each-updateable-plugin \"[[<$text text=<<assetInfo>>/>]]\">>><$count filter=<<count-filter>>/></$wikify>\n\\end\n\n<$button actions=<<update-all-actions>> class=\"tc-btn-invisible tc-install-plugin tc-reinstall-upgrade\">\n{{$:/core/images/download-button}} {{||$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption}}\n</$button>\n\n<div class=\"tc-plugin-library-listing\">\n<$macrocall $name=\"each-updateable-plugin\" body=\"\"\"\n<$macrocall $name=\"display-plugin-info\" type={{{ [<assetInfo>get[original-plugin-type]] }}}/>\n\"\"\"/>\n</div>\n"},"$:/core/ui/ControlPanel/Plugins/AddPlugins":{"text":"\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n<$button message=\"tm-modal\" param=\"$:/core/ui/ControlPanel/Modals/AddPlugins\" tooltip={{$:/language/ControlPanel/Plugins/Add/Hint}} class=\"tc-btn-big-green tc-primary-btn\">\n{{$:/core/images/download-button}} <<lingo Add/Caption>>\n</$button>\n"},"$:/core/ui/ControlPanel/Plugins/Installed/Languages":{"caption":"{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[language]]\"/>)","text":"<<plugin-table language>>\n"},"$:/core/ui/ControlPanel/Plugins/Installed/Plugins":{"caption":"{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[plugin]]\"/>)","text":"<<plugin-table plugin>>\n"},"$:/core/ui/ControlPanel/Plugins/Installed/Themes":{"caption":"{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[theme]]\"/>)","text":"<<plugin-table theme>>\n"},"$:/core/ui/ControlPanel/Plugins":{"tags":"$:/tags/ControlPanel","caption":"{{$:/language/ControlPanel/Plugins/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define plugin-table(type)\n<$set name=\"plugin-type\" value=\"\"\"$type$\"\"\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n<$list filter=\"[!has[draft.of]plugin-type[$type$]sort[name]]\" emptyMessage=<<lingo \"Empty/Hint\">> template=\"$:/core/ui/Components/plugin-info\"/>\n</$set>\n</$set>\n\\end\n\n{{$:/core/ui/ControlPanel/Plugins/AddPlugins}}\n\n<<lingo Installed/Hint>>\n\n<$macrocall $name=\"tabs\" tabsList=\"[[$:/core/ui/ControlPanel/Plugins/Installed/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Installed/Themes]] [[$:/core/ui/ControlPanel/Plugins/Installed/Languages]]\" default=\"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\" explicitState=\"$:/state/tab--86143343\"/>\n"},"$:/core/ui/ControlPanel/Saving/DownloadSaver":{"tags":"$:/tags/ControlPanel/Saving","caption":"{{$:/language/ControlPanel/Saving/DownloadSaver/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Saving/DownloadSaver/\n\n<<lingo Hint>>\n\n!! <$link to=\"$:/config/DownloadSaver/AutoSave\"><<lingo AutoSave/Hint>></$link>\n\n<$checkbox tiddler=\"$:/config/DownloadSaver/AutoSave\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <<lingo AutoSave/Description>> </$checkbox>\n"},"$:/core/ui/ControlPanel/Saving/General":{"tags":"$:/tags/ControlPanel/Saving","caption":"{{$:/language/ControlPanel/Saving/General/Caption}}","list-before":"","text":"\\define lingo-base() $:/language/ControlPanel/Settings/\n\n{{$:/language/ControlPanel/Saving/General/Hint}}\n\n!! <$link to=\"$:/config/AutoSave\"><<lingo AutoSave/Caption>></$link>\n\n<<lingo AutoSave/Hint>>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"yes\"> <<lingo AutoSave/Enabled/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"no\"> <<lingo AutoSave/Disabled/Description>> </$radio>\n"},"$:/core/ui/ControlPanel/Saving/GitHub":{"tags":"$:/tags/ControlPanel/Saving","caption":"{{$:/language/ControlPanel/Saving/GitService/GitHub/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~GitHub\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/GitHub/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo GitHub/Password>> |<$password name=\"github\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/GitHub/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/GitHub/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/GitHub/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/GitHub/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/GitHub/ServerURL\" default=\"https://api.github.com\" tag=\"input\"/> |"},"$:/core/ui/ControlPanel/Saving/GitLab":{"tags":"$:/tags/ControlPanel/Saving","caption":"{{$:/language/ControlPanel/Saving/GitService/GitLab/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~GitLab\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/GitLab/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo GitLab/Password>> |<$password name=\"gitlab\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/GitLab/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/GitLab/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/GitLab/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/GitLab/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/GitLab/ServerURL\" default=\"https://gitlab.com/api/v4\" tag=\"input\"/> |"},"$:/core/ui/ControlPanel/Saving/TiddlySpot":{"tags":"$:/tags/ControlPanel/Saving","caption":"{{$:/language/ControlPanel/Saving/TiddlySpot/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Saving/TiddlySpot/\n\n\\define siteURL(path)\nhttp://$(userName)$.tiddlyspot.com/$path$/\n\\end\n\\define siteLink(path)\n<$reveal type=\"nomatch\" state=\"$:/UploadName\" text=\"\">\n<$set name=\"userName\" value={{$:/UploadName}}>\n<$reveal type=\"match\" state=\"$:/UploadURL\" text=\"\">\n<<siteURL $path$>>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/UploadURL\" text=\"\">\n<$macrocall $name=resolvePath source={{$:/UploadBackupDir}} root={{$:/UploadURL}}>>\n</$reveal>\n</$set>\n</$reveal>\n\\end\n\n<div class=\"tc-message-box\">\n\n<<lingo ReadOnly>>\n\n</div>\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/UploadName\" default=\"\" tag=\"input\"/> |\n|<<lingo Password>> |<$password name=\"upload\"/> |\n|<<lingo Backups>> |<<siteLink backup>> |\n|<<lingo ControlPanel>> |<<siteLink controlpanel>> |\n\n''<<lingo Advanced/Heading>>''\n\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/UploadURL\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/UploadFilename\" default=\"index.html\" tag=\"input\"/> |\n|<<lingo UploadDir>> |<$edit-text tiddler=\"$:/UploadDir\" default=\".\" tag=\"input\"/> |\n|<<lingo BackupDir>> |<$edit-text tiddler=\"$:/UploadBackupDir\" default=\".\" tag=\"input\"/> |\n\n<<lingo TiddlySpot/Hint>>\n"},"$:/core/ui/ControlPanel/Saving/Gitea":{"tags":"$:/tags/ControlPanel/Saving","caption":"{{$:/language/ControlPanel/Saving/GitService/Gitea/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~Gitea\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/Gitea/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo Gitea/Password>> |<$password name=\"Gitea\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/Gitea/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/Gitea/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/Gitea/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/Gitea/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/Gitea/ServerURL\" default=\"https://gitea/api/v1\" tag=\"input\"/> |\n"},"$:/core/ui/ControlPanel/Saving":{"tags":"$:/tags/ControlPanel","caption":"{{$:/language/ControlPanel/Saving/Caption}}","text":"{{$:/language/ControlPanel/Saving/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Saving]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Saving/General\" explicitState=\"$:/state/tab-2065006209\"/>\n</div>\n"},"$:/core/buttonstyles/Borderless":{"tags":"$:/tags/ToolbarButtonStyle","caption":"{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless}}","text":"tc-btn-invisible"},"$:/core/buttonstyles/Boxed":{"tags":"$:/tags/ToolbarButtonStyle","caption":"{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed}}","text":"tc-btn-boxed"},"$:/core/buttonstyles/Rounded":{"tags":"$:/tags/ToolbarButtonStyle","caption":"{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded}}","text":"tc-btn-rounded"},"$:/core/ui/ControlPanel/Settings/CamelCase":{"tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/CamelCase/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Settings/CamelCase/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/WikiParserRules/Inline/wikilink\" field=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"enable\"> <$link to=\"$:/config/WikiParserRules/Inline/wikilink\"><<lingo Description>></$link> </$checkbox>\n"},"$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab":{"caption":"{{$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption}}","tags":"$:/tags/ControlPanel/Settings","text":"\\define lingo-base() $:/language/ControlPanel/Settings/DefaultMoreSidebarTab/\n\n<$link to=\"$:/config/DefaultMoreSidebarTab\"><<lingo Hint>></$link>\n\n<$select tiddler=\"$:/config/DefaultMoreSidebarTab\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\">\n<option value=<<currentTiddler>>><$transclude field=\"caption\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n"},"$:/core/ui/ControlPanel/Settings/DefaultSidebarTab":{"caption":"{{$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption}}","tags":"$:/tags/ControlPanel/Settings","text":"\\define lingo-base() $:/language/ControlPanel/Settings/DefaultSidebarTab/\n\n<$link to=\"$:/config/DefaultSidebarTab\"><<lingo Hint>></$link>\n\n<$select tiddler=\"$:/config/DefaultSidebarTab\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\">\n<option value=<<currentTiddler>>><$transclude field=\"caption\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n"},"$:/core/ui/ControlPanel/Settings/EditorToolbar":{"tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/EditorToolbar/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Settings/EditorToolbar/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/TextEditor/EnableToolbar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/TextEditor/EnableToolbar\"><<lingo Description>></$link> </$checkbox>\n\n"},"$:/core/ui/ControlPanel/Settings/InfoPanelMode":{"tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/InfoPanelMode/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Settings/InfoPanelMode/\n<$link to=\"$:/config/TiddlerInfo/Mode\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"popup\"> <<lingo Popup/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"sticky\"> <<lingo Sticky/Description>> </$radio>\n"},"$:/core/ui/ControlPanel/Settings/LinkToBehaviour":{"tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/LinkToBehaviour/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Settings/LinkToBehaviour/\n\n<$link to=\"$:/config/Navigation/openLinkFromInsideRiver\"><<lingo \"InsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromInsideRiver\">\n <option value=\"above\"><<lingo \"OpenAbove\">></option>\n <option value=\"below\"><<lingo \"OpenBelow\">></option>\n <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n\n<$link to=\"$:/config/Navigation/openLinkFromOutsideRiver\"><<lingo \"OutsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromOutsideRiver\">\n <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n"},"$:/core/ui/ControlPanel/Settings/MissingLinks":{"tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/MissingLinks/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Settings/MissingLinks/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/MissingLinks\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/MissingLinks\"><<lingo Description>></$link> </$checkbox>\n\n"},"$:/core/ui/ControlPanel/Settings/NavigationAddressBar":{"tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/NavigationAddressBar/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Settings/NavigationAddressBar/\n\n<$link to=\"$:/config/Navigation/UpdateAddressBar\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permaview\"> <<lingo Permaview/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permalink\"> <<lingo Permalink/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"no\"> <<lingo No/Description>> </$radio>\n"},"$:/core/ui/ControlPanel/Settings/NavigationHistory":{"tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/NavigationHistory/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Settings/NavigationHistory/\n<$link to=\"$:/config/Navigation/UpdateHistory\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"no\"> <<lingo No/Description>> </$radio>\n"},"$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode":{"tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Settings/NavigationPermalinkviewMode/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Navigation/Permalinkview/CopyToClipboard\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Navigation/Permalinkview/CopyToClipboard\"><<lingo CopyToClipboard/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Navigation/Permalinkview/UpdateAddressBar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Navigation/Permalinkview/UpdateAddressBar\"><<lingo UpdateAddressBar/Description>></$link> </$checkbox>\n"},"$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation":{"tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Settings/PerformanceInstrumentation/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Performance/Instrumentation\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Performance/Instrumentation\"><<lingo Description>></$link> </$checkbox>\n"},"$:/core/ui/ControlPanel/Settings/TitleLinks":{"tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/TitleLinks/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Settings/TitleLinks/\n<$link to=\"$:/config/Tiddlers/TitleLinks\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"no\"> <<lingo No/Description>> </$radio>\n"},"$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle":{"tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtonStyle/\n<$link to=\"$:/config/Toolbar/ButtonClass\"><<lingo \"Hint\">></$link>\n\n<$select tiddler=\"$:/config/Toolbar/ButtonClass\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ToolbarButtonStyle]]\">\n<option value={{!!text}}>{{!!caption}}</option>\n</$list>\n</$select>\n"},"$:/core/ui/ControlPanel/Settings/ToolbarButtons":{"tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/ToolbarButtons/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtons/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Icons\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Toolbar/Icons\"><<lingo Icons/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Text\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Toolbar/Text\"><<lingo Text/Description>></$link> </$checkbox>\n"},"$:/core/ui/ControlPanel/Settings":{"tags":"$:/tags/ControlPanel","caption":"{{$:/language/ControlPanel/Settings/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<<lingo Hint>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\">\n\n<div style=\"border-top:1px solid #eee;\">\n\n!! <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"},"$:/core/ui/ControlPanel/StoryView":{"tags":"$:/tags/ControlPanel/Appearance","caption":"{{$:/language/ControlPanel/StoryView/Caption}}","text":"{{$:/snippets/viewswitcher}}\n"},"$:/core/ui/ControlPanel/Stylesheets":{"tags":"$:/tags/ControlPanel/Advanced","caption":"{{$:/language/ControlPanel/Stylesheets/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo Stylesheets/Hint>>\n\n{{$:/snippets/peek-stylesheets}}\n"},"$:/core/ui/ControlPanel/Theme":{"tags":"$:/tags/ControlPanel/Appearance","caption":"{{$:/language/ControlPanel/Theme/Caption}}","text":"{{$:/snippets/themeswitcher}}\n"},"$:/core/ui/ControlPanel/TiddlerFields":{"tags":"$:/tags/ControlPanel/Advanced","caption":"{{$:/language/ControlPanel/TiddlerFields/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo TiddlerFields/Hint>>\n\n{{$:/snippets/allfields}}"},"$:/core/ui/ControlPanel/Toolbars/EditToolbar":{"tags":"$:/tags/ControlPanel/Toolbars","caption":"{{$:/language/ControlPanel/Toolbars/EditToolbar/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>"},"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate":{"text":"\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <span class=\"tc-icon-wrapper\"><$transclude tiddler={{!!icon}}/></span> <$transclude field=\"caption\"/> -- <i class=\"tc-muted\"><$transclude field=\"description\"/></i>\n</$draggable>\n"},"$:/core/ui/ControlPanel/Toolbars/EditorToolbar":{"tags":"$:/tags/ControlPanel/Toolbars","caption":"{{$:/language/ControlPanel/Toolbars/EditorToolbar/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditorToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditorToolbar/Hint}}\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditorToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\"/>\n"},"$:/core/ui/ControlPanel/Toolbars/ItemTemplate":{"text":"\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <span class=\"tc-icon-wrapper\"> <$transclude field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude field=\"description\"/></i></span>\n</$draggable>\n"},"$:/core/ui/ControlPanel/Toolbars/PageControls":{"tags":"$:/tags/ControlPanel/Toolbars","caption":"{{$:/language/ControlPanel/Toolbars/PageControls/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/PageControlButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/PageControls/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/PageControls\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"},"$:/core/ui/ControlPanel/Toolbars/ViewToolbar":{"tags":"$:/tags/ControlPanel/Toolbars","caption":"{{$:/language/ControlPanel/Toolbars/ViewToolbar/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/ViewToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/ViewToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"},"$:/core/ui/ControlPanel/Toolbars":{"tags":"$:/tags/ControlPanel/Appearance","caption":"{{$:/language/ControlPanel/Toolbars/Caption}}","text":"{{$:/language/ControlPanel/Toolbars/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Toolbars]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\" class=\"tc-vertical\" explicitState=\"$:/state/tabs/controlpanel/toolbars-1345989671\"/>\n</div>\n"},"$:/ControlPanel":{"icon":"$:/core/images/options-button","color":"#bbb","text":"<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Info\" explicitState=\"$:/state/tab-1749438307\"/>\n</div>\n"},"$:/core/ui/DefaultSearchResultList":{"tags":"$:/tags/SearchResults","caption":"{{$:/language/Search/DefaultResults/Caption}}","first-search-filter":"[!is[system]search:title<userInput>sort[title]limit[250]]","second-search-filter":"[!is[system]search<userInput>sort[title]limit[250]]","text":"\\define searchResultList()\n//<small>{{$:/language/Search/Matches/Title}}</small>//\n\n<$list filter=\"[<userInput>minlength[1]]\" variable=\"ignore\">\n<$list filter={{{ [<configTiddler>get[first-search-filter]] }}}>\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n</$list>\n\n//<small>{{$:/language/Search/Matches/All}}</small>//\n\n<$list filter=\"[<userInput>minlength[1]]\" variable=\"ignore\">\n<$list filter={{{ [<configTiddler>get[second-search-filter]] }}}>\n<span class={{{[<currentTiddler>addsuffix[-secondaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n</$list>\n\n\\end\n<<searchResultList>>\n"},"$:/core/ui/EditTemplate/body/preview/diffs-current":{"tags":"$:/tags/EditPreview","caption":"differences from current","list-after":"$:/core/ui/EditTemplate/body/preview/output","text":"<$list filter=\"[<currentTiddler>!is[image]]\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle={{!!draft.of}} destTiddlerTitle=<<currentTiddler>>/>\n\n</$list>\n\n"},"$:/core/ui/EditTemplate/body/preview/diffs-shadow":{"tags":"$:/tags/EditPreview","caption":"differences from shadow (if any)","list-after":"$:/core/ui/EditTemplate/body/preview/output","text":"<$list filter=\"[<currentTiddler>!is[image]]\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle={{{ [{!!draft.of}shadowsource[]] }}} sourceSubTiddlerTitle={{!!draft.of}} destTiddlerTitle=<<currentTiddler>>/>\n\n</$list>\n\n"},"$:/core/ui/EditTemplate/body/preview/output":{"tags":"$:/tags/EditPreview","caption":"{{$:/language/EditTemplate/Body/Preview/Type/Output}}","text":"\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!has[draft.of]]\n<$set name=\"tv-tiddler-preview\" value=\"yes\">\n\n<$transclude />\n\n</$set>\n"},"$:/state/showeditpreview":{"text":"no"},"$:/core/ui/EditTemplate/body/editor":{"text":"<$edit\n\n field=\"text\"\n class=\"tc-edit-texteditor tc-edit-texteditor-body\"\n placeholder={{$:/language/EditTemplate/Body/Placeholder}}\n tabindex={{$:/config/EditTabIndex}}\n focus={{{ [{$:/config/AutoFocus}match[text]then[true]] ~[[false]] }}}\n cancelPopups=\"yes\"\n\n><$set\n\n name=\"targetTiddler\"\n value=<<currentTiddler>>\n\n><$list\n\n filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\"\n\n><$reveal\n\n type=\"nomatch\"\n state=<<config-visibility-title>>\n text=\"hide\"\n class=\"tc-text-editor-toolbar-item-wrapper\"\n\n><$transclude\n\n tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\"\n mode=\"inline\"\n\n/></$reveal></$list></$set></$edit>\n"},"$:/core/ui/EditTemplate/body/toolbar/button":{"text":"\\define toolbar-button-icon()\n<$list\n\n filter=\"[all[current]!has[custom-icon]]\"\n variable=\"no-custom-icon\"\n\n><$transclude\n\n tiddler={{!!icon}}\n\n/></$list>\n\\end\n\n\\define toolbar-button-tooltip()\n{{!!description}}<$macrocall $name=\"displayshortcuts\" $output=\"text/plain\" shortcuts={{!!shortcuts}} prefix=\"` - [\" separator=\"] [\" suffix=\"]`\"/>\n\\end\n\n\\define toolbar-button()\n<$list\n\n filter={{!!condition}}\n variable=\"list-condition\"\n\n><$wikify\n\n name=\"tooltip-text\"\n text=<<toolbar-button-tooltip>>\n mode=\"inline\"\n output=\"text\"\n\n><$list\n\n filter=\"[all[current]!has[dropdown]]\"\n variable=\"no-dropdown\"\n\n><$button\n\n class=\"tc-btn-invisible $(buttonClasses)$\"\n tooltip=<<tooltip-text>>\n actions={{!!actions}}\n\n><span\n\n data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n tiddler=<<currentTiddler>>\n field=\"text\"\n\n/></$button></$list><$list\n\n filter=\"[all[current]has[dropdown]]\"\n variable=\"dropdown\"\n\n><$set\n\n name=\"dropdown-state\"\n value=<<qualify \"$:/state/EditorToolbarDropdown\">>\n\n><$button\n\n popup=<<dropdown-state>>\n class=\"tc-popup-keep tc-btn-invisible $(buttonClasses)$\"\n selectedClass=\"tc-selected\"\n tooltip=<<tooltip-text>>\n actions={{!!actions}}\n\n><span\n\n data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n tiddler=<<currentTiddler>>\n field=\"text\"\n\n/></$button><$reveal\n\n state=<<dropdown-state>>\n type=\"popup\"\n position=\"below\"\n animate=\"yes\"\n tag=\"span\"\n\n><div\n\n class=\"tc-drop-down tc-popup-keep\"\n\n><$transclude\n\n tiddler={{!!dropdown}}\n mode=\"block\"\n\n/></div></$reveal></$set></$list></$wikify></$list>\n\\end\n\n\\define toolbar-button-outer()\n<$set\n\n name=\"buttonClasses\"\n value={{!!button-classes}}\n\n><<toolbar-button>></$set>\n\\end\n\n<<toolbar-button-outer>>"},"$:/core/ui/EditTemplate/body":{"tags":"$:/tags/EditTemplate","text":"\\define lingo-base() $:/language/EditTemplate/Body/\n\\define config-visibility-title()\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\n\\end\n<$list filter=\"[all[current]has[_canonical_uri]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo External/Hint>>\n\n<a href={{!!_canonical_uri}}><$text text={{!!_canonical_uri}}/></a>\n\n<$edit-text field=\"_canonical_uri\" class=\"tc-edit-fields\" tabindex={{$:/config/EditTabIndex}} cancelPopups=\"yes\"></$edit-text>\n\n</div>\n\n</$list>\n\n<$list filter=\"[all[current]!has[_canonical_uri]]\">\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\">\n\n<div class=\"tc-tiddler-preview\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n<div class=\"tc-tiddler-preview-preview\">\n\n<$transclude tiddler={{$:/state/editpreviewtype}} mode=\"inline\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/preview/output\" mode=\"inline\"/>\n\n</$transclude>\n\n</div>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n"},"$:/core/ui/EditTemplate/controls":{"tags":"$:/tags/EditTemplate","text":"\\define config-title()\n$:/config/EditToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title tc-tiddler-edit-title\">\n<$view field=\"title\"/>\n<span class=\"tc-tiddler-controls tc-titlebar\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list></span>\n<div style=\"clear: both;\"></div>\n</div>\n"},"$:/core/ui/EditTemplate/fields":{"tags":"$:/tags/EditTemplate","text":"\\define lingo-base() $:/language/EditTemplate/\n\\define config-title()\n$:/config/EditTemplateFields/Visibility/$(currentField)$\n\\end\n\n\\define config-filter()\n[[hide]] -[title{$(config-title)$}]\n\\end\n\n\\define current-tiddler-new-field-selector()\n[data-tiddler-title=\"$(currentTiddlerCSSescaped)$\"] .tc-edit-field-add-name-wrapper input\n\\end\n\n\\define new-field-actions()\n<$action-sendmessage $message=\"tm-add-field\" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldValueTiddler>get[text]] }}}/>\n<$action-deletetiddler $filter=\"[<newFieldNameTiddler>] [<newFieldValueTiddler>] [<storeTitle>] [<searchListState>]\"/>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=<<current-tiddler-new-field-selector>>/>\n\\end\n\n\\define delete-state-tiddlers() <$action-deletetiddler $filter=\"[<newFieldNameTiddler>] [<storeTitle>] [<searchListState>]\"/>\n\n\\define cancel-search-actions-inner()\n<$list filter=\"[<storeTitle>has[text]] [<newFieldNameTiddler>has[text]]\" variable=\"ignore\" emptyMessage=\"\"\"<<cancel-delete-tiddler-actions \"cancel\">>\"\"\">\n<<delete-state-tiddlers>>\n</$list>\n\\end\n\n\\define cancel-search-actions()\n<$set name=\"userInput\" value={{{ [<storeTitle>get[text]] }}}>\n<$list filter=\"[<newFieldNameTiddler>get[text]!match<userInput>]\" emptyMessage=\"\"\"<<cancel-search-actions-inner>>\"\"\">\n<$action-setfield $tiddler=<<newFieldNameTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n</$list>\n</$set>\n\\end\n\n\\define new-field()\n<$vars name={{{ [<newFieldNameTiddler>get[text]] }}}>\n<$reveal type=\"nomatch\" text=\"\" default=<<name>>>\n<$button tooltip=<<lingo Fields/Add/Button/Hint>>>\n<$action-sendmessage $message=\"tm-add-field\"\n$name=<<name>>\n$value={{{ [<newFieldValueTiddler>get[text]] }}}/>\n<$action-deletetiddler $filter=\"[<newFieldNameTiddler>] [<newFieldValueTiddler>] [<storeTitle>] [<searchListState>]\"/>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" text=\"\" default=<<name>>>\n<$button>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n</$vars>\n\\end\n\\whitespace trim\n\n<div class=\"tc-edit-fields\">\n<table class={{{ [all[current]fields[]] :filter[lookup[$:/config/EditTemplateFields/Visibility/]!match[hide]] +[count[]!match[0]] +[then[tc-edit-fields]] ~[[tc-edit-fields tc-edit-fields-small]] }}}>\n<tbody>\n<$list filter=\"[all[current]fields[]] +[sort[title]]\" variable=\"currentField\" storyview=\"pop\">\n<$list filter=<<config-filter>> variable=\"temp\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$keyboard key=\"((delete-field))\" actions=\"\"\"<$action-deletefield $field=<<currentField>>/><$set name=\"currentTiddlerCSSescaped\" value={{{ [<currentTiddler>escapecss[]] }}}><$action-sendmessage $message=\"tm-focus-selector\" $param=<<current-tiddler-new-field-selector>>/></$set>\"\"\">\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} tabindex={{$:/config/EditTabIndex}} cancelPopups=\"yes\"/>\n</$keyboard>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/><$set name=\"currentTiddlerCSSescaped\" value={{{ [<currentTiddler>escapecss[]] }}}><$action-sendmessage $message=\"tm-focus-selector\" $param=<<current-tiddler-new-field-selector>>/></$set>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n</$list>\n</tbody>\n</table>\n</div>\n\n<$fieldmangler>\n<div class=\"tc-edit-field-add\">\n<em class=\"tc-edit tc-big-gap-right\">\n<<lingo Fields/Add/Prompt>>\n</em>\n<$vars refreshTitle=<<qualify \"$:/temp/fieldname/refresh\">> storeTitle=<<newFieldNameInputTiddler>> searchListState=<<newFieldNameSelectionTiddler>>>\n<div class=\"tc-edit-field-add-name-wrapper\">\n<$macrocall $name=\"keyboard-driven-input\" tiddler=<<newFieldNameTiddler>> storeTitle=<<storeTitle>> refreshTitle=<<refreshTitle>>\n\t\tselectionStateTitle=<<searchListState>> tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}}\n\t\tfocusPopup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-edit-texteditor tc-popup-handle\" tabindex={{$:/config/EditTabIndex}}\n\t\tfocus={{{ [{$:/config/AutoFocus}match[fields]then[true]] ~[[false]] }}} cancelPopups=\"yes\"\n\t\tconfigTiddlerFilter=\"[[$:/config/EditMode/fieldname-filter]]\" inputCancelActions=<<cancel-search-actions>> />\n<$button popup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown tc-small-gap\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/field-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$linkcatcher to=<<newFieldNameTiddler>>>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/User>>\n</div>\n<$set name=\"newFieldName\" value={{{ [<storeTitle>get[text]] }}}>\n<$list filter=\"[!is[shadow]!is[system]fields[]search:title<newFieldName>sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\" variable=\"currentField\">\n<$list filter=\"[<currentField>addsuffix[-primaryList]] -[<searchListState>get[text]]\" emptyMessage=\"\"\"<$link to=<<currentField>> class=\"tc-list-item-selected\"><$text text=<<currentField>>/></$link>\"\"\">\n<$link to=<<currentField>>>\n<$text text=<<currentField>>/>\n</$link>\n</$list>\n</$list>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/System>>\n</div>\n<$list filter=\"[fields[]search:title<newFieldName>sort[]] -[!is[shadow]!is[system]fields[]]\" variable=\"currentField\">\n<$list filter=\"[<currentField>addsuffix[-secondaryList]] -[<searchListState>get[text]]\" emptyMessage=\"\"\"<$link to=<<currentField>> class=\"tc-list-item-selected\"><$text text=<<currentField>>/></$link>\"\"\">\n<$link to=<<currentField>>>\n<$text text=<<currentField>>/>\n</$link>\n</$list>\n</$list>\n</$set>\n</$linkcatcher>\n</$set>\n</div>\n</$reveal>\n</div>\n<span class=\"tc-edit-field-add-value tc-small-gap-right\">\n<$set name=\"currentTiddlerCSSescaped\" value={{{ [<currentTiddler>escapecss[]] }}}>\n<$keyboard key=\"((add-field))\" actions=<<new-field-actions>>>\n<$edit-text tiddler=<<newFieldValueTiddler>> tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class=\"tc-edit-texteditor\" tabindex={{$:/config/EditTabIndex}} cancelPopups=\"yes\"/>\n</$keyboard>\n</$set>\n</span>\n<span class=\"tc-edit-field-add-button\">\n<$macrocall $name=\"new-field\"/>\n</span>\n</$vars>\n</div>\n</$fieldmangler>\n"},"$:/core/ui/EditTemplate/shadow":{"tags":"$:/tags/EditTemplate","text":"\\define lingo-base() $:/language/EditTemplate/Shadow/\n\\define pluginLinkBody()\n<$link to=\"\"\"$(pluginTitle)$\"\"\">\n<$text text=\"\"\"$(pluginTitle)$\"\"\"/>\n</$link>\n\\end\n<$list filter=\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>\n\n<$list filter=\"[all[current]get[draft.of]is[shadow]is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo OverriddenWarning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>"},"$:/core/ui/EditTemplate/tags":{"tags":"$:/tags/EditTemplate","text":"\\whitespace trim\n\n\\define lingo-base() $:/language/EditTemplate/\n\n\\define tag-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-body-inner(colour,fallbackTarget,colourA,colourB,icon,tagField:\"tags\")\n\\whitespace trim\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<span style=<<tag-styles>> class=\"tc-tag-label tc-tag-list-item\">\n<$transclude tiddler=\"\"\"$icon$\"\"\"/><$view field=\"title\" format=\"text\" />\n<$button class=\"tc-btn-invisible tc-remove-tag-button\"><$action-listops $tiddler=<<saveTiddler>> $field=<<__tagField__>> $subfilter=\"-[{!!title}]\"/>{{$:/core/images/close-button}}</$button>\n</span>\n</$vars>\n\\end\n\n\\define tag-body(colour,palette,icon,tagField:\"tags\")\n<$macrocall $name=\"tag-body-inner\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} icon=\"\"\"$icon$\"\"\" tagField=<<__tagField__>>/>\n\\end\n\n\\define edit-tags-template(tagField:\"tags\")\n\\whitespace trim\n<div class=\"tc-edit-tags\">\n<$list filter=\"[list[!!$tagField$]sort[title]]\" storyview=\"pop\">\n<$macrocall $name=\"tag-body\" colour={{!!color}} palette={{$:/palette}} icon={{!!icon}} tagField=<<__tagField__>>/>\n</$list>\n<$vars tabIndex={{$:/config/EditTabIndex}} cancelPopups=\"yes\">\n<$macrocall $name=\"tag-picker\" tagField=<<__tagField__>>/>\n</$vars>\n</div>\n\\end\n<$set name=\"saveTiddler\" value=<<currentTiddler>>>\n<$macrocall $name=\"edit-tags-template\" tagField=<<tagField>>/>\n</$set>\n"},"$:/core/ui/EditTemplate/title":{"tags":"$:/tags/EditTemplate","text":"<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\" focus={{{ [{$:/config/AutoFocus}match[title]then[true]] ~[[false]] }}} tabindex={{$:/config/EditTabIndex}} cancelPopups=\"yes\"/>\n\n<$vars pattern=\"\"\"[\\|\\[\\]{}]\"\"\" bad-chars=\"\"\"`| [ ] { }`\"\"\">\n\n<$list filter=\"[all[current]regexp:draft.title<pattern>]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/BadCharacterWarning}}\n\n</div>\n\n</$list>\n\n</$vars>\n\n<$reveal state=\"!!draft.title\" type=\"nomatch\" text={{!!draft.of}} tag=\"div\">\n\n<$list filter=\"[{!!draft.title}!is[missing]]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}\n\n</div>\n\n</$list>\n\n<$list filter=\"[{!!draft.of}!is[missing]]\" variable=\"listItem\">\n\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\n\n<$checkbox tiddler=\"$:/config/RelinkOnRename\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}</$checkbox>\n\n<$list filter=\"[title<fromTitle>backlinks[]limit[1]]\" variable=\"listItem\">\n\n<$vars stateTiddler=<<qualify \"$:/state/edit/references\">> >\n\n<$reveal type=\"nomatch\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"show\" class=\"tc-btn-invisible\">{{$:/core/images/right-arrow}} \n<<lingo EditTemplate/Title/References/Prompt>></$button>\n</$reveal>\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"hide\" class=\"tc-btn-invisible\">{{$:/core/images/down-arrow}} \n<<lingo EditTemplate/Title/References/Prompt>></$button>\n</$reveal>\n\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$tiddler tiddler=<<fromTitle>> >\n<$transclude tiddler=\"$:/core/ui/TiddlerInfo/References\"/>\n</$tiddler>\n</$reveal>\n\n</$vars>\n\n</$list>\n\n</$vars>\n\n</$list>\n\n</$reveal>\n"},"$:/core/ui/EditTemplate/type":{"tags":"$:/tags/EditTemplate","first-search-filter":"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]sort[description]sort[group-sort]removeprefix[$:/language/Docs/Types/]search<userInput>]","text":"\\define lingo-base() $:/language/EditTemplate/\n\\define input-cancel-actions() <$list filter=\"[<storeTitle>get[text]] [<currentTiddler>get[type]] +[limit[1]]\" emptyMessage=\"\"\"<<cancel-delete-tiddler-actions \"cancel\">>\"\"\"><$action-sendmessage $message=\"tm-remove-field\" $param=\"type\"/><$action-deletetiddler $filter=\"[<typeInputTiddler>] [<refreshTitle>] [<typeSelectionTiddler>]\"/></$list>\n\\whitespace trim\n<$set name=\"refreshTitle\" value=<<qualify \"$:/temp/type-search/refresh\">>>\n<div class=\"tc-edit-type-selector-wrapper\">\n<em class=\"tc-edit tc-big-gap-right\"><<lingo Type/Prompt>></em>\n<div class=\"tc-type-selector-dropdown-wrapper\">\n<div class=\"tc-type-selector\"><$fieldmangler>\n<$macrocall $name=\"keyboard-driven-input\" tiddler=<<currentTiddler>> storeTitle=<<typeInputTiddler>> refreshTitle=<<refreshTitle>> selectionStateTitle=<<typeSelectionTiddler>> field=\"type\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-edit-typeeditor tc-edit-texteditor tc-popup-handle\" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[type]then[true]] ~[[false]] }}} cancelPopups=\"yes\" configTiddlerFilter=\"[[$:/core/ui/EditTemplate/type]]\" inputCancelActions=<<input-cancel-actions>>/><$button popup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown tc-small-gap\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button><$button message=\"tm-remove-field\" param=\"type\" class=\"tc-btn-invisible tc-btn-icon\" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}<$action-deletetiddler $filter=\"[<storeTitle>] [<refreshTitle>] [<selectionStateTitle>]\"/></$button>\n</$fieldmangler></div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$reveal state=<<qualify \"$:/state/popup/type-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"!!type\">\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group-sort]]'>\n<div class=\"tc-dropdown-item\">\n<$text text={{!!group}}/>\n</div>\n<$set name=\"userInput\" value={{{ [<typeInputTiddler>get[text]] }}}>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]] +[removeprefix[$:/language/Docs/Types/]] +[search<userInput>]\"><span class={{{ [<currentTiddler>addsuffix[-primaryList]] -[<typeSelectionTiddler>get[text]] +[then[]else[tc-list-item-selected]] }}}><$link to={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]get[name]] }}}><$view tiddler={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]] }}} field=\"description\"/> (<$view tiddler={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]] }}} field=\"name\"/>)</$link></span>\n</$list>\n</$set>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</$set>\n</div>\n</div>\n</div>\n</$set>\n"},"$:/core/ui/EditTemplate":{"text":"\\define delete-edittemplate-state-tiddlers() <$action-deletetiddler $filter=\"[<newFieldNameTiddler>] [<newFieldValueTiddler>] [<newFieldNameInputTiddler>] [<newFieldNameSelectionTiddler>] [<newTagNameTiddler>] [<newTagNameInputTiddler>] [<newTagNameSelectionTiddler>] [<typeInputTiddler>] [<typeSelectionTiddler>]\"/>\n\\define save-tiddler-actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{{ [<newTagNameTiddler>get[text]] }}}/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldValueTiddler>get[text]] }}}/>\n<<delete-edittemplate-state-tiddlers>>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n\\end\n\\define cancel-delete-tiddler-actions(message)\n<<delete-edittemplate-state-tiddlers>>\n<$action-sendmessage $message=\"tm-$message$-tiddler\"/>\n\\end\n<div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class={{{ tc-tiddler-frame tc-tiddler-edit-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}>\n<$fieldmangler>\n<$vars storyTiddler=<<currentTiddler>> newTagNameTiddler=<<qualify \"$:/temp/NewTagName\">> newFieldNameTiddler=<<qualify \"$:/temp/NewFieldName\">> newFieldValueTiddler=<<qualify \"$:/temp/NewFieldValue\">> newFieldNameInputTiddler=<<qualify \"$:/temp/NewFieldName/input\">> newFieldNameSelectionTiddler=<<qualify \"$:/temp/NewFieldName/selected-item\">> newTagNameInputTiddler=<<qualify \"$:/temp/NewTagName/input\">> newTagNameSelectionTiddler=<<qualify \"$:/temp/NewTagName/selected-item\">> typeInputTiddler=<<qualify \"$:/temp/Type/input\">> typeSelectionTiddler=<<qualify \"$:/temp/Type/selected-item\">>>\n<$keyboard key=\"((cancel-edit-tiddler))\" actions=<<cancel-delete-tiddler-actions \"cancel\">>>\n<$keyboard key=\"((save-tiddler))\" actions=<<save-tiddler-actions>>>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]\" variable=\"listItem\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>>/>\n</$set>\n</$list>\n</$keyboard>\n</$keyboard>\n</$vars>\n</$fieldmangler>\n</div>\n"},"$:/core/ui/Buttons/cancel":{"tags":"$:/tags/EditToolbar","caption":"{{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}","description":"{{$:/language/Buttons/Cancel/Hint}}","text":"\\whitespace trim\n<$button actions=<<cancel-delete-tiddler-actions \"cancel\">> tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/cancel-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>\n</$list>\n</$button>\n"},"$:/core/ui/Buttons/delete":{"tags":"$:/tags/EditToolbar $:/tags/ViewToolbar","caption":"{{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}","description":"{{$:/language/Buttons/Delete/Hint}}","text":"\\whitespace trim\n<$button actions=<<cancel-delete-tiddler-actions \"delete\">> tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/delete-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>\n</$list>\n</$button>\n"},"$:/core/ui/Buttons/save":{"tags":"$:/tags/EditToolbar","caption":"{{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}","description":"{{$:/language/Buttons/Save/Hint}}","text":"\\define save-tiddler-button()\n\\whitespace trim\n<$fieldmangler><$button tooltip={{$:/language/Buttons/Save/Hint}} aria-label={{$:/language/Buttons/Save/Caption}} class=<<tv-config-toolbar-class>>>\n<<save-tiddler-actions>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/done-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Save/Caption}}/></span>\n</$list>\n</$button></$fieldmangler>\n\\end\n<<save-tiddler-button>>\n"},"$:/core/ui/EditorToolbar/bold":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/bold","caption":"{{$:/language/Buttons/Bold/Caption}}","description":"{{$:/language/Buttons/Bold/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((bold))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"''\"\n\tsuffix=\"''\"\n/>\n"},"$:/core/ui/EditorToolbar/clear-dropdown":{"text":"''{{$:/language/Buttons/Clear/Hint}}''\n\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"clear\"\n\tcolour=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n\n</div>\n"},"$:/core/ui/EditorToolbar/clear":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/erase","caption":"{{$:/language/Buttons/Clear/Caption}}","description":"{{$:/language/Buttons/Clear/Hint}}","condition":"[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]","dropdown":"$:/core/ui/EditorToolbar/clear-dropdown","text":""},"$:/core/ui/EditorToolbar/editor-height-dropdown":{"text":"\\define lingo-base() $:/language/Buttons/EditorHeight/\n''<<lingo Hint>>''\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"auto\"> {{$:/core/images/auto-height}} <<lingo Caption/Auto>></$radio>\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"fixed\"> {{$:/core/images/fixed-height}} <<lingo Caption/Fixed>> <$edit-text tag=\"input\" tiddler=\"$:/config/TextEditor/EditorHeight/Height\" default=\"100px\"/></$radio>\n"},"$:/core/ui/EditorToolbar/editor-height":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/fixed-height","custom-icon":"yes","caption":"{{$:/language/Buttons/EditorHeight/Caption}}","description":"{{$:/language/Buttons/EditorHeight/Hint}}","condition":"[<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/]] [<targetTiddler>get[type]match[application/javascript]] [<targetTiddler>get[type]match[application/json]] [<targetTiddler>get[type]match[application/x-tiddler-dictionary]] [<targetTiddler>get[type]match[image/svg+xml]] +[first[]]","dropdown":"$:/core/ui/EditorToolbar/editor-height-dropdown","text":"<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n{{$:/core/images/fixed-height}}\n</$reveal>\n<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n{{$:/core/images/auto-height}}\n</$reveal>\n"},"$:/core/ui/EditorToolbar/excise-dropdown":{"text":"\\define lingo-base() $:/language/Buttons/Excise/\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<<lingo Caption/NewTitle>> <$edit-text tag=\"input\" tiddler=\"$config-title$/new-title\" default=\"\" focus=\"true\"/>\n\n<$set name=\"new-title\" value={{$config-title$/new-title}}>\n<$list filter=\"\"\"[<new-title>is[tiddler]]\"\"\">\n<div class=\"tc-error\">\n<<lingo Caption/TiddlerExists>>\n</div>\n</$list>\n</$set>\n\n<$checkbox tiddler=\"\"\"$config-title$/tagnew\"\"\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"false\"> <<lingo Caption/Tag>></$checkbox>\n\n<<lingo Caption/Replace>> <$select tiddler=\"\"\"$config-title$/type\"\"\" default=\"transclude\">\n<option value=\"link\"><<lingo Caption/Replace/Link>></option>\n<option value=\"transclude\"><<lingo Caption/Replace/Transclusion>></option>\n<option value=\"macro\"><<lingo Caption/Replace/Macro>></option>\n</$select>\n\n<$reveal state=\"\"\"$config-title$/type\"\"\" type=\"match\" text=\"macro\">\n<<lingo Caption/MacroName>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/macro-title\"\"\" default=\"translink\"/>\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"excise\"\n\ttitle={{$config-title$/new-title}}\n\ttype={{$config-title$/type}}\n\tmacro={{$config-title$/macro-title}}\n\ttagnew={{$config-title$/tagnew}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"$config-title$/new-title\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Excise>>\n</$button>\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Excise/\">>/>\n"},"$:/core/ui/EditorToolbar/excise":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/excise","caption":"{{$:/language/Buttons/Excise/Caption}}","description":"{{$:/language/Buttons/Excise/Hint}}","condition":"[<targetTiddler>type[]] [<targetTiddler>type[text/vnd.tiddlywiki]] +[first[]]","shortcuts":"((excise))","dropdown":"$:/core/ui/EditorToolbar/excise-dropdown","text":""},"$:/core/ui/EditorToolbar/heading-1":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-1","caption":"{{$:/language/Buttons/Heading1/Caption}}","description":"{{$:/language/Buttons/Heading1/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","button-classes":"tc-text-editor-toolbar-item-start-group","shortcuts":"((heading-1))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"1\"\n/>\n"},"$:/core/ui/EditorToolbar/heading-2":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-2","caption":"{{$:/language/Buttons/Heading2/Caption}}","description":"{{$:/language/Buttons/Heading2/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((heading-2))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"2\"\n/>\n"},"$:/core/ui/EditorToolbar/heading-3":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-3","caption":"{{$:/language/Buttons/Heading3/Caption}}","description":"{{$:/language/Buttons/Heading3/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((heading-3))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"3\"\n/>\n"},"$:/core/ui/EditorToolbar/heading-4":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-4","caption":"{{$:/language/Buttons/Heading4/Caption}}","description":"{{$:/language/Buttons/Heading4/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((heading-4))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"4\"\n/>\n"},"$:/core/ui/EditorToolbar/heading-5":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-5","caption":"{{$:/language/Buttons/Heading5/Caption}}","description":"{{$:/language/Buttons/Heading5/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((heading-5))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"5\"\n/>\n"},"$:/core/ui/EditorToolbar/heading-6":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-6","caption":"{{$:/language/Buttons/Heading6/Caption}}","description":"{{$:/language/Buttons/Heading6/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((heading-6))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"6\"\n/>\n"},"$:/core/ui/EditorToolbar/italic":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/italic","caption":"{{$:/language/Buttons/Italic/Caption}}","description":"{{$:/language/Buttons/Italic/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((italic))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"//\"\n\tsuffix=\"//\"\n/>\n"},"$:/core/ui/EditorToolbar/line-width-dropdown":{"text":"\\define lingo-base() $:/language/Buttons/LineWidth/\n\n\\define toolbar-line-width-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(line-width)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/LineWidth\"\n\t$value=\"$(line-width)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; margin: 4px calc(80px - $(line-width)$); background-color: #000; width: calc(100px + $(line-width)$ * 2); height: $(line-width)$; border-radius: 120px; vertical-align: middle;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(line-width)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/LineWidth\" type=\"match\" text=\"\"\"$(line-width)$\"\"\" tag=\"span\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/LineWidths}} variable=\"line-width\">\n\n<<toolbar-line-width-inner>>\n\n</$list>\n"},"$:/core/ui/EditorToolbar/line-width":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/line-width","caption":"{{$:/language/Buttons/LineWidth/Caption}}","description":"{{$:/language/Buttons/LineWidth/Hint}}","condition":"[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]","dropdown":"$:/core/ui/EditorToolbar/line-width-dropdown","text":"<$text text={{$:/config/BitmapEditor/LineWidth}}/>\n"},"$:/core/ui/EditorToolbar/link-dropdown":{"text":"\\define lingo-base() $:/language/Buttons/Link/\n\n\\define add-link-actions()\n<$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"make-link\" text={{$(linkTiddler)$}} />\n<$action-deletetiddler $filter=\"[<dropdown-state>] [<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]\"/>\n\\end\n\n\\define get-focus-selector() [data-tiddler-title=\"$(cssEscapedTitle)$\"] .tc-create-wikitext-link input\n\n\\define cancel-search-actions-inner()\n<$set name=\"userInput\" value={{{ [<storeTitle>get[text]] }}}><$list filter=\"[<searchTiddler>get[text]!match<userInput>]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]\"/>\"\"\"><$action-setfield $tiddler=<<searchTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/></$list></$set>\n\\end\n\n\\define cancel-search-actions() <$list filter=\"[<storeTitle>!has[text]] +[<searchTiddler>!has[text]]\" emptyMessage=\"\"\"<<cancel-search-actions-inner>>\"\"\"><$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"wrap-selection\" prefix=\"\" suffix=\"\"/></$list>\n\n\\define external-link()\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\" actions=<<add-link-actions>>>\n{{$:/core/images/chevron-right}}\n</$button>\n\\end\n\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/sidebar\" tag=\"$:/tags/SearchResults\" beforeafter=\"$beforeafter$\" defaultState={{$:/config/SearchResults/Default}} actions=\"\"\"<$action-setfield $tiddler=\"$:/state/search/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<$vars searchTiddler=\"\"\"$config-title$/search\"\"\" linkTiddler=\"\"\"$config-title$/link\"\"\" linktext=\"\" searchListState=<<qualify \"$:/temp/link-search/selected-item\">> refreshTitle=<<qualify \"$:/temp/link-search/refresh\">> storeTitle=<<qualify \"$:/temp/link-search/input\">>>\n\n<$vars linkTiddler=<<searchTiddler>>>\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">> class=\"tc-create-wikitext-link\">\n<$macrocall $name=\"keyboard-driven-input\" tiddler=<<searchTiddler>> storeTitle=<<storeTitle>>\n\t\tselectionStateTitle=<<searchListState>> refreshTitle=<<refreshTitle>> type=\"search\" filterMinLength=\"1\"\n\t\ttag=\"input\" focus=\"true\" class=\"tc-popup-handle\" inputCancelActions=<<cancel-search-actions>> \n\t\tinputAcceptActions=<<add-link-actions>> placeholder={{$:/language/Search/Search}} default=\"\" \n\t\tconfigTiddlerFilter=\"[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]\" />\n</$keyboard>\n</$keyboard>\n<$reveal tag=\"span\" state=<<storeTitle>> type=\"nomatch\" text=\"\">\n<<external-link>>\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\">\n<<cancel-search-actions>><$set name=\"cssEscapedTitle\" value={{{ [<storyTiddler>escapecss[]] }}}><$action-sendmessage $message=\"tm-focus-selector\" $param=<<get-focus-selector>>/></$set>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</$vars>\n\n<$reveal tag=\"div\" state=<<storeTitle>> type=\"nomatch\" text=\"\">\n\n<$linkcatcher actions=<<add-link-actions>> to=<<linkTiddler>>>\n\n<$vars userInput={{{ [<storeTitle>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}>\n\n{{$:/core/ui/SearchResults}}\n\n</$vars>\n\n</$linkcatcher>\n\n</$reveal>\n\n</$vars>\n\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Link/\">>/>\n"},"$:/core/ui/EditorToolbar/link":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/link","caption":"{{$:/language/Buttons/Link/Caption}}","description":"{{$:/language/Buttons/Link/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","button-classes":"tc-text-editor-toolbar-item-start-group","shortcuts":"((link))","dropdown":"$:/core/ui/EditorToolbar/link-dropdown","text":""},"$:/core/ui/EditorToolbar/linkify":{"caption":"{{$:/language/Buttons/Linkify/Caption}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","description":"{{$:/language/Buttons/Linkify/Hint}}","icon":"$:/core/images/linkify","list-before":"$:/core/ui/EditorToolbar/mono-block","shortcuts":"((linkify))","tags":"$:/tags/EditorToolbar","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"[[\"\n\tsuffix=\"]]\"\n/>\n"},"$:/core/ui/EditorToolbar/list-bullet":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/list-bullet","caption":"{{$:/language/Buttons/ListBullet/Caption}}","description":"{{$:/language/Buttons/ListBullet/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((list-bullet))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n"},"$:/core/ui/EditorToolbar/list-number":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/list-number","caption":"{{$:/language/Buttons/ListNumber/Caption}}","description":"{{$:/language/Buttons/ListNumber/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((list-number))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n"},"$:/core/ui/EditorToolbar/mono-block":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/mono-block","caption":"{{$:/language/Buttons/MonoBlock/Caption}}","description":"{{$:/language/Buttons/MonoBlock/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","button-classes":"tc-text-editor-toolbar-item-start-group","shortcuts":"((mono-block))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n```\"\n\tsuffix=\"```\"\n/>\n"},"$:/core/ui/EditorToolbar/mono-line":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/mono-line","caption":"{{$:/language/Buttons/MonoLine/Caption}}","description":"{{$:/language/Buttons/MonoLine/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((mono-line))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n/>\n"},"$:/core/ui/EditorToolbar/more-dropdown":{"text":"\\define config-title()\n$:/config/EditorToolbarButtons/Visibility/$(toolbarItem)$\n\\end\n\n\\define conditional-button()\n<$list filter={{$(toolbarItem)$!!condition}} variable=\"condition\">\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\" mode=\"inline\"/> <$transclude tiddler=<<toolbarItem>> field=\"description\"/>\n</$list>\n\\end\n\n<div class=\"tc-text-editor-toolbar-more\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]] -[[$:/core/ui/EditorToolbar/more]]\">\n<$reveal type=\"match\" state=<<config-visibility-title>> text=\"hide\" tag=\"div\">\n<<conditional-button>>\n</$reveal>\n</$list>\n</div>\n"},"$:/core/ui/EditorToolbar/more":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/down-arrow","caption":"{{$:/language/Buttons/More/Caption}}","description":"{{$:/language/Buttons/More/Hint}}","condition":"[<targetTiddler>]","dropdown":"$:/core/ui/EditorToolbar/more-dropdown","text":""},"$:/core/ui/EditorToolbar/opacity-dropdown":{"text":"\\define lingo-base() $:/language/Buttons/Opacity/\n\n\\define toolbar-opacity-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(opacity)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Opacity\"\n\t$value=\"$(opacity)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(current-paint-colour)$; opacity: $(opacity)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(opacity)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/Opacity\" type=\"match\" text=\"\"\"$(opacity)$\"\"\" tag=\"span\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n\\define toolbar-opacity()\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/Opacities}} variable=\"opacity\">\n\n<<toolbar-opacity-inner>>\n\n</$list>\n\\end\n\n<$set name=\"current-paint-colour\" value={{$:/config/BitmapEditor/Colour}}>\n\n<$set name=\"current-opacity\" value={{$:/config/BitmapEditor/Opacity}}>\n\n<<toolbar-opacity>>\n\n</$set>\n\n</$set>\n"},"$:/core/ui/EditorToolbar/opacity":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/opacity","caption":"{{$:/language/Buttons/Opacity/Caption}}","description":"{{$:/language/Buttons/Opacity/Hint}}","condition":"[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]","dropdown":"$:/core/ui/EditorToolbar/opacity-dropdown","text":"<$text text={{$:/config/BitmapEditor/Opacity}}/>\n"},"$:/core/ui/EditorToolbar/paint-dropdown":{"text":"''{{$:/language/Buttons/Paint/Hint}}''\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Colour\"\n\t$value=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"},"$:/core/ui/EditorToolbar/paint":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/paint","caption":"{{$:/language/Buttons/Paint/Caption}}","description":"{{$:/language/Buttons/Paint/Hint}}","condition":"[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]","dropdown":"$:/core/ui/EditorToolbar/paint-dropdown","text":"\\define toolbar-paint()\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(colour-picker-value)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\\end\n<$set name=\"colour-picker-value\" value={{$:/config/BitmapEditor/Colour}}>\n<<toolbar-paint>>\n</$set>\n"},"$:/core/ui/EditorToolbar/picture-dropdown":{"text":"\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n''{{$:/language/Buttons/Picture/Hint}}''\n\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext=<<replacement-text>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"},"$:/core/ui/EditorToolbar/picture":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/picture","caption":"{{$:/language/Buttons/Picture/Caption}}","description":"{{$:/language/Buttons/Picture/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((picture))","dropdown":"$:/core/ui/EditorToolbar/picture-dropdown","text":""},"$:/core/ui/EditorToolbar/preview-type-dropdown":{"text":"\\define preview-type-button()\n<$button tag=\"a\">\n\n<$action-setfield $tiddler=\"$:/state/editpreviewtype\" $value=\"$(previewType)$\"/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<previewType>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<previewType>> field=\"title\" mode=\"inline\"/>\n\n</$transclude> \n\n<$reveal tag=\"span\" state=\"$:/state/editpreviewtype\" type=\"match\" text=<<previewType>> default=\"$:/core/ui/EditTemplate/body/preview/output\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]]\" variable=\"previewType\">\n\n<<preview-type-button>>\n\n</$list>\n"},"$:/core/ui/EditorToolbar/preview-type":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/chevron-down","caption":"{{$:/language/Buttons/PreviewType/Caption}}","description":"{{$:/language/Buttons/PreviewType/Hint}}","condition":"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]butfirst[]limit[1]]","button-classes":"tc-text-editor-toolbar-item-adjunct","dropdown":"$:/core/ui/EditorToolbar/preview-type-dropdown"},"$:/core/ui/EditorToolbar/preview":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/preview-open","custom-icon":"yes","caption":"{{$:/language/Buttons/Preview/Caption}}","description":"{{$:/language/Buttons/Preview/Hint}}","condition":"[<targetTiddler>]","button-classes":"tc-text-editor-toolbar-item-start-group","shortcuts":"((preview))","text":"<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-open}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"no\"/>\n</$reveal>\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-closed}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"yes\"/>\n</$reveal>\n"},"$:/core/ui/EditorToolbar/quote":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/quote","caption":"{{$:/language/Buttons/Quote/Caption}}","description":"{{$:/language/Buttons/Quote/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((quote))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n<<<\"\n\tsuffix=\"<<<\"\n/>\n"},"$:/core/ui/EditorToolbar/rotate-left":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/rotate-left","caption":"{{$:/language/Buttons/RotateLeft/Caption}}","description":"{{$:/language/Buttons/RotateLeft/Hint}}","condition":"[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]","text":"<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"rotate-left\"\n/>\n"},"$:/core/ui/EditorToolbar/size-dropdown":{"text":"\\define lingo-base() $:/language/Buttons/Size/\n\n\\define toolbar-button-size-preset(config-title)\n<$set name=\"width\" filter=\"$(sizePair)$ +[first[]]\">\n\n<$set name=\"height\" filter=\"$(sizePair)$ +[last[]]\">\n\n<$button tag=\"a\">\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n\t$value=<<width>>\n/>\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n\t$value=<<height>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/presets-popup\"\"\"\n/>\n\n<$text text=<<width>>/> × <$text text=<<height>>/>\n\n</$button>\n\n</$set>\n\n</$set>\n\\end\n\n\\define toolbar-button-size(config-title)\n''{{$:/language/Buttons/Size/Hint}}''\n\n<<lingo Caption/Width>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-width\"\"\" default=<<tv-bitmap-editor-width>> focus=\"true\" size=\"8\"/> <<lingo Caption/Height>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-height\"\"\" default=<<tv-bitmap-editor-height>> size=\"8\"/> <$button popup=\"\"\"$config-title$/presets-popup\"\"\" class=\"tc-btn-invisible tc-popup-keep\" style=\"width: auto; display: inline-block; background-colour: inherit;\" selectedClass=\"tc-selected\">\n{{$:/core/images/down-arrow}}\n</$button>\n\n<$reveal tag=\"span\" state=\"\"\"$config-title$/presets-popup\"\"\" type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down tc-popup-keep\">\n\n<$list filter={{$:/config/BitmapEditor/ImageSizes}} variable=\"sizePair\">\n\n<$macrocall $name=\"toolbar-button-size-preset\" config-title=\"$config-title$\"/>\n\n</$list>\n\n</div>\n\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"resize\"\n\twidth={{$config-title$/new-width}}\n\theight={{$config-title$/new-height}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Resize>>\n</$button>\n\\end\n\n<$macrocall $name=\"toolbar-button-size\" config-title=<<qualify \"$:/state/Size/\">>/>\n"},"$:/core/ui/EditorToolbar/size":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/size","caption":"{{$:/language/Buttons/Size/Caption}}","description":"{{$:/language/Buttons/Size/Hint}}","condition":"[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]","dropdown":"$:/core/ui/EditorToolbar/size-dropdown","text":""},"$:/core/ui/EditorToolbar/stamp-dropdown":{"text":"\\define toolbar-button-stamp-inner()\n<$button tag=\"a\">\n\n<$list filter=\"[[$(snippetTitle)$]addsuffix[/prefix]is[missing]removesuffix[/prefix]addsuffix[/suffix]is[missing]]\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext={{$(snippetTitle)$}}\n/>\n\n</$list>\n\n\n<$list filter=\"[[$(snippetTitle)$]addsuffix[/prefix]is[missing]removesuffix[/prefix]addsuffix[/suffix]!is[missing]] [[$(snippetTitle)$]addsuffix[/prefix]!is[missing]removesuffix[/prefix]addsuffix[/suffix]is[missing]] [[$(snippetTitle)$]addsuffix[/prefix]!is[missing]removesuffix[/prefix]addsuffix[/suffix]!is[missing]]\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix={{{ [[$(snippetTitle)$]addsuffix[/prefix]get[text]] }}}\nsuffix={{{ [[$(snippetTitle)$]addsuffix[/suffix]get[text]] }}}\n/>\n\n</$list>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<snippetTitle>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<snippetTitle>> field=\"title\" />\n\n</$transclude>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TextEditor/Snippet]!has[draft.of]sort[caption]]\" variable=\"snippetTitle\">\n\n<<toolbar-button-stamp-inner>>\n\n</$list>\n\n----\n\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-new-tiddler\"\n\ttags=\"$:/tags/TextEditor/Snippet\"\n\tcaption={{$:/language/Buttons/Stamp/New/Title}}\n\ttext={{$:/language/Buttons/Stamp/New/Text}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<em>\n\n<$text text={{$:/language/Buttons/Stamp/Caption/New}}/>\n\n</em>\n\n</$button>\n"},"$:/core/ui/EditorToolbar/stamp":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/stamp","caption":"{{$:/language/Buttons/Stamp/Caption}}","description":"{{$:/language/Buttons/Stamp/Hint}}","condition":"[<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/]] [<targetTiddler>get[type]match[application/javascript]] [<targetTiddler>get[type]match[application/json]] [<targetTiddler>get[type]match[application/x-tiddler-dictionary]] [<targetTiddler>get[type]match[image/svg+xml]] +[first[]]","shortcuts":"((stamp))","dropdown":"$:/core/ui/EditorToolbar/stamp-dropdown","text":""},"$:/core/ui/EditorToolbar/strikethrough":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/strikethrough","caption":"{{$:/language/Buttons/Strikethrough/Caption}}","description":"{{$:/language/Buttons/Strikethrough/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((strikethrough))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"~~\"\n\tsuffix=\"~~\"\n/>\n"},"$:/core/ui/EditorToolbar/subscript":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/subscript","caption":"{{$:/language/Buttons/Subscript/Caption}}","description":"{{$:/language/Buttons/Subscript/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((subscript))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\",,\"\n\tsuffix=\",,\"\n/>\n"},"$:/core/ui/EditorToolbar/superscript":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/superscript","caption":"{{$:/language/Buttons/Superscript/Caption}}","description":"{{$:/language/Buttons/Superscript/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((superscript))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"^^\"\n\tsuffix=\"^^\"\n/>\n"},"$:/core/ui/EditorToolbar/transcludify":{"caption":"{{$:/language/Buttons/Transcludify/Caption}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","description":"{{$:/language/Buttons/Transcludify/Hint}}","icon":"$:/core/images/transcludify","list-before":"$:/core/ui/EditorToolbar/mono-block","shortcuts":"((transcludify))","tags":"$:/tags/EditorToolbar","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"{{\"\n\tsuffix=\"}}\"\n/>\n"},"$:/core/ui/EditorToolbar/underline":{"tags":"$:/tags/EditorToolbar","icon":"$:/core/images/underline","caption":"{{$:/language/Buttons/Underline/Caption}}","description":"{{$:/language/Buttons/Underline/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((underline))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"__\"\n\tsuffix=\"__\"\n/>\n"},"$:/core/Filters/AllTags":{"tags":"$:/tags/Filter","filter":"[tags[]!is[system]sort[title]]","description":"{{$:/language/Filters/AllTags}}","text":""},"$:/core/Filters/AllTiddlers":{"tags":"$:/tags/Filter","filter":"[!is[system]sort[title]]","description":"{{$:/language/Filters/AllTiddlers}}","text":""},"$:/core/Filters/Drafts":{"tags":"$:/tags/Filter","filter":"[has[draft.of]sort[title]]","description":"{{$:/language/Filters/Drafts}}","text":""},"$:/core/Filters/Missing":{"tags":"$:/tags/Filter","filter":"[all[missing]sort[title]]","description":"{{$:/language/Filters/Missing}}","text":""},"$:/core/Filters/Orphans":{"tags":"$:/tags/Filter","filter":"[all[orphans]sort[title]]","description":"{{$:/language/Filters/Orphans}}","text":""},"$:/core/Filters/OverriddenShadowTiddlers":{"tags":"$:/tags/Filter","filter":"[is[shadow]]","description":"{{$:/language/Filters/OverriddenShadowTiddlers}}","text":""},"$:/core/Filters/RecentSystemTiddlers":{"tags":"$:/tags/Filter","filter":"[has[modified]!sort[modified]limit[50]]","description":"{{$:/language/Filters/RecentSystemTiddlers}}","text":""},"$:/core/Filters/RecentTiddlers":{"tags":"$:/tags/Filter","filter":"[!is[system]has[modified]!sort[modified]limit[50]]","description":"{{$:/language/Filters/RecentTiddlers}}","text":""},"$:/core/Filters/SessionTiddlers":{"tags":"$:/tags/Filter","filter":"[haschanged[]]","description":"{{$:/language/Filters/SessionTiddlers}}","text":""},"$:/core/Filters/ShadowTiddlers":{"tags":"$:/tags/Filter","filter":"[all[shadows]sort[title]]","description":"{{$:/language/Filters/ShadowTiddlers}}","text":""},"$:/core/Filters/StoryList":{"tags":"$:/tags/Filter","filter":"[list[$:/StoryList]] -$:/AdvancedSearch","description":"{{$:/language/Filters/StoryList}}","text":""},"$:/core/Filters/SystemTags":{"tags":"$:/tags/Filter","filter":"[all[shadows+tiddlers]tags[]is[system]sort[title]]","description":"{{$:/language/Filters/SystemTags}}","text":""},"$:/core/Filters/SystemTiddlers":{"tags":"$:/tags/Filter","filter":"[is[system]sort[title]]","description":"{{$:/language/Filters/SystemTiddlers}}","text":""},"$:/core/Filters/TypedTiddlers":{"tags":"$:/tags/Filter","filter":"[!is[system]has[type]each[type]sort[type]] -[type[text/vnd.tiddlywiki]]","description":"{{$:/language/Filters/TypedTiddlers}}","text":""},"$:/core/ui/ImportListing":{"text":"\\define lingo-base() $:/language/Import/\n\n\\define messageField() message-$(payloadTiddler)$\n\n\\define payloadTitleFilter() [<currentTiddler>get<renameField>minlength[1]else<payloadTiddler>]\n\n\\define overWriteWarning()\n<$list filter=\"[<currentTiddler>!has<suppressedField>]\">\n<$text text={{{[subfilter<payloadTitleFilter>!is[tiddler]then[]] ~[<lingo-base>addsuffix[Listing/Rename/OverwriteWarning]get[text]]}}}/>\n</$list>\n\\end\n\n\\define selectionField() selection-$(payloadTiddler)$\n\n\\define renameField() rename-$(payloadTiddler)$\n\n\\define suppressedField() suppressed-$(payloadTiddler)$\n\n\\define newImportTitleTiddler() $:/temp/NewImportTitle-$(payloadTiddler)$\n\n\\define previewPopupState() $(currentTiddler)$!!popup-$(payloadTiddler)$\n\n\\define renameFieldState() $(currentTiddler)$!!state-rename-$(payloadTiddler)$\n\n\\define select-all-actions()\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<$action-setfield $field={{{ [<payloadTiddler>addprefix[selection-]] }}} $value={{$:/state/import/select-all}}/>\n</$list>\n\\end\n\n<table class=\"tc-import-table\">\n<tbody>\n<tr>\n<th align=\"left\">\n<$checkbox tiddler=\"$:/state/import/select-all\" field=\"text\" checked=\"checked\" unchecked=\"unchecked\" default=\"checked\" actions=<<select-all-actions>>>\n<<lingo Listing/Select/Caption>>\n</$checkbox>\n</th>\n<th>\n<<lingo Listing/Title/Caption>>\n</th>\n<th>\n<<lingo Listing/Status/Caption>>\n</th>\n</tr>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<tr class={{{[<currentTiddler>has<suppressedField>then[tc-row-disabled]] ~[subfilter<payloadTitleFilter>is[tiddler]then[tc-row-warning]] }}}>\n<td>\n<$checkbox field=<<selectionField>> checked=\"checked\" unchecked=\"unchecked\" default=\"checked\" disabled={{{[<currentTiddler>has<suppressedField>then[yes]else[no]]}}}/>\n</td>\n<td>\n<$reveal type=\"nomatch\" state=<<renameFieldState>> text=\"yes\" tag=\"div\">\n<$reveal type=\"nomatch\" state=<<previewPopupState>> text=\"yes\" tag=\"div\" class=\"tc-flex\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown tc-flex-grow-1 tc-word-break\" set=<<previewPopupState>> setTo=\"yes\" disabled={{{[<currentTiddler>has<suppressedField>then[yes]else[no]]}}}>\n<span class=\"tc-small-gap-right\">{{$:/core/images/right-arrow}}</span><$text text={{{[subfilter<payloadTitleFilter>]}}}/>\n</$button>\n<$list filter=\"[<currentTiddler>!has<suppressedField>]\"><$button class=\"tc-btn-invisible\" set=<<renameFieldState>> setTo=\"yes\" tooltip={{{[<lingo-base>addsuffix[Listing/Rename/Tooltip]get[text]]}}}>{{$:/core/images/edit-button}}</$button></$list>\n</$reveal>\n<$reveal type=\"match\" state=<<previewPopupState>> text=\"yes\" tag=\"div\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<previewPopupState>> setTo=\"no\">\n<span class=\"tc-small-gap-right\">{{$:/core/images/down-arrow}}</span><$text text={{{[subfilter<payloadTitleFilter>]}}}/>\n</$button>\n</$reveal>\n</$reveal>\n<$reveal type=\"match\" state=<<renameFieldState>> text=\"yes\" tag=\"div\">\n<$text text={{{[<lingo-base>addsuffix[Listing/Rename/Prompt]get[text]]}}}/>\n</$reveal>\n</td>\n<td>\n<$view field=<<messageField>>/>\n<<overWriteWarning>>\n</td>\n</tr>\n<$reveal type=\"match\" state=<<renameFieldState>> text=\"yes\" tag=\"tr\">\n<td colspan=\"3\">\n<div class=\"tc-flex\">\n<$edit-text tiddler=<<newImportTitleTiddler>> default={{{[subfilter<payloadTitleFilter>]}}} tag=\"input\" class=\"tc-import-rename tc-flex-grow-1\"/><span class=\"tc-small-gap-left\"><$button class=\"tc-btn-invisible\" set=<<renameFieldState>> setTo=\"no\" tooltip={{{[<lingo-base>addsuffix[Listing/Rename/CancelRename]get[text]]}}}>{{$:/core/images/close-button}}<$action-deletetiddler $tiddler=<<newImportTitleTiddler>>/></$button><span class=\"tc-small-gap-right\"/></span><$button class=\"tc-btn-invisible\" set=<<renameFieldState>> setTo=\"no\" tooltip={{{[<lingo-base>addsuffix[Listing/Rename/ConfirmRename]get[text]]}}}>{{$:/core/images/done-button}}<$action-setfield $field=<<renameField>> $value={{{[<newImportTitleTiddler>get[text]minlength[1]else<payloadTiddler>]}}} /><$action-deletetiddler $tiddler=<<newImportTitleTiddler>>/></$button>\n</div>\n</td>\n</$reveal>\n<tr>\n<td colspan=\"3\">\n<$reveal type=\"match\" text=\"yes\" state=<<previewPopupState>> tag=\"div\">\n<$list filter=\"[{$:/state/importpreviewtype}has[text]]\" variable=\"listItem\" emptyMessage={{$:/core/ui/ImportPreviews/Text}}>\n<$transclude tiddler={{$:/state/importpreviewtype}}/>\n</$list>\n</$reveal>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"},"$:/core/ui/ImportPreviews/Diff":{"tags":"$:/tags/ImportPreview","caption":"{{$:/language/Import/Listing/Preview/Diff}}","text":"<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle=<<payloadTiddler>> destTiddlerTitle=<<currentTiddler>> destSubTiddlerTitle=<<payloadTiddler>>/>\n"},"$:/core/ui/ImportPreviews/DiffFields":{"tags":"$:/tags/ImportPreview","caption":"{{$:/language/Import/Listing/Preview/DiffFields}}","text":"<$macrocall $name=\"compareTiddlers\" sourceTiddlerTitle=<<payloadTiddler>> destTiddlerTitle=<<currentTiddler>> destSubTiddlerTitle=<<payloadTiddler>> exclude=\"text\"/>\n"},"$:/core/ui/ImportPreviews/Fields":{"tags":"$:/tags/ImportPreview","caption":"{{$:/language/Import/Listing/Preview/Fields}}","text":"<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[<payloadTiddler>subtiddlerfields<currentTiddler>sort[]] -text\" variable=\"fieldName\">\n<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<fieldName>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<fieldName>> tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>>/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"},"$:/core/ui/ImportPreviews/Text":{"tags":"$:/tags/ImportPreview","caption":"{{$:/language/Import/Listing/Preview/Text}}","text":"<$transclude tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>> mode=\"block\"/>\n"},"$:/core/ui/ImportPreviews/TextRaw":{"tags":"$:/tags/ImportPreview","caption":"{{$:/language/Import/Listing/Preview/TextRaw}}","text":"<pre><code><$view tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>> /></code></pre>"},"$:/core/ui/KeyboardShortcuts/advanced-search":{"tags":"$:/tags/KeyboardShortcut","key":"((advanced-search))","text":"<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\"[data-tiddler-title=\"$:/AdvancedSearch\"] .tc-search input\"\"\" preventScroll=\"true\"/>\n</$navigator>\n"},"$:/core/ui/KeyboardShortcuts/change-sidebar-layout":{"tags":"$:/tags/KeyboardShortcut","key":"((change-sidebar-layout))","text":"<$list filter=\"[{$:/themes/tiddlywiki/vanilla/options/sidebarlayout}match[fixed-fluid]]\" \nemptyMessage=\"\"\"<$action-setfield $tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" text=\"fixed-fluid\"/>\"\"\">\n<$action-setfield $tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" text=\"fluid-fixed\"/>\n</$list>\n"},"$:/core/ui/KeyboardShortcuts/new-image":{"tags":"$:/tags/KeyboardShortcut","key":"((new-image))","text":"<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-image}}\n</$navigator>\n"},"$:/core/ui/KeyboardShortcuts/new-journal":{"tags":"$:/tags/KeyboardShortcut","key":"((new-journal))","text":"<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-journal}}\n</$navigator>\n"},"$:/core/ui/KeyboardShortcuts/new-tiddler":{"tags":"$:/tags/KeyboardShortcut","key":"((new-tiddler))","text":"<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-tiddler}}\n</$navigator>\n"},"$:/core/ui/KeyboardShortcuts/save-wiki":{"tags":"$:/tags/KeyboardShortcut","key":"((save-wiki))","text":"<$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n<$action-sendmessage $message=\"tm-save-wiki\" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>\n</$wikify>\n"},"$:/core/ui/KeyboardShortcuts/sidebar-search":{"tags":"$:/tags/KeyboardShortcut","key":"((sidebar-search))","text":"<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-search input\"/>\n"},"$:/core/ui/KeyboardShortcuts/switcher":{"tags":"$:/tags/KeyboardShortcut","key":"((layout-switcher))","text":"<$action-sendmessage $message=\"tm-show-switcher\" switch=\"layout\"/>"},"$:/core/ui/KeyboardShortcuts/toggle-sidebar":{"tags":"$:/tags/KeyboardShortcut","key":"((toggle-sidebar))","text":"<$list filter=\"[[$:/state/sidebar]is[missing]] [{$:/state/sidebar}removeprefix[yes]]\" emptyMessage=\"\"\"\n<$action-setfield $tiddler=\"$:/state/sidebar\" text=\"yes\"/>\n\"\"\">\n<$action-setfield $tiddler=\"$:/state/sidebar\" text=\"no\"/>\n</$list>\n"},"$:/snippets/LayoutSwitcher":{"tags":"$:/tags/ControlPanel/Appearance","caption":"{{$:/language/ControlPanel/LayoutSwitcher/Caption}}","text":"<$linkcatcher to=\"$:/layout\">\n<div class=\"tc-chooser\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/Layout]] [[$:/core/ui/PageTemplate]] +[!is[draft]sort[name]]\">\n<$list filter=\"[{$:/layout}!has[text]]\" variable=\"ignore\" emptyMessage=\"\"\"\n<$set name=\"cls\" filter=\"[all[current]field:title{$:/layout}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>><$link to={{!!title}}>''<$transclude field=\"name\"/>'' - <$transclude field=\"description\"/></$link></div>\n</$set>\n\"\"\">\n<$set name=\"cls\" filter=\"[all[current]field:title[$:/core/ui/PageTemplate]]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>><$link to={{!!title}}>''<$transclude field=\"name\"/>'' - <$transclude field=\"description\"/></$link></div>\n</$set>\n</$list>\n</$list>\n</div>\n</$linkcatcher>\n"},"$:/core/ui/ListItemTemplate":{"text":"<div class=\"tc-menu-list-item\">\n<$link />\n</div>"},"$:/Manager/ItemMain/Fields":{"tags":"$:/tags/Manager/ItemMain","caption":"{{$:/language/Manager/Item/Fields}}","text":"<table>\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"},"$:/Manager/ItemMain/RawText":{"tags":"$:/tags/Manager/ItemMain","caption":"{{$:/language/Manager/Item/RawText}}","text":"<pre><code><$view/></code></pre>\n"},"$:/Manager/ItemMain/WikifiedText":{"tags":"$:/tags/Manager/ItemMain","caption":"{{$:/language/Manager/Item/WikifiedText}}","text":"<$transclude mode=\"block\"/>\n"},"$:/Manager/ItemSidebar/Colour":{"tags":"$:/tags/Manager/ItemSidebar","caption":"{{$:/language/Manager/Item/Colour}}","text":"\\define swatch-styles()\nheight: 1em;\nbackground-color: $(colour)$\n\\end\n\n<$vars colour={{!!color}}>\n<p style=<<swatch-styles>>/>\n</$vars>\n<p>\n<$edit-text field=\"color\" tag=\"input\" type=\"color\"/> / <$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/>\n</p>\n"},"$:/Manager/ItemSidebar/Icon":{"tags":"$:/tags/Manager/ItemSidebar","caption":"{{$:/language/Manager/Item/Icon}}","text":"<p>\n<div class=\"tc-manager-icon-editor\">\n<$button popup=<<qualify \"$:/state/popup/image-picker\">> class=\"tc-btn-invisible\">\n<$transclude tiddler={{!!icon}}>\n{{$:/language/Manager/Item/Icon/None}}\n</$transclude>\n</$button>\n<div class=\"tc-block-dropdown-wrapper\" style=\"position: static;\">\n<$reveal state=<<qualify \"$:/state/popup/image-picker\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-popup\">\n<div class=\"tc-block-dropdown tc-popup-keep\" style=\"width: 80%; left: 10%; right: 10%; padding: 0.5em;\">\n<$macrocall $name=\"image-picker-include-tagged-images\" actions=\"\"\"\n<$action-setfield $field=\"icon\" $value=<<imageTitle>>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/image-picker\">>/>\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n</div>\n</p>\n"},"$:/Manager/ItemSidebar/Tags":{"tags":"$:/tags/Manager/ItemSidebar","caption":"{{$:/language/Manager/Item/Tags}}","text":"\\whitespace trim\n\\define tag-checkbox-actions()\n<$action-listops\n\t$tiddler=\"$:/config/Manager/RecentTags\"\n\t$subfilter=\"[<tag>] [list[$:/config/Manager/RecentTags]] +[limit[12]]\"\n/>\n\\end\n\n\\define tag-picker-actions()\n<<tag-checkbox-actions>>\n\\end\n\n<p>\n<$list filter=\"[all[current]tags[]] [list[$:/config/Manager/RecentTags]] +[sort[title]] \" variable=\"tag\" storyview=\"pop\">\n<div>\n<$checkbox tiddler=<<currentTiddler>> tag=<<tag>> actions=<<tag-checkbox-actions>>>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$checkbox>\n</div>\n</$list>\n</p>\n<p>\n<$fieldmangler>\n<$macrocall $name=\"tag-picker\" actions=<<tag-picker-actions>>/>\n</$fieldmangler>\n</p>\n"},"$:/Manager/ItemSidebar/Tools":{"tags":"$:/tags/Manager/ItemSidebar","caption":"{{$:/language/Manager/Item/Tools}}","text":"<p>\n<$button to=<<currentTiddler>>>{{$:/core/images/link}} open</$button>\n</p>\n<p>\n<$button message=\"tm-edit-tiddler\" param=<<currentTiddler>>>{{$:/core/images/edit-button}} edit</$button>\n</p>\n"},"$:/Manager":{"icon":"$:/core/images/list","color":"#bbb","text":"\\define lingo-base() $:/language/Manager/\n\n\\define list-item-content-item()\n<div class=\"tc-manager-list-item-content-item\">\n\t<$vars state-title=\"\"\"$:/state/popup/manager/item/$(listItem)$\"\"\">\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"hide\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/down-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"nomatch\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"show\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/right-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\" class=\"tc-manager-list-item-content-item-body\">\n\t\t\t<$transclude tiddler=<<listItem>>/>\n\t\t</$reveal>\n\t</$vars>\n</div>\n\\end\n\n<div class=\"tc-manager-wrapper\">\n\t<div class=\"tc-manager-controls\">\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Show/Prompt>> <$select tiddler=\"$:/config/Manager/Show\" default=\"tiddlers\">\n\t\t\t\t<option value=\"tiddlers\"><<lingo Controls/Show/Option/Tiddlers>></option>\n\t\t\t\t<option value=\"tags\"><<lingo Controls/Show/Option/Tags>></option>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Search/Prompt>> <$edit-text tiddler=\"$:/config/Manager/Filter\" tag=\"input\" default=\"\" placeholder={{$:/language/Manager/Controls/Search/Placeholder}}/>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/FilterByTag/Prompt>> <$select tiddler=\"$:/config/Manager/Tag\" default=\"\">\n\t\t\t\t<option value=\"\"><<lingo Controls/FilterByTag/None>></option>\n\t\t\t\t<$list filter=\"[!is{$:/config/Manager/System}tags[]!is[system]sort[title]]\" variable=\"tag\">\n\t\t\t\t\t<option value=<<tag>>><$text text=<<tag>>/></option>\n\t\t\t\t</$list>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Sort/Prompt>> <$select tiddler=\"$:/config/Manager/Sort\" default=\"title\">\n\t\t\t\t<optgroup label=\"Common\">\n\t\t\t\t\t<$list filter=\"title modified modifier created creator created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t\t<optgroup label=\"All\">\n\t\t\t\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}fields[]sort[title]] -title -modified -modifier -created -creator -created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t</$select>\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/Order\" field=\"text\" checked=\"reverse\" unchecked=\"forward\" default=\"forward\">\n\t\t\t\t<<lingo Controls/Order/Prompt>>\n\t\t\t</$checkbox>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/System\" field=\"text\" checked=\"\" unchecked=\"system\" default=\"system\">\n\t\t\t\t{{$:/language/SystemTiddlers/Include/Prompt}}\n\t\t\t</$checkbox>\n\t\t</div>\n\t</div>\n\t<div class=\"tc-manager-list\">\n\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}search{$:/config/Manager/Filter}tag:strict{$:/config/Manager/Tag}sort{$:/config/Manager/Sort}order{$:/config/Manager/Order}]\">\n\t\t\t<$vars transclusion=<<currentTiddler>>>\n\t\t\t\t<div style=\"tc-manager-list-item\">\n\t\t\t\t\t<$button popup=<<qualify \"$:/state/manager/popup\">> class=\"tc-btn-invisible tc-manager-list-item-heading\" selectedClass=\"tc-manager-list-item-heading-selected\">\n\t\t\t\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t\t\t</$button>\n\t\t\t\t\t<$reveal state=<<qualify \"$:/state/manager/popup\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-manager-list-item-content tc-popup-handle\">\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-tiddler\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemMain]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-sidebar\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemSidebar]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</$reveal>\n\t\t\t\t</div>\n\t\t\t</$vars>\n\t\t</$list>\n\t</div>\n</div>\n"},"$:/core/ui/MissingTemplate":{"text":"<div class=\"tc-tiddler-missing\">\n<$button popup=<<qualify \"$:/state/popup/missing\">> class=\"tc-btn-invisible tc-missing-tiddler-label\">\n<$view field=\"title\" format=\"text\" />\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/missing\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[all[current]backlinks[]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n</div>\n"},"$:/core/ui/MoreSideBar/All":{"tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/All/Caption}}","text":"<$list filter={{$:/core/Filters/AllTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"},"$:/core/ui/MoreSideBar/Drafts":{"tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/Drafts/Caption}}","text":"<$list filter={{$:/core/Filters/Drafts!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"},"$:/core/ui/MoreSideBar/Explorer":{"tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/Explorer/Caption}}","text":"<<tree \"$:/\">>\n"},"$:/core/ui/MoreSideBar/Missing":{"tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/Missing/Caption}}","text":"<$list filter={{$:/core/Filters/Missing!!filter}} template=\"$:/core/ui/MissingTemplate\"/>\n"},"$:/core/ui/MoreSideBar/Orphans":{"tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/Orphans/Caption}}","text":"<$list filter={{$:/core/Filters/Orphans!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"},"$:/core/ui/MoreSideBar/Plugins":{"tags":"$:/tags/MoreSideBar","caption":"{{$:/language/ControlPanel/Plugins/Caption}}","text":"\n{{$:/language/ControlPanel/Plugins/Installed/Hint}}\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar/Plugins]!has[draft.of]]\" default=\"$:/core/ui/MoreSideBar/Plugins/Plugins\" explicitState=\"$:/state/tab-1163638994\"/>\n"},"$:/core/ui/MoreSideBar/Recent":{"tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/Recent/Caption}}","text":"<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"},"$:/core/ui/MoreSideBar/Shadows":{"tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/Shadows/Caption}}","text":"<$list filter={{$:/core/Filters/ShadowTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"},"$:/core/ui/MoreSideBar/System":{"tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/System/Caption}}","text":"<$list filter={{$:/core/Filters/SystemTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"},"$:/core/ui/MoreSideBar/Tags":{"tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/Tags/Caption}}","text":"<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n{{$:/core/ui/Buttons/tag-manager}}\n\n</$set>\n\n</$set>\n\n</$set>\n\n<$list filter={{$:/core/Filters/AllTags!!filter}}>\n\n<$transclude tiddler=\"$:/core/ui/TagTemplate\"/>\n\n</$list>\n\n<hr class=\"tc-untagged-separator\">\n\n{{$:/core/ui/UntaggedTemplate}}\n"},"$:/core/ui/MoreSideBar/Types":{"tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/Types/Caption}}","text":"<$list filter={{$:/core/Filters/TypedTiddlers!!filter}}>\n<div class=\"tc-menu-list-item\">\n<$view field=\"type\"/>\n<$list filter=\"[type{!!type}!is[system]sort[title]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$list>\n</div>\n</$list>\n"},"$:/core/ui/MoreSideBar/Plugins/Languages":{"tags":"$:/tags/MoreSideBar/Plugins","caption":"{{$:/language/ControlPanel/Plugins/Languages/Caption}}","text":"<$list filter=\"[!has[draft.of]plugin-type[language]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"},"$:/core/ui/MoreSideBar/Plugins/Plugins":{"tags":"$:/tags/MoreSideBar/Plugins","caption":"{{$:/language/ControlPanel/Plugins/Plugins/Caption}}","text":"<$list filter=\"[!has[draft.of]plugin-type[plugin]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}>>/>\n"},"$:/core/ui/MoreSideBar/Plugins/Theme":{"tags":"$:/tags/MoreSideBar/Plugins","caption":"{{$:/language/ControlPanel/Plugins/Themes/Caption}}","text":"<$list filter=\"[!has[draft.of]plugin-type[theme]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"},"$:/core/ui/Buttons/advanced-search":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/advanced-search-button}} {{$:/language/Buttons/AdvancedSearch/Caption}}","description":"{{$:/language/Buttons/AdvancedSearch/Hint}}","text":"\\whitespace trim\n\\define advanced-search-button(class)\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/advanced-search-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/AdvancedSearch]]\" emptyMessage=<<advanced-search-button>>>\n<<advanced-search-button \"tc-selected\">>\n</$list>\n"},"$:/core/ui/Buttons/close-all":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/close-all-button}} {{$:/language/Buttons/CloseAll/Caption}}","description":"{{$:/language/Buttons/CloseAll/Hint}}","text":"<$button message=\"tm-close-all-tiddlers\" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/CloseAll/Caption}}/></span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/control-panel":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Caption}}","description":"{{$:/language/Buttons/ControlPanel/Hint}}","text":"\\whitespace trim\n\\define control-panel-button(class)\n<$button to=\"$:/ControlPanel\" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/options-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/ControlPanel]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"},"$:/core/ui/Buttons/encryption":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/locked-padlock}} {{$:/language/Buttons/Encryption/Caption}}","description":"{{$:/language/Buttons/Encryption/Hint}}","text":"\\whitespace trim\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-clear-password\" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/locked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/ClearPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-set-password\" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/unlocked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n"},"$:/core/ui/Buttons/export-page":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}","description":"{{$:/language/Buttons/ExportPage/Hint}}","text":"<$macrocall $name=\"exportButton\" exportFilter=\"[!is[system]sort[title]]\" lingoBase=\"$:/language/Buttons/ExportPage/\"/>"},"$:/core/ui/Buttons/fold-all":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/fold-all-button}} {{$:/language/Buttons/FoldAll/Caption}}","description":"{{$:/language/Buttons/FoldAll/Hint}}","text":"<$button tooltip={{$:/language/Buttons/FoldAll/Hint}} aria-label={{$:/language/Buttons/FoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FoldAll/Caption}}/></span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/full-screen":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/full-screen-button}} {{$:/language/Buttons/FullScreen/Caption}}","description":"{{$:/language/Buttons/FullScreen/Hint}}","text":"<$button message=\"tm-full-screen\" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/full-screen-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FullScreen/Caption}}/></span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/home":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/home-button}} {{$:/language/Buttons/Home/Caption}}","description":"{{$:/language/Buttons/Home/Hint}}","text":"<$button message=\"tm-home\" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/home-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Home/Caption}}/></span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/import":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/import-button}} {{$:/language/Buttons/Import/Caption}}","description":"{{$:/language/Buttons/Import/Hint}}","text":"<div class=\"tc-file-input-wrapper\">\n<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/import-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Import/Caption}}/></span>\n</$list>\n</$button>\n<$browse tooltip={{$:/language/Buttons/Import/Hint}}/>\n</div>"},"$:/core/ui/Buttons/language":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}","description":"{{$:/language/Buttons/Language/Hint}}","text":"\\whitespace trim\n\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/language\">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value={{$:/language}}>\n<$image source=<<flag-title>>/>\n</$set>\n</span>\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Language/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/language\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n{{$:/snippets/languageswitcher}}\n</div>\n</$reveal>\n"},"$:/core/ui/Buttons/manager":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/list}} {{$:/language/Buttons/Manager/Caption}}","description":"{{$:/language/Buttons/Manager/Hint}}","text":"\\whitespace trim\n\\define manager-button(class)\n<$button to=\"$:/Manager\" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/list}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Manager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/Manager]]\" emptyMessage=<<manager-button>>>\n<<manager-button \"tc-selected\">>\n</$list>\n"},"$:/core/ui/Buttons/more-page-actions":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}","description":"{{$:/language/Buttons/More/Hint}}","text":"\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/More/Caption}}/></span>\n</$list>\n</$button><$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$set>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"},"$:/core/ui/Buttons/new-image":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/new-image-button}} {{$:/language/Buttons/NewImage/Caption}}","description":"{{$:/language/Buttons/NewImage/Hint}}","text":"\\whitespace trim\n<$button tooltip={{$:/language/Buttons/NewImage/Hint}} aria-label={{$:/language/Buttons/NewImage/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-image}}>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-image-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewImage/Caption}}/></span>\n</$list>\n</$button>\n"},"$:/core/ui/Buttons/new-journal":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournal/Caption}}","description":"{{$:/language/Buttons/NewJournal/Hint}}","text":"\\whitespace trim\n\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-journal}}>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewJournal/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<<journalButton>>\n"},"$:/core/ui/Buttons/new-tiddler":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/new-button}} {{$:/language/Buttons/NewTiddler/Caption}}","description":"{{$:/language/Buttons/NewTiddler/Hint}}","text":"\\whitespace trim\n<$button actions={{$:/core/ui/Actions/new-tiddler}} tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewTiddler/Caption}}/></span>\n</$list>\n</$button>\n"},"$:/core/ui/Buttons/palette":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/palette}} {{$:/language/Buttons/Palette/Caption}}","description":"{{$:/language/Buttons/Palette/Hint}}","text":"\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/palette\">> tooltip={{$:/language/Buttons/Palette/Hint}} aria-label={{$:/language/Buttons/Palette/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/palette}}\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Palette/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/palette\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\" style=\"font-size:0.7em;\">\n{{$:/snippets/paletteswitcher}}\n</div>\n</$reveal>\n"},"$:/core/ui/Buttons/print":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/print-button}} {{$:/language/Buttons/Print/Caption}}","description":"{{$:/language/Buttons/Print/Hint}}","text":"<$button message=\"tm-print\" tooltip={{$:/language/Buttons/Print/Hint}} aria-label={{$:/language/Buttons/Print/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/print-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Print/Caption}}/></span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/refresh":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/refresh-button}} {{$:/language/Buttons/Refresh/Caption}}","description":"{{$:/language/Buttons/Refresh/Hint}}","text":"<$button message=\"tm-browser-refresh\" tooltip={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/refresh-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Refresh/Caption}}/></span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/save-wiki":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Caption}}","description":"{{$:/language/Buttons/SaveWiki/Hint}}","text":"<$button tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>\n<$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n<$action-sendmessage $message=\"tm-save-wiki\" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>\n</$wikify>\n<span class=\"tc-dirty-indicator\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/save-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/SaveWiki/Caption}}/></span>\n</$list>\n</span>\n</$button>"},"$:/core/ui/Buttons/storyview":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/storyview-classic}} {{$:/language/Buttons/StoryView/Caption}}","description":"{{$:/language/Buttons/StoryView/Hint}}","text":"\\whitespace trim\n\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/storyview\">> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n<$set name=\"storyview\" value={{$:/view}}>\n<$transclude tiddler=<<icon>>/>\n</$set>\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/StoryView/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/storyview\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n{{$:/snippets/viewswitcher}}\n</div>\n</$reveal>\n"},"$:/core/ui/Buttons/tag-manager":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}}","description":"{{$:/language/Buttons/TagManager/Hint}}","text":"\\whitespace trim\n\\define control-panel-button(class)\n<$button to=\"$:/TagManager\" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/tag-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/TagManager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/TagManager]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"},"$:/core/ui/Buttons/theme":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/theme-button}} {{$:/language/Buttons/Theme/Caption}}","description":"{{$:/language/Buttons/Theme/Hint}}","text":"\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/theme\">> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/theme-button}}\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Theme/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/theme\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/theme\">\n{{$:/snippets/themeswitcher}}\n</$linkcatcher>\n</div>\n</$reveal>\n"},"$:/core/ui/Buttons/timestamp":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/timestamp-on}} {{$:/language/Buttons/Timestamp/Caption}}","description":"{{$:/language/Buttons/Timestamp/Hint}}","text":"\\whitespace trim\n<$reveal type=\"nomatch\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/On/Hint}} aria-label={{$:/language/Buttons/Timestamp/On/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"yes\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/timestamp-on}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Timestamp/On/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/Off/Hint}} aria-label={{$:/language/Buttons/Timestamp/Off/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"no\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/timestamp-off}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Timestamp/Off/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n"},"$:/core/ui/Buttons/unfold-all":{"tags":"$:/tags/PageControls","caption":"{{$:/core/images/unfold-all-button}} {{$:/language/Buttons/UnfoldAll/Caption}}","description":"{{$:/language/Buttons/UnfoldAll/Hint}}","text":"<$button tooltip={{$:/language/Buttons/UnfoldAll/Hint}} aria-label={{$:/language/Buttons/UnfoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-unfold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/UnfoldAll/Caption}}/></span>\n</$list>\n</$button>"},"$:/core/ui/PageTemplate/pagecontrols":{"text":"\\whitespace trim\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-page-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n<$set name=\"hidden\" value=<<config-title>>>\n<$list filter=\"[<hidden>!text[hide]]\" storyview=\"pop\" variable=\"ignore\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$set>\n</$list>\n</$set>\n</$list>\n</div>\n"},"$:/core/ui/PageStylesheet":{"text":"\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\n</$set>\n\n</$set>\n"},"$:/core/ui/PageTemplate/alerts":{"tags":"$:/tags/PageTemplate","text":"<div class=\"tc-alerts\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Alert]!has[draft.of]]\" template=\"$:/core/ui/AlertTemplate\" storyview=\"pop\"/>\n\n</div>\n"},"$:/core/ui/PageTemplate/drafts":{"tags":"$:/tags/PageTemplate","text":"\\whitespace trim\n<$reveal state=\"$:/status/IsReadOnly\" type=\"nomatch\" text=\"yes\" tag=\"div\" class=\"tc-drafts-list\">\n<$list filter=\"[has[draft.of]!sort[modified]] -[list[$:/StoryList]]\">\n<$link>\n{{$:/core/images/edit-button}} <$text text=<<currentTiddler>>/>\n</$link>\n</$list>\n</$reveal>\n"},"$:/core/ui/PageTemplate/pluginreloadwarning":{"tags":"$:/tags/PageTemplate","text":"\\define lingo-base() $:/language/\n\n<$list filter=\"[{$:/status/RequireReloadDueToPluginChange}match[yes]]\">\n\n<$reveal type=\"nomatch\" state=\"$:/temp/HidePluginWarning\" text=\"yes\">\n\n<div class=\"tc-plugin-reload-warning\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<<lingo PluginReloadWarning>> <$button set=\"$:/temp/HidePluginWarning\" setTo=\"yes\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button>\n\n</$set>\n\n</div>\n\n</$reveal>\n\n</$list>\n"},"$:/core/ui/PageTemplate/sidebar":{"tags":"$:/tags/PageTemplate","text":"\\whitespace trim\n\\define config-title()\n$:/config/SideBarSegments/Visibility/$(listItem)$\n\\end\n\n<$scrollable fallthrough=\"no\" class=\"tc-sidebar-scrollable\">\n\n<div class=\"tc-sidebar-header\">\n\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBarSegment]!has[draft.of]]\" variable=\"listItem\">\n\n<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\" tag=\"div\">\n\n<$transclude tiddler=<<listItem>> mode=\"block\"/>\n\n</$reveal>\n\n</$list>\n\n</$reveal>\n\n</div>\n\n</$scrollable>\n"},"$:/core/ui/PageTemplate/story":{"tags":"$:/tags/PageTemplate","text":"\\whitespace trim\n<section class=\"tc-story-river\">\n\n<section class=\"story-backdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template={{$:/config/ui/ViewTemplate}} editTemplate={{$:/config/ui/EditTemplate}} storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>\n\n<section class=\"story-frontdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n</section>\n"},"$:/core/ui/PageTemplate/topleftbar":{"tags":"$:/tags/PageTemplate","text":"<span class=\"tc-topbar tc-topbar-left\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"},"$:/core/ui/PageTemplate/toprightbar":{"tags":"$:/tags/PageTemplate","text":"<span class=\"tc-topbar tc-topbar-right\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"},"$:/core/ui/PageTemplate":{"name":"{{$:/language/PageTemplate/Name}}","description":"{{$:/language/PageTemplate/Description}}","text":"\\whitespace trim\n\\define containerClasses()\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$vars\n\ttv-config-toolbar-icons={{$:/config/Toolbar/Icons}}\n\ttv-config-toolbar-text={{$:/config/Toolbar/Text}}\n\ttv-config-toolbar-class={{$:/config/Toolbar/ButtonClass}}\n\ttv-enable-drag-and-drop={{$:/config/DragAndDrop/Enable}}\n\ttv-show-missing-links={{$:/config/MissingLinks}}\n\tstoryviewTitle={{$:/view}}\n\tlanguageTitle={{{ [{$:/language}get[name]] }}}>\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n\n<$dropzone enable=<<tv-enable-drag-and-drop>>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n\n</$dropzone>\n\n</$navigator>\n\n</div>\n\n</$vars>\n"},"$:/PaletteManager":{"text":"\\define lingo-base() $:/language/ControlPanel/Palette/Editor/\n\\define describePaletteColour(colour)\n<$transclude tiddler=\"$:/language/Docs/PaletteColours/$colour$\"><$text text=\"$colour$\"/></$transclude>\n\\end\n\\define edit-colour-placeholder()\n edit $(colourName)$\n\\end\n\\define colour-tooltip(showhide) $showhide$ editor for $(newColourName)$ \n\\define resolve-colour(macrocall)\n\\import $:/core/macros/utils\n\\whitespace trim\n<$wikify name=\"name\" text=\"\"\"$macrocall$\"\"\">\n<<name>>\n</$wikify>\n\\end\n\\define delete-colour-index-actions() <$action-setfield $index=<<colourName>>/>\n\\define palette-manager-colour-row-segment()\n\\whitespace trim\n<$edit-text index=<<colourName>> tag=\"input\" placeholder=<<edit-colour-placeholder>> default=\"\"/>\n<br>\n<$edit-text index=<<colourName>> type=\"color\" tag=\"input\" class=\"tc-palette-manager-colour-input\"/>\n<$list filter=\"[<currentTiddler>getindex<colourName>removeprefix[<<]removesuffix[>>]] [<currentTiddler>getindex<colourName>removeprefix[<$]removesuffix[/>]]\" variable=\"ignore\">\n<$set name=\"state\" value={{{ [[$:/state/palettemanager/]addsuffix<currentTiddler>addsuffix[/]addsuffix<colourName>] }}}>\n<$wikify name=\"newColourName\" text=\"\"\"<$macrocall $name=\"resolve-colour\" macrocall={{{ [<currentTiddler>getindex<colourName>] }}}/>\"\"\">\n<$reveal state=<<state>> type=\"nomatch\" text=\"show\">\n<$button tooltip=<<colour-tooltip show>> aria-label=<<colour-tooltip show>> class=\"tc-btn-invisible\" set=<<state>> setTo=\"show\">{{$:/core/images/down-arrow}}<$text text=<<newColourName>> class=\"tc-small-gap-left\"/></$button><br>\n</$reveal>\n<$reveal state=<<state>> type=\"match\" text=\"show\">\n<$button tooltip=<<colour-tooltip hide>> aria-label=<<colour-tooltip show>> class=\"tc-btn-invisible\" actions=\"\"\"<$action-deletetiddler $tiddler=<<state>>/>\"\"\">{{$:/core/images/up-arrow}}<$text text=<<newColourName>> class=\"tc-small-gap-left\"/></$button><br>\n</$reveal>\n<$reveal state=<<state>> type=\"match\" text=\"show\">\n<$set name=\"colourName\" value=<<newColourName>>>\n<br>\n<<palette-manager-colour-row-segment>>\n<br><br>\n</$set>\n</$reveal>\n</$wikify>\n</$set>\n</$list>\n\\end\n\\define palette-manager-colour-row()\n\\whitespace trim\n<tr>\n<td>\n<span style=\"float:right;\">\n<$button tooltip={{$:/language/ControlPanel/Palette/Editor/Delete/Hint}} aria-label=<<lingo Delete/Hint>> class=\"tc-btn-invisible\" actions=<<delete-colour-index-actions>>>\n{{$:/core/images/delete-button}}</$button>\n</span>\n''<$macrocall $name=\"describePaletteColour\" colour=<<colourName>>/>''<br/>\n<$macrocall $name=\"colourName\" $output=\"text/plain\"/>\n</td>\n<td>\n<<palette-manager-colour-row-segment>>\n</td>\n</tr>\n\\end\n\\define palette-manager-table()\n\\whitespace trim\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]indexes[]]\" variable=\"colourName\">\n<$list filter=\"[<currentTiddler>indexes[]removeprefix<colourName>suffix[]]\" variable=\"ignore\" emptyMessage=\"\"\"\n<$list filter=\"[{$:/state/palettemanager/showexternal}removeprefix[yes]suffix[]]\" variable=\"ignore\">\n<<palette-manager-colour-row>>\n</$list>\n\"\"\">\n<<palette-manager-colour-row>>\n</$list>\n</$list>\n</tbody>\n</table>\n\\end\n<$set name=\"currentTiddler\" value={{$:/palette}}>\n\n<<lingo Prompt>> <$link to={{$:/palette}}><$macrocall $name=\"currentTiddler\" $output=\"text/plain\"/></$link>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\" variable=\"listItem\">\n<<lingo Prompt/Modified>>\n<$button message=\"tm-delete-tiddler\" param={{$:/palette}}><<lingo Reset/Caption>></$button>\n</$list>\n\n<$list filter=\"[all[current]is[shadow]!is[tiddler]]\" variable=\"listItem\">\n<<lingo Clone/Prompt>>\n</$list>\n\n<$button message=\"tm-new-tiddler\" param={{$:/palette}}><<lingo Clone/Caption>></$button>\n\n<$checkbox tiddler=\"$:/state/palettemanager/showexternal\" field=\"text\" checked=\"yes\" unchecked=\"no\"><span class=\"tc-small-gap-left\"><<lingo Names/External/Show>></span></$checkbox>\n\n<<palette-manager-table>>\n"},"$:/core/ui/PluginInfo":{"text":"\\define localised-info-tiddler-title()\n$(currentTiddler)$/$(languageTitle)$/$(currentTab)$\n\\end\n\\define info-tiddler-title()\n$(currentTiddler)$/$(currentTab)$\n\\end\n\\define default-tiddler-title()\n$:/core/ui/PluginInfo/Default/$(currentTab)$\n\\end\n<$transclude tiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<default-tiddler-title>> mode=\"block\">\n{{$:/language/ControlPanel/Plugin/NoInfoFound/Hint}}\n</$transclude>\n</$transclude>\n</$transclude>\n</$transclude>\n"},"$:/core/ui/PluginInfo/Default/contents":{"text":"\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link />\n</li>\n</$list>\n</ul>\n"},"$:/core/ui/PluginListItemTemplate":{"text":"<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}><$view field=\"description\"><$view field=\"title\"/></$view></$link>\n</div>"},"$:/core/ui/RootTemplate":{"text":"<$transclude tiddler={{{ [{$:/layout}has[text]] ~[[$:/core/ui/PageTemplate]] }}} mode=\"inline\"/>\n\n"},"$:/core/ui/SearchResults":{"text":"<div class=\"tc-search-results\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\"\"\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}} actions=\"\"\"<$action-setfield $tiddler=\"$:/state/search/currentTab\" text=<<currentTab>>/>\"\"\" explicitState=\"$:/state/tab/search-results/sidebar\"/>\n\n</$list>\n\n</div>\n"},"$:/core/ui/SideBar/More":{"tags":"$:/tags/SideBar","caption":"{{$:/language/SideBar/More/Caption}}","text":"<div class=\"tc-more-sidebar\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\" default={{$:/config/DefaultMoreSidebarTab}} state=\"$:/state/tab/moresidebar\" class=\"tc-vertical tc-sidebar-tabs-more\" explicitState=\"$:/state/tab/moresidebar-1850697562\"/>\n</div>\n"},"$:/core/ui/SideBar/Open":{"tags":"$:/tags/SideBar","caption":"{{$:/language/SideBar/Open/Caption}}","text":"\\whitespace trim\n\\define lingo-base() $:/language/CloseAll/\n\n\\define drop-actions()\n<$action-listops $tiddler=<<tv-story-list>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n\\define placeholder()\n<div class=\"tc-droppable-placeholder\"/>\n\\end\n\n\\define droppable-item(button)\n\\whitespace trim\n<$droppable actions=<<drop-actions>> enable=<<tv-allow-drag-and-drop>>>\n<<placeholder>>\n<div>\n$button$\n</div>\n</$droppable>\n\\end\n\n<div class=\"tc-sidebar-tab-open\">\n<$list filter=\"[list<tv-story-list>]\" history=<<tv-history-list>> storyview=\"pop\">\n<div class=\"tc-sidebar-tab-open-item\">\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini tc-small-gap-right\">{{$:/core/images/close-button}}</$button><$link to={{!!title}}><$view field=\"title\"/></$link>\"\"\"/>\n</div>\n</$list>\n<$tiddler tiddler=\"\">\n<div>\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\"\"\"/>\n</div>\n</$tiddler>\n</div>\n"},"$:/core/ui/SideBar/Recent":{"tags":"$:/tags/SideBar","caption":"{{$:/language/SideBar/Recent/Caption}}","text":"<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"},"$:/core/ui/SideBar/Tools":{"tags":"$:/tags/SideBar","caption":"{{$:/language/SideBar/Tools/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\n<<lingo Basics/Version/Prompt>> <<version>>\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\n<div style=\"position:relative;\" class={{{ [<listItem>encodeuricomponent[]addprefix[tc-btn-]] }}}>\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</div>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"},"$:/core/ui/SideBarLists":{"text":"<$transclude tiddler=\"$:/core/ui/SideBarSegments/search\"/>\n\n<$transclude tiddler=\"$:/core/ui/SideBarSegments/tabs\"/>\n\n"},"$:/core/ui/SideBarSegments/page-controls":{"tags":"$:/tags/SideBarSegment","text":"{{||$:/core/ui/PageTemplate/pagecontrols}}\n"},"$:/core/ui/SideBarSegments/search":{"tags":"$:/tags/SideBarSegment","text":"\\whitespace trim\n\n\\define count-popup-button()\n\\whitespace trim\n<$button popup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<$list filter=\"[{$(searchTiddler)$}minlength{$:/config/Search/MinLength}limit[1]]\" variable=\"listItem\">\n<$vars userInput={{{ [<searchTiddler>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}} replaceRegexp=\"limit\\[\\d+\\]\">\n<$vars primaryListFilter={{{ [<configTiddler>get[first-search-filter]search-replace:g:regexp<replaceRegexp>,[]] }}} secondaryListFilter={{{ [<configTiddler>get[second-search-filter]search-replace:g:regexp<replaceRegexp>,[]] }}}>\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[subfilter<primaryListFilter>] [subfilter<secondaryListFilter>]\"/>\"\"\">\n{{$:/language/Search/Matches}}\n</$set>\n</$vars>\n</$vars>\n</$list>\n</$button>\n\\end\n\n\\define search-results-list()\n\\whitespace trim\n<$vars userInput={{$(searchTiddler)$}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}>\n<$list filter=\"[<userInput>minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$tiddler tiddler=<<configTiddler>>>\n\n{{$:/core/ui/SearchResults}}\n\n</$tiddler>\n\n</$list>\n</$vars>\n\\end\n\n\\define cancel-search-actions() <$list filter=\"[<searchTiddler>get[text]!match{$:/temp/search}]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[[$:/temp/search]] [<searchTiddler>] [<searchListState>]\"/>\"\"\"><$action-setfield $tiddler=\"$:/temp/search\" text={{{ [<searchTiddler>get[text]] }}}/><$action-setfield $tiddler=\"$:/temp/search/refresh\" text=\"yes\"/></$list>\n\n\\define input-accept-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\"\"\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\n\n\\define input-accept-variant-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\"\"\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\n\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/sidebar\" tag=\"$:/tags/SearchResults\" beforeafter=\"$beforeafter$\" defaultState={{$:/config/SearchResults/Default}} actions=\"\"\"<$action-setfield $tiddler=\"$:/state/search/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\define advanced-search-actions() <$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search/input}}/><$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/search/input}}/><<delete-state-tiddlers>><$action-navigate $to=\"$:/AdvancedSearch\"/><$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/><$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\"[data-tiddler-title=\"$:/AdvancedSearch\"] .tc-search input\"\"\" preventScroll=\"true\"/><$action-deletetiddler $filter=\"$:/temp/search $:/temp/search/input $:/temp/search/refresh [<searchListState>]\"/>\n\n<div class=\"tc-sidebar-lists tc-sidebar-search\">\n\n<$vars editTiddler=\"$:/temp/search\" searchTiddler=\"$:/temp/search/input\" searchListState=<<qualify \"$:/state/search-list/selected-item\">>>\n<div class=\"tc-search\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<$keyboard key=\"((advanced-search-sidebar))\" actions=<<advanced-search-actions>>>\n<$macrocall $name=\"keyboard-driven-input\" tiddler=<<editTiddler>> storeTitle=<<searchTiddler>> \n\t\tselectionStateTitle=<<searchListState>> refreshTitle=\"$:/temp/search/refresh\" type=\"search\" \n\t\ttag=\"input\" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify \"$:/state/popup/search-dropdown\">> \n\t\tclass=\"tc-popup-handle\" filterMinLength={{$:/config/Search/MinLength}} inputCancelActions=<<cancel-search-actions>> \n\t\tinputAcceptActions=<<input-accept-actions>> inputAcceptVariantActions=<<input-accept-variant-actions>> cancelPopups=\"yes\" \n\t\tconfigTiddlerFilter=\"[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]\"/>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n<$reveal state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<<advanced-search-actions>>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>><$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-search input\"/>\n{{$:/core/images/close-button}}\n</$button>\n<<count-popup-button>>\n</$reveal>\n<$reveal state=<<searchTiddler>> type=\"match\" text=\"\">\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-search-drop-down tc-popup-handle\" state=<<qualify \"$:/state/popup/search-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n\n<<search-results-list>>\n\n</$reveal>\n\n</$reveal>\n\n</$vars>\n\n</div>\n"},"$:/core/ui/SideBarSegments/site-subtitle":{"tags":"$:/tags/SideBarSegment","text":"<div class=\"tc-site-subtitle\">\n\n<$transclude tiddler=\"$:/SiteSubtitle\" mode=\"inline\"/>\n\n</div>\n"},"$:/core/ui/SideBarSegments/site-title":{"tags":"$:/tags/SideBarSegment","text":"<h1 class=\"tc-site-title\">\n\n<$transclude tiddler=\"$:/SiteTitle\" mode=\"inline\"/>\n\n</h1>\n"},"$:/core/ui/SideBarSegments/tabs":{"tags":"$:/tags/SideBarSegment","text":"<div class=\"tc-sidebar-lists tc-sidebar-tabs\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\" default={{$:/config/DefaultSidebarTab}} state=\"$:/state/tab/sidebar\" class=\"tc-sidebar-tabs-main\" explicitState=\"$:/state/tab/sidebar--595412856\"/>\n\n</div>\n"},"$:/core/ui/SwitcherModal":{"subtitle":"<$text text={{{[<switch>lookup[$:/language/Switcher/Subtitle/]]}}}/>","class":"tc-modal-centered","text":"<$tiddler tiddler={{{[<switch>lookup[$:/config/SwitcherTargets/]]}}}>\n\n\n<$transclude/>\n\n\n</$tiddler>"},"$:/TagManager":{"icon":"$:/core/images/tag-button","color":"#bbb","text":"\\define lingo-base() $:/language/TagManager/\n\\define iconEditorTab(type)\n\\whitespace trim\n<$link to=\"\"><<lingo Icons/None>></$link>\n<$list filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]] +[$type$is[system]]\">\n<$link to={{!!title}}>\n<$transclude/> <$view field=\"title\"/>\n</$link>\n</$list>\n\\end\n\\define iconEditor(title)\n\\whitespace trim\n<div class=\"tc-drop-down-wrapper\">\n<$button popupTitle={{{ [[$:/state/popup/icon/]addsuffix<__title__>] }}} class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal stateTitle={{{ [[$:/state/popup/icon/]addsuffix<__title__>] }}} type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$linkcatcher actions=\"\"\"<$action-setfield $tiddler=<<__title__>> icon=<<navigateTo>>/>\"\"\">\n<<iconEditorTab type:\"!\">>\n<hr/>\n<<iconEditorTab type:\"\">>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>\n\\end\n\\define toggleButton(state)\n\\whitespace trim\n<$reveal stateTitle=<<__state__>> type=\"match\" text=\"closed\" default=\"closed\">\n<$button setTitle=<<__state__>> setTo=\"open\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n<$reveal stateTitle=<<__state__>> type=\"match\" text=\"open\" default=\"closed\">\n<$button setTitle=<<__state__>> setTo=\"closed\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n\\end\n\\whitespace trim\n<table class=\"tc-tag-manager-table\">\n<tbody>\n<tr>\n<th><<lingo Colour/Heading>></th>\n<th class=\"tc-tag-manager-tag\"><<lingo Tag/Heading>></th>\n<th><<lingo Count/Heading>></th>\n<th><<lingo Icon/Heading>></th>\n<th><<lingo Info/Heading>></th>\n</tr>\n<$list filter=\"[tags[]!is[system]sort[title]]\">\n<tr>\n<td><$edit-text field=\"color\" tag=\"input\" type=\"color\"/></td>\n<td>{{||$:/core/ui/TagTemplate}}</td>\n<td><$count filter=\"[all[current]tagging[]]\"/></td>\n<td>\n<$macrocall $name=\"iconEditor\" title={{!!title}}/>\n</td>\n<td>\n<$macrocall $name=\"toggleButton\" state={{{ [[$:/state/tag-manager/]addsuffix<currentTiddler>] }}} /> \n</td>\n</tr>\n<tr>\n<td></td>\n<td colspan=\"4\">\n<$reveal stateTitle={{{ [[$:/state/tag-manager/]addsuffix<currentTiddler>] }}} type=\"match\" text=\"open\" default=\"\">\n<table>\n<tbody>\n<tr><td><<lingo Colour/Heading>></td><td><$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/></td></tr>\n<tr><td><<lingo Icon/Heading>></td><td><$edit-text field=\"icon\" tag=\"input\" size=\"45\"/></td></tr>\n</tbody>\n</table>\n</$reveal>\n</td>\n</tr>\n</$list>\n<tr>\n<td></td>\n<td style=\"position:relative;\">\n{{$:/core/ui/UntaggedTemplate}}\n</td>\n<td>\n<small class=\"tc-menu-list-count\"><$count filter=\"[untagged[]!is[system]] -[tags[]]\"/></small>\n</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n"},"$:/core/ui/TagPickerTagTemplate":{"text":"\\whitespace trim\n<$button class=<<button-classes>> tag=\"a\" tooltip={{$:/language/EditTemplate/Tags/Add/Button/Hint}}>\n<$list filter=\"[<saveTiddler>minlength[1]]\">\n<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter=\"[<tag>]\"/>\n</$list>\n<$set name=\"currentTiddlerCSSEscaped\" value={{{ [<saveTiddler>escapecss[]] }}}>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=<<get-tagpicker-focus-selector>> preventScroll=\"true\"/>\n</$set>\n<<delete-tag-state-tiddlers>>\n<$list filter=\"[<refreshTitle>minlength[1]]\">\n<$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n</$list>\n<<actions>>\n<$set name=\"backgroundColor\" value={{!!color}}>\n<$wikify name=\"foregroundColor\" text=\"\"\"<$macrocall $name=\"contrastcolour\" target={{!!color}} fallbackTarget=<<fallbackTarget>> colourA=<<colourA>> colourB=<<colourB>>/>\"\"\">\n<span class=\"tc-tag-label tc-btn-invisible\" style=<<tag-pill-styles>>>\n<$transclude tiddler={{!!icon}}/><$view field=\"title\" format=\"text\"/>\n</span>\n</$wikify>\n</$set>\n</$button>\n"},"$:/core/ui/TagTemplate":{"text":"\\whitespace trim\n<span class=\"tc-tag-list-item\">\n<$set name=\"transclusion\" value=<<currentTiddler>>>\n<$macrocall $name=\"tag-pill-body\" tag=<<currentTiddler>> icon={{!!icon}} colour={{!!color}} palette={{$:/palette}} element-tag=\"\"\"$button\"\"\" element-attributes=\"\"\"popup=<<qualify \"$:/state/popup/tag\">> dragFilter='[all[current]tagging[]]' tag='span'\"\"\"/>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</$set>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\" variable=\"listItem\"> \n<$transclude tiddler=<<listItem>>/> \n</$list>\n<hr>\n<$macrocall $name=\"list-tagged-draggable\" tag=<<currentTiddler>>/>\n</$reveal>\n</$set>\n</span>\n"},"$:/core/ui/TiddlerFieldTemplate":{"text":"<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<listItem>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<listItem>>/>\n</td>\n</tr>"},"$:/core/ui/TiddlerFields":{"text":"<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"},"$:/core/ui/TiddlerInfo/Advanced/PluginInfo":{"tags":"$:/tags/TiddlerInfo/Advanced","text":"\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<$list filter=\"[all[current]has[plugin-type]]\">\n\n! <<lingo Heading>>\n\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n\n</$list>\n"},"$:/core/ui/TiddlerInfo/Advanced/ShadowInfo":{"tags":"$:/tags/TiddlerInfo/Advanced","text":"\\define lingo-base() $:/language/TiddlerInfo/Advanced/ShadowInfo/\n<$set name=\"infoTiddler\" value=<<currentTiddler>>>\n\n''<<lingo Heading>>''\n\n<$list filter=\"[all[current]!is[shadow]]\">\n\n<<lingo NotShadow/Hint>>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]]\">\n\n<<lingo Shadow/Hint>>\n\n<$list filter=\"[all[current]shadowsource[]]\">\n\n<$set name=\"pluginTiddler\" value=<<currentTiddler>>>\n<<lingo Shadow/Source>>\n</$set>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\">\n\n<<lingo OverriddenShadow/Hint>>\n\n</$list>\n\n\n</$list>\n</$set>\n"},"$:/core/ui/TiddlerInfo/Advanced":{"tags":"$:/tags/TiddlerInfo","caption":"{{$:/language/TiddlerInfo/Advanced/Caption}}","text":"<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo/Advanced]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>> mode=\"block\"/>\n</$list>\n"},"$:/core/ui/TiddlerInfo/Fields":{"tags":"$:/tags/TiddlerInfo","caption":"{{$:/language/TiddlerInfo/Fields/Caption}}","text":"<$transclude tiddler=\"$:/core/ui/TiddlerFields\"/>\n"},"$:/core/ui/TiddlerInfo/List":{"tags":"$:/tags/TiddlerInfo","caption":"{{$:/language/TiddlerInfo/List/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[list{!!title}]\" emptyMessage=<<lingo List/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"},"$:/core/ui/TiddlerInfo/Listed":{"tags":"$:/tags/TiddlerInfo","caption":"{{$:/language/TiddlerInfo/Listed/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]listed[]!is[system]]\" emptyMessage=<<lingo Listed/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"},"$:/core/ui/TiddlerInfo/References":{"tags":"$:/tags/TiddlerInfo","caption":"{{$:/language/TiddlerInfo/References/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]backlinks[]sort[title]]\" emptyMessage=<<lingo References/Empty>> template=\"$:/core/ui/ListItemTemplate\">\n</$list>"},"$:/core/ui/TiddlerInfo/Tagging":{"tags":"$:/tags/TiddlerInfo","caption":"{{$:/language/TiddlerInfo/Tagging/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]tagging[]]\" emptyMessage=<<lingo Tagging/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"},"$:/core/ui/TiddlerInfo/Tools":{"tags":"$:/tags/TiddlerInfo","caption":"{{$:/language/TiddlerInfo/Tools/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"},"$:/core/ui/TiddlerInfo":{"text":"<div style=\"position:relative;\">\n<div class=\"tc-tiddler-controls\" style=\"position:absolute;right:0;\">\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n</div>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!has[draft.of]]\" default={{$:/config/TiddlerInfo/Default}}/>\n"},"$:/core/ui/TopBar/menu":{"tags":"$:/tags/TopRightBar","text":"<$list filter=\"[[$:/state/sidebar]get[text]] +[else[yes]!match[no]]\" variable=\"ignore\">\n<$button set=\"$:/state/sidebar\" setTo=\"no\" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class=\"tc-btn-invisible tc-hide-sidebar-btn\">{{$:/core/images/chevron-right}}</$button>\n</$list>\n<$list filter=\"[[$:/state/sidebar]get[text]] +[else[yes]match[no]]\" variable=\"ignore\">\n<$button set=\"$:/state/sidebar\" setTo=\"yes\" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"tc-btn-invisible tc-show-sidebar-btn\">{{$:/core/images/chevron-left}}</$button>\n</$list>\n"},"$:/core/ui/UntaggedTemplate":{"text":"\\define lingo-base() $:/language/SideBar/\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-untagged-label tc-tag-label\">\n<<lingo Tags/Untagged/Caption>>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[untagged[]!is[system]] -[tags[]] +[sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n"},"$:/core/ui/ViewTemplate/body":{"tags":"$:/tags/ViewTemplate","text":"<$reveal tag=\"div\" class=\"tc-tiddler-body\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[current]!has[plugin-type]!field:hide-body[yes]]\">\n\n<$transclude>\n\n<$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/>\n\n</$transclude>\n\n</$list>\n\n</$reveal>\n"},"$:/core/ui/ViewTemplate/classic":{"tags":"$:/tags/ViewTemplate $:/tags/EditTemplate","text":"\\define lingo-base() $:/language/ClassicWarning/\n<$list filter=\"[all[current]type[text/x-tiddlywiki]]\">\n<div class=\"tc-message-box\">\n\n<<lingo Hint>>\n\n<$button set=\"!!type\" setTo=\"text/vnd.tiddlywiki\"><<lingo Upgrade/Caption>></$button>\n\n</div>\n</$list>\n"},"$:/core/ui/ViewTemplate/import":{"tags":"$:/tags/ViewTemplate","text":"\\define lingo-base() $:/language/Import/\n\n\\define buttons()\n<$button message=\"tm-delete-tiddler\" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>\n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n<<lingo Listing/Preview>> <$select tiddler=\"$:/state/importpreviewtype\" default=\"$:/core/ui/ImportPreviews/Text\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ImportPreview]!has[draft.of]]\">\n<option value=<<currentTiddler>>>{{!!caption}}</option>\n</$list>\n</$select>\n\\end\n\n<$list filter=\"[all[current]field:plugin-type[import]]\">\n\n<div class=\"tc-import\">\n\n<<lingo Listing/Hint>>\n\n<<buttons>>\n\n{{||$:/core/ui/ImportListing}}\n\n<<buttons>>\n\n</div>\n\n</$list>\n"},"$:/core/ui/ViewTemplate/plugin":{"tags":"$:/tags/ViewTemplate","text":"<$reveal tag=\"div\" class=\"tc-tiddler-plugin-info\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[current]has[plugin-type]] -[all[current]field:plugin-type[import]]\">\n<$set name=\"plugin-type\" value={{!!plugin-type}}>\n<$set name=\"default-popup-state\" value=\"yes\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n{{||$:/core/ui/Components/plugin-info}}\n</$set>\n</$set>\n</$set>\n</$list>\n</$reveal>"},"$:/core/ui/ViewTemplate/subtitle":{"tags":"$:/tags/ViewTemplate","text":"\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}} />\n<$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n</$reveal>\n"},"$:/core/ui/ViewTemplate/tags":{"tags":"$:/tags/ViewTemplate","text":"<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-tags-wrapper\"><$list filter=\"[all[current]tags[]sort[title]]\" template=\"$:/core/ui/TagTemplate\" storyview=\"pop\"/></div>\n</$reveal>\n"},"$:/core/ui/ViewTemplate/title":{"tags":"$:/tags/ViewTemplate","text":"\\whitespace trim\n\\define title-styles()\nfill:$(foregroundColor)$;\n\\end\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<span class=\"tc-tiddler-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\"><$transclude tiddler=<<listItem>>/></$set></$reveal></$list>\n</span>\n<$set name=\"tv-wikilinks\" value={{$:/config/Tiddlers/TitleLinks}}>\n<$link>\n<$set name=\"foregroundColor\" value={{!!color}}>\n<$list filter=\"[all[current]has[icon]]~[[$:/config/DefaultTiddlerIcon]has[text]]\">\n<span class=\"tc-tiddler-title-icon\" style=<<title-styles>>>\n<$transclude tiddler={{!!icon}}>\n<$transclude tiddler={{$:/config/DefaultTiddlerIcon}}/>\n</$transclude>\n</span>\n</$list>\n</$set>\n<$list filter=\"[all[current]removeprefix[$:/]]\">\n<h2 class=\"tc-title\" title={{$:/language/SystemTiddler/Tooltip}}>\n<span class=\"tc-system-title-prefix\">$:/</span><$text text=<<currentTiddler>>/>\n</h2>\n</$list>\n<$list filter=\"[all[current]!prefix[$:/]]\">\n<h2 class=\"tc-title\">\n<$view field=\"title\"/>\n</h2>\n</$list>\n</$link>\n</$set>\n</div>\n\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=<<tiddlerInfoState>> class=\"tc-tiddler-info tc-popup-handle\" animate=\"yes\" retain=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfoSegment]!has[draft.of]] [[$:/core/ui/TiddlerInfo]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>> mode=\"block\"/></$list>\n\n</$reveal>\n</div>"},"$:/core/ui/ViewTemplate/unfold":{"tags":"$:/tags/ViewTemplate","text":"<$reveal tag=\"div\" type=\"nomatch\" state=\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar\" text=\"hide\">\n<$reveal tag=\"div\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=\"tc-fold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-up}}\n</$button>\n</$reveal>\n<$reveal tag=\"div\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"show\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=\"tc-unfold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</$reveal>\n"},"$:/core/ui/ViewTemplate":{"text":"\\define folded-state()\n$:/state/folded/$(currentTiddler)$\n\\end\n\\define cancel-delete-tiddler-actions(message) <$action-sendmessage $message=\"tm-$message$-tiddler\"/>\n\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!has[draft.of]]\n<$vars storyTiddler=<<currentTiddler>> tiddlerInfoState=<<qualify \"$:/state/popup/tiddler-info\">>><div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class={{{ tc-tiddler-frame tc-tiddler-view-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[shadow]is[tiddler]then[tc-tiddler-overridden-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!has[draft.of]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</div>\n</$vars>\n"},"$:/core/ui/Buttons/clone":{"tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/clone-button}} {{$:/language/Buttons/Clone/Caption}}","description":"{{$:/language/Buttons/Clone/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-new-tiddler\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/Clone/Hint}} aria-label={{$:/language/Buttons/Clone/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/clone-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Clone/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/close-others":{"tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/close-others-button}} {{$:/language/Buttons/CloseOthers/Caption}}","description":"{{$:/language/Buttons/CloseOthers/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-close-other-tiddlers\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/CloseOthers/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/close":{"tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/close-button}} {{$:/language/Buttons/Close/Caption}}","description":"{{$:/language/Buttons/Close/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Close/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/edit":{"tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/edit-button}} {{$:/language/Buttons/Edit/Caption}}","description":"{{$:/language/Buttons/Edit/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-edit-tiddler\" tooltip={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/edit-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Edit/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/export-tiddler":{"tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/export-button}} {{$:/language/Buttons/ExportTiddler/Caption}}","description":"{{$:/language/Buttons/ExportTiddler/Hint}}","text":"\\define makeExportFilter()\n[[$(currentTiddler)$]]\n\\end\n<$macrocall $name=\"exportButton\" exportFilter=<<makeExportFilter>> lingoBase=\"$:/language/Buttons/ExportTiddler/\" baseFilename=<<currentTiddler>>/>"},"$:/core/ui/Buttons/fold-bar":{"tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/chevron-up}} {{$:/language/Buttons/Fold/FoldBar/Caption}}","description":"{{$:/language/Buttons/Fold/FoldBar/Hint}}","text":"<!-- This dummy toolbar button is here to allow visibility of the fold-bar to be controlled as if it were a toolbar button -->"},"$:/core/ui/Buttons/fold-others":{"tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/fold-others-button}} {{$:/language/Buttons/FoldOthers/Caption}}","description":"{{$:/language/Buttons/FoldOthers/Hint}}","text":"\\whitespace trim\n<$button tooltip={{$:/language/Buttons/FoldOthers/Hint}} aria-label={{$:/language/Buttons/FoldOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-other-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/FoldOthers/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/fold":{"tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/fold-button}} {{$:/language/Buttons/Fold/Caption}}","description":"{{$:/language/Buttons/Fold/Hint}}","text":"\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Fold/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Unfold/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n"},"$:/core/ui/Buttons/info":{"tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/info-button}} {{$:/language/Buttons/Info/Caption}}","description":"{{$:/language/Buttons/Info/Hint}}","text":"\\whitespace trim\n\\define button-content()\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/info-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Info/Caption}}/>\n</span>\n</$list>\n\\end\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"popup\">\n<$button popup=<<tiddlerInfoState>> tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$reveal state=<<tiddlerInfoState>> type=\"match\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"yes\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=<<tiddlerInfoState>> type=\"nomatch\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n</$reveal>"},"$:/core/ui/Buttons/more-tiddler-actions":{"tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}","description":"{{$:/language/Buttons/More/Hint}}","text":"\\whitespace trim\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/More/Caption}}/>\n</span>\n</$list>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$set>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"},"$:/core/ui/Buttons/new-here":{"tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/new-here-button}} {{$:/language/Buttons/NewHere/Caption}}","description":"{{$:/language/Buttons/NewHere/Hint}}","text":"\\whitespace trim\n\\define newHereActions()\n<$set name=\"tags\" filter=\"[<currentTiddler>] [{$:/config/NewTiddler/Tags}]\">\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<tags>>/>\n</$set>\n\\end\n\\define newHereButton()\n<$button actions=<<newHereActions>> tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label={{$:/language/Buttons/NewHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-here-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewHere/Caption}}/>\n</span>\n</$list>\n</$button>\n\\end\n<<newHereButton>>\n"},"$:/core/ui/Buttons/new-journal-here":{"tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournalHere/Caption}}","description":"{{$:/language/Buttons/NewJournalHere/Hint}}","text":"\\whitespace trim\n\\define journalButtonTags()\n[[$(currentTiddlerTag)$]] $(journalTags)$\n\\end\n\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}} aria-label={{$:/language/Buttons/NewJournalHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$wikify name=\"journalTitle\" text=\"\"\"<$macrocall $name=\"now\" format=<<journalTitleTemplate>>/>\"\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<journalButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewJournalHere/Caption}}/>\n</span>\n</$list>\n</$wikify>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags}}>\n<$set name=\"currentTiddlerTag\" value=<<currentTiddler>>>\n<<journalButton>>\n</$set>\n</$set>\n</$set>\n"},"$:/core/ui/Buttons/open-window":{"tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/open-window}} {{$:/language/Buttons/OpenWindow/Caption}}","description":"{{$:/language/Buttons/OpenWindow/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-open-window\" tooltip={{$:/language/Buttons/OpenWindow/Hint}} aria-label={{$:/language/Buttons/OpenWindow/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/open-window}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/OpenWindow/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/permalink":{"tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/permalink-button}} {{$:/language/Buttons/Permalink/Caption}}","description":"{{$:/language/Buttons/Permalink/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-permalink\" tooltip={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/permalink-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Permalink/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/permaview":{"tags":"$:/tags/ViewToolbar $:/tags/PageControls","caption":"{{$:/core/images/permaview-button}} {{$:/language/Buttons/Permaview/Caption}}","description":"{{$:/language/Buttons/Permaview/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-permaview\" tooltip={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/permaview-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Permaview/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/DefaultTiddlers":{"text":"GettingStarted\n"},"$:/temp/advancedsearch":{"text":""},"$:/snippets/allfields":{"text":"\\define renderfield(title)\n<tr class=\"tc-view-field\"><td class=\"tc-view-field-name\">''$title$'':</td><td class=\"tc-view-field-value\">//{{$:/language/Docs/Fields/$title$}}//</td></tr>\n\\end\n<table class=\"tc-view-field-table\"><tbody><$list filter=\"[fields[]sort[title]]\" variable=\"listItem\"><$macrocall $name=\"renderfield\" title=<<listItem>>/></$list>\n</tbody></table>\n"},"$:/config/AnimationDuration":{"text":"400"},"$:/config/AutoFocus":{"text":"title"},"$:/config/AutoSave":{"text":"yes"},"$:/config/BitmapEditor/Colour":{"text":"#444"},"$:/config/BitmapEditor/ImageSizes":{"text":"[[62px 100px]] [[100px 62px]] [[124px 200px]] [[200px 124px]] [[248px 400px]] [[371px 600px]] [[400px 248px]] [[556px 900px]] [[600px 371px]] [[742px 1200px]] [[900px 556px]] [[1200px 742px]]"},"$:/config/BitmapEditor/LineWidth":{"text":"3px"},"$:/config/BitmapEditor/LineWidths":{"text":"0.25px 0.5px 1px 2px 3px 4px 6px 8px 10px 16px 20px 28px 40px 56px 80px"},"$:/config/BitmapEditor/Opacities":{"text":"0.01 0.025 0.05 0.075 0.1 0.15 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0"},"$:/config/BitmapEditor/Opacity":{"text":"1.0"},"$:/config/DefaultMoreSidebarTab":{"text":"$:/core/ui/MoreSideBar/Tags"},"$:/config/DefaultSidebarTab":{"text":"$:/core/ui/SideBar/Open"},"$:/config/DownloadSaver/AutoSave":{"text":"no"},"$:/config/Drafts/TypingTimeout":{"text":"400"},"$:/config/EditMode/fieldname-filter":{"first-search-filter":"[!is[shadow]!is[system]fields[]search:title<userInput>sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type","second-search-filter":"[fields[]search:title<userInput>sort[]] -[!is[shadow]!is[system]fields[]]"},"$:/config/EditTabIndex":{"text":"1\n"},"$:/config/EditTemplateFields/Visibility/title":{"text":"hide"},"$:/config/EditTemplateFields/Visibility/tags":{"text":"hide"},"$:/config/EditTemplateFields/Visibility/text":{"text":"hide"},"$:/config/EditTemplateFields/Visibility/creator":{"text":"hide"},"$:/config/EditTemplateFields/Visibility/created":{"text":"hide"},"$:/config/EditTemplateFields/Visibility/modified":{"text":"hide"},"$:/config/EditTemplateFields/Visibility/modifier":{"text":"hide"},"$:/config/EditTemplateFields/Visibility/type":{"text":"hide"},"$:/config/EditTemplateFields/Visibility/draft.title":{"text":"hide"},"$:/config/EditTemplateFields/Visibility/draft.of":{"text":"hide"},"$:/config/EditTemplateFields/Visibility/revision":{"text":"hide"},"$:/config/EditTemplateFields/Visibility/bag":{"text":"hide"},"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4":{"text":"hide"},"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5":{"text":"hide"},"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6":{"text":"hide"},"$:/config/EditorTypeMappings/image/gif":{"text":"bitmap"},"$:/config/EditorTypeMappings/image/webp":{"text":"bitmap"},"$:/config/EditorTypeMappings/image/heic":{"text":"bitmap"},"$:/config/EditorTypeMappings/image/heif":{"text":"bitmap"},"$:/config/EditorTypeMappings/image/jpeg":{"text":"bitmap"},"$:/config/EditorTypeMappings/image/jpg":{"text":"bitmap"},"$:/config/EditorTypeMappings/image/png":{"text":"bitmap"},"$:/config/EditorTypeMappings/image/x-icon":{"text":"bitmap"},"$:/config/EditorTypeMappings/text/vnd.tiddlywiki":{"text":"text"},"$:/config/Manager/Show":{"text":"tiddlers"},"$:/config/Manager/Filter":{"text":""},"$:/config/Manager/Order":{"text":"forward"},"$:/config/Manager/Sort":{"text":"title"},"$:/config/Manager/System":{"text":"system"},"$:/config/Manager/Tag":{"text":""},"$:/state/popup/manager/item/$:/Manager/ItemMain/RawText":{"text":"hide"},"$:/config/MissingLinks":{"text":"yes"},"$:/config/Navigation/UpdateAddressBar":{"text":"no"},"$:/config/Navigation/UpdateHistory":{"text":"no"},"$:/config/NewImageType":{"text":"jpeg"},"$:/config/OfficialPluginLibrary":{"tags":"$:/tags/PluginLibrary","url":"https://tiddlywiki.com/library/v5.1.23/index.html","caption":"{{$:/language/OfficialPluginLibrary}}","text":"{{$:/language/OfficialPluginLibrary/Hint}}\n"},"$:/config/Navigation/openLinkFromInsideRiver":{"text":"below"},"$:/config/Navigation/openLinkFromOutsideRiver":{"text":"top"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme":{"text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all":{"text":"hide"},"$:/config/Performance/Instrumentation":{"text":"no"},"$:/config/RegisterPluginType/plugin":{"text":"yes"},"$:/config/RegisterPluginType/theme":{"text":"no"},"$:/config/RegisterPluginType/language":{"text":"no"},"$:/config/RegisterPluginType/info":{"text":"yes"},"$:/config/RegisterPluginType/import":{"text":"no"},"$:/config/SaveWikiButton/Template":{"text":"$:/core/save/all"},"$:/config/SaverFilter":{"text":"[all[]] -[prefix[$:/HistoryList]] -[prefix[$:/StoryList]] -[status[pending]plugin-type[import]] -[[$:/isEncrypted]] -[[$:/UploadName]] -[prefix[$:/state/]] -[prefix[$:/temp/]]\n"},"$:/config/Search/AutoFocus":{"text":"true"},"$:/config/Search/MinLength":{"text":"3"},"$:/config/SearchResults/Default":{"text":"$:/core/ui/DefaultSearchResultList"},"$:/config/Server/ExternalFilters/[all[tiddlers]!is[system]sort[title]]":{"text":"yes"},"$:/config/ShortcutInfo/add-field":{"text":"{{$:/language/EditTemplate/Fields/Add/Button/Hint}}"},"$:/config/ShortcutInfo/advanced-search":{"text":"{{$:/language/Buttons/AdvancedSearch/Hint}}"},"$:/config/ShortcutInfo/advanced-search-sidebar":{"text":"{{$:/language/Shortcuts/Input/AdvancedSearch/Hint}}"},"$:/config/ShortcutInfo/bold":{"text":"{{$:/language/Buttons/Bold/Hint}}"},"$:/config/ShortcutInfo/cancel-edit-tiddler":{"text":"{{$:/language/Buttons/Cancel/Hint}}"},"$:/config/ShortcutInfo/change-sidebar-layout":{"text":"{{$:/language/Shortcuts/SidebarLayout/Hint}}"},"$:/config/ShortcutInfo/delete-field":{"text":"{{$:/language/EditTemplate/Field/Remove/Hint}}"},"$:/config/ShortcutInfo/excise":{"text":"{{$:/language/Buttons/Excise/Hint}}"},"$:/config/ShortcutInfo/heading-1":{"text":"{{$:/language/Buttons/Heading1/Hint}}"},"$:/config/ShortcutInfo/heading-2":{"text":"{{$:/language/Buttons/Heading2/Hint}}"},"$:/config/ShortcutInfo/heading-3":{"text":"{{$:/language/Buttons/Heading3/Hint}}"},"$:/config/ShortcutInfo/heading-4":{"text":"{{$:/language/Buttons/Heading4/Hint}}"},"$:/config/ShortcutInfo/heading-5":{"text":"{{$:/language/Buttons/Heading5/Hint}}"},"$:/config/ShortcutInfo/heading-6":{"text":"{{$:/language/Buttons/Heading6/Hint}}"},"$:/config/ShortcutInfo/input-accept":{"text":"{{$:/language/Shortcuts/Input/Accept/Hint}}"},"$:/config/ShortcutInfo/input-accept-variant":{"text":"{{$:/language/Shortcuts/Input/AcceptVariant/Hint}}"},"$:/config/ShortcutInfo/input-cancel":{"text":"{{$:/language/Shortcuts/Input/Cancel/Hint}}"},"$:/config/ShortcutInfo/input-down":{"text":"{{$:/language/Shortcuts/Input/Down/Hint}}"},"$:/config/ShortcutInfo/input-tab-left":{"text":"{{$:/language/Shortcuts/Input/Tab-Left/Hint}}"},"$:/config/ShortcutInfo/input-tab-right":{"text":"{{$:/language/Shortcuts/Input/Tab-Right/Hint}}"},"$:/config/ShortcutInfo/input-up":{"text":"{{$:/language/Shortcuts/Input/Up/Hint}}"},"$:/config/ShortcutInfo/italic":{"text":"{{$:/language/Buttons/Italic/Hint}}"},"$:/config/ShortcutInfo/layout-switcher":{"text":"{{$:/language/LayoutSwitcher/Description}}"},"$:/config/ShortcutInfo/link":{"text":"{{$:/language/Buttons/Link/Hint}}"},"$:/config/ShortcutInfo/linkify":{"text":"{{$:/language/Buttons/Linkify/Hint}}"},"$:/config/ShortcutInfo/list-bullet":{"text":"{{$:/language/Buttons/ListBullet/Hint}}"},"$:/config/ShortcutInfo/list-number":{"text":"{{$:/language/Buttons/ListNumber/Hint}}"},"$:/config/ShortcutInfo/mono-block":{"text":"{{$:/language/Buttons/MonoBlock/Hint}}"},"$:/config/ShortcutInfo/mono-line":{"text":"{{$:/language/Buttons/MonoLine/Hint}}"},"$:/config/ShortcutInfo/new-image":{"text":"{{$:/language/Buttons/NewImage/Hint}}"},"$:/config/ShortcutInfo/new-journal":{"text":"{{$:/language/Buttons/NewJournal/Hint}}"},"$:/config/ShortcutInfo/new-tiddler":{"text":"{{$:/language/Buttons/NewTiddler/Hint}}"},"$:/config/ShortcutInfo/picture":{"text":"{{$:/language/Buttons/Picture/Hint}}"},"$:/config/ShortcutInfo/preview":{"text":"{{$:/language/Buttons/Preview/Hint}}"},"$:/config/ShortcutInfo/quote":{"text":"{{$:/language/Buttons/Quote/Hint}}"},"$:/config/ShortcutInfo/save-tiddler":{"text":"{{$:/language/Buttons/Save/Hint}}"},"$:/config/ShortcutInfo/save-wiki":{"text":"{{$:/language/Buttons/SaveWiki/Hint}}"},"$:/config/ShortcutInfo/sidebar-search":{"text":"{{$:/language/Buttons/SidebarSearch/Hint}}"},"$:/config/ShortcutInfo/stamp":{"text":"{{$:/language/Buttons/Stamp/Hint}}"},"$:/config/ShortcutInfo/strikethrough":{"text":"{{$:/language/Buttons/Strikethrough/Hint}}"},"$:/config/ShortcutInfo/subscript":{"text":"{{$:/language/Buttons/Subscript/Hint}}"},"$:/config/ShortcutInfo/superscript":{"text":"{{$:/language/Buttons/Superscript/Hint}}"},"$:/config/ShortcutInfo/toggle-sidebar":{"text":"{{$:/language/Buttons/ToggleSidebar/Hint}}"},"$:/config/ShortcutInfo/transcludify":{"text":"{{$:/language/Buttons/Transcludify/Hint}}"},"$:/config/ShortcutInfo/underline":{"text":"{{$:/language/Buttons/Underline/Hint}}"},"$:/config/SwitcherTargets/layout":{"text":"$:/snippets/LayoutSwitcher"},"$:/config/SwitcherTargets/language":{"text":"$:/snippets/languageswitcher"},"$:/config/SwitcherTargets/palette":{"text":"$:/core/ui/ControlPanel/Palette"},"$:/config/SwitcherTargets/theme":{"text":"$:/core/ui/ControlPanel/Theme"},"$:/config/SyncFilter":{"text":"[is[tiddler]] -[[$:/core]] -[[$:/library/sjcl.js]] -[prefix[$:/boot/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/isEncrypted]] -[prefix[$:/status/]] -[prefix[$:/state/]] -[prefix[$:/temp/]]\n"},"$:/config/SyncSystemTiddlersFromServer":{"text":"no"},"$:/config/Tags/MinLength":{"text":"0"},"$:/config/TextEditor/EditorHeight/Height":{"text":"400px"},"$:/config/TextEditor/EditorHeight/Mode":{"text":"auto"},"$:/config/TiddlerInfo/Default":{"text":"$:/core/ui/TiddlerInfo/Fields"},"$:/config/TiddlerInfo/Mode":{"text":"popup"},"$:/config/Tiddlers/TitleLinks":{"text":"no"},"$:/config/Toolbar/ButtonClass":{"text":"tc-btn-invisible"},"$:/config/Toolbar/Icons":{"text":"yes"},"$:/config/Toolbar/Text":{"text":"no"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone":{"text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others":{"text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler":{"text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info":{"text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions":{"text":"show"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here":{"text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here":{"text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window":{"text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink":{"text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview":{"text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete":{"text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold":{"text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar":{"text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others":{"text":"hide"},"$:/config/shortcuts-mac/bold":{"text":"meta-B"},"$:/config/shortcuts-mac/input-tab-left":{"text":"ctrl-Left"},"$:/config/shortcuts-mac/input-tab-right":{"text":"ctrl-Right"},"$:/config/shortcuts-mac/italic":{"text":"meta-I"},"$:/config/shortcuts-mac/underline":{"text":"meta-U"},"$:/config/shortcuts-mac/new-image":{"text":"ctrl-I"},"$:/config/shortcuts-mac/new-journal":{"text":"ctrl-J"},"$:/config/shortcuts-mac/new-tiddler":{"text":"ctrl-N"},"$:/config/shortcuts-mac/save-wiki":{"text":"meta-S"},"$:/config/shortcuts-not-mac/bold":{"text":"ctrl-B"},"$:/config/shortcuts-not-mac/italic":{"text":"ctrl-I"},"$:/config/shortcuts-not-mac/underline":{"text":"ctrl-U"},"$:/config/shortcuts-not-mac/new-image":{"text":"alt-I"},"$:/config/shortcuts-not-mac/new-journal":{"text":"alt-J"},"$:/config/shortcuts-not-mac/new-tiddler":{"text":"alt-N"},"$:/config/shortcuts/add-field":{"text":"enter"},"$:/config/shortcuts/advanced-search":{"text":"ctrl-shift-A"},"$:/config/shortcuts/advanced-search-sidebar":{"text":"alt-Enter"},"$:/config/shortcuts/cancel-edit-tiddler":{"text":"escape"},"$:/config/shortcuts/change-sidebar-layout":{"text":"shift-alt-Down"},"$:/config/shortcuts/delete-field":{"text":"shift-alt-D"},"$:/config/shortcuts/excise":{"text":"ctrl-E"},"$:/config/shortcuts/sidebar-search":{"text":"ctrl-shift-F"},"$:/config/shortcuts/heading-1":{"text":"ctrl-1"},"$:/config/shortcuts/heading-2":{"text":"ctrl-2"},"$:/config/shortcuts/heading-3":{"text":"ctrl-3"},"$:/config/shortcuts/heading-4":{"text":"ctrl-4"},"$:/config/shortcuts/heading-5":{"text":"ctrl-5"},"$:/config/shortcuts/heading-6":{"text":"ctrl-6"},"$:/config/shortcuts/input-accept":{"text":"Enter"},"$:/config/shortcuts/input-accept-variant":{"text":"ctrl-Enter"},"$:/config/shortcuts/input-cancel":{"text":"Escape"},"$:/config/shortcuts/input-down":{"text":"Down"},"$:/config/shortcuts/input-tab-left":{"text":"alt-Left"},"$:/config/shortcuts/input-tab-right":{"text":"alt-Right"},"$:/config/shortcuts/input-up":{"text":"Up"},"$:/config/shortcuts/layout-switcher":{"text":"ctrl-shift-L"},"$:/config/shortcuts/link":{"text":"ctrl-L"},"$:/config/shortcuts/linkify":{"text":"alt-shift-L"},"$:/config/shortcuts/list-bullet":{"text":"ctrl-shift-L"},"$:/config/shortcuts/list-number":{"text":"ctrl-shift-N"},"$:/config/shortcuts/mono-block":{"text":"ctrl-shift-M"},"$:/config/shortcuts/mono-line":{"text":"ctrl-M"},"$:/config/shortcuts/picture":{"text":"ctrl-shift-I"},"$:/config/shortcuts/preview":{"text":"alt-P"},"$:/config/shortcuts/quote":{"text":"ctrl-Q"},"$:/config/shortcuts/save-tiddler":{"text":"ctrl+enter"},"$:/config/shortcuts/save-wiki":{"text":"ctrl-S"},"$:/config/shortcuts/stamp":{"text":"ctrl-S"},"$:/config/shortcuts/strikethrough":{"text":"ctrl-T"},"$:/config/shortcuts/subscript":{"text":"ctrl-shift-B"},"$:/config/shortcuts/superscript":{"text":"ctrl-shift-P"},"$:/config/shortcuts/toggle-sidebar":{"text":"alt-shift-S"},"$:/config/shortcuts/transcludify":{"text":"alt-shift-T"},"$:/config/ui/EditTemplate":{"text":"$:/core/ui/EditTemplate"},"$:/config/ui/ViewTemplate":{"text":"$:/core/ui/ViewTemplate"},"$:/config/WikiParserRules/Inline/wikilink":{"text":"enable"},"$:/snippets/currpalettepreview":{"text":"\\define resolve-colour(macrocall)\n\\import $:/core/macros/utils\n\\whitespace trim\n<$wikify name=\"name\" text=\"\"\"$macrocall$\"\"\">\n<<name>>\n</$wikify>\n\\end\n\\define swatchStyle()\nbackground-color: $(swatchColour)$;\n\\end\n\\define swatch-inner()\n<$set name=\"swatchColour\" value={{##$(colourResolved)$}}>\n<$list filter=\"[<swatchColour>!prefix[<<colour ]!suffix[>>]]\" variable=\"ignore\">\n<div class=\"tc-swatch\" style=<<swatchStyle>> title=<<swatchTitle>>/>\n</$list>\n<$list filter=\"[<swatchColour>prefix[<<colour ]suffix[>>]]\" variable=\"ignore\">\n<$wikify name=\"colourResolved\" text=\"\"\"<$macrocall $name=\"resolve-colour\" macrocall=<<swatchColour>>/>\"\"\">\n<<swatch-inner>>\n</$wikify>\n</$list>\n</$set>\n\\end\n\\define swatch()\n<$set name=\"swatchColour\" value={{##$(colour)$}}>\n<$set name=\"swatchTitle\" value=<<colour>>>\n<$list filter=\"[<swatchColour>!prefix[<<colour ]!suffix[>>]]\" variable=\"ignore\">\n<div class=\"tc-swatch\" style=<<swatchStyle>> title=<<swatchTitle>>/>\n</$list>\n<$list filter=\"[<swatchColour>prefix[<<colour ]suffix[>>]]\" variable=\"ignore\">\n<$wikify name=\"colourResolved\" text=\"\"\"<$macrocall $name=\"resolve-colour\" macrocall=<<swatchColour>>/>\"\"\">\n<<swatch-inner>>\n</$wikify>\n</$list>\n</$set>\n</$set>\n\\end\n<div class=\"tc-swatches-horiz\"><$list filter=\"\nforeground\nbackground\nmuted-foreground\nprimary\npage-background\ntab-background\ntiddler-info-background\n\" variable=\"colour\"><<swatch>></$list></div>\n"},"$:/snippets/download-wiki-button":{"text":"\\define lingo-base() $:/language/ControlPanel/Tools/Download/\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/save/all\" filename=\"index.html\"/>\n<<lingo Full/Caption>> {{$:/core/images/save-button}}\n</$button>"},"$:/language":{"text":"$:/languages/en-GB"},"$:/snippets/languageswitcher":{"text":"\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n\n<$linkcatcher to=\"$:/language\">\n<div class=\"tc-chooser tc-language-chooser\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<$set name=\"cls\" filter=\"[all[current]field:title{$:/language}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>>\n<$link>\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value=<<currentTiddler>>>\n<$transclude subtiddler=<<flag-title>>>\n<$list filter=\"[all[current]field:title[$:/languages/en-GB]]\">\n<$transclude tiddler=\"$:/languages/en-GB/icon\"/>\n</$list>\n</$transclude>\n</$set>\n</span>\n<$view field=\"description\">\n<$view field=\"name\">\n<$view field=\"title\"/>\n</$view>\n</$view>\n</$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"},"$:/core/macros/CSS":{"tags":"$:/tags/Macro","text":"\\define colour(name)\n<$transclude tiddler={{$:/palette}} index=\"$name$\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"$name$\"><$transclude tiddler=\"$:/config/DefaultColourMappings/$name$\"/></$transclude></$transclude>\n\\end\n\n\\define color(name)\n<<colour $name$>>\n\\end\n\n\\define box-shadow(shadow)\n``\n -webkit-box-shadow: $shadow$;\n -moz-box-shadow: $shadow$;\n box-shadow: $shadow$;\n``\n\\end\n\n\\define filter(filter)\n``\n -webkit-filter: $filter$;\n -moz-filter: $filter$;\n filter: $filter$;\n``\n\\end\n\n\\define transition(transition)\n``\n -webkit-transition: $transition$;\n -moz-transition: $transition$;\n transition: $transition$;\n``\n\\end\n\n\\define transform-origin(origin)\n``\n -webkit-transform-origin: $origin$;\n -moz-transform-origin: $origin$;\n transform-origin: $origin$;\n``\n\\end\n\n\\define background-linear-gradient(gradient)\n``\nbackground-image: linear-gradient($gradient$);\nbackground-image: -o-linear-gradient($gradient$);\nbackground-image: -moz-linear-gradient($gradient$);\nbackground-image: -webkit-linear-gradient($gradient$);\nbackground-image: -ms-linear-gradient($gradient$);\n``\n\\end\n\n\\define column-count(columns)\n``\n-moz-column-count: $columns$;\n-webkit-column-count: $columns$;\ncolumn-count: $columns$;\n``\n\\end\n\n\\define datauri(title)\n<$macrocall $name=\"makedatauri\" type={{$title$!!type}} text={{$title$}} _canonical_uri={{$title$!!_canonical_uri}}/>\n\\end\n\n\\define if-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-no-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-background-attachment(text)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" type=\"nomatch\" text=\"\">$text$</$reveal>\n\\end\n"},"$:/core/macros/colour-picker":{"tags":"$:/tags/Macro","text":"\\define colour-picker-update-recent()\n<$action-listops\n\t$tiddler=\"$:/config/ColourPicker/Recent\"\n\t$subfilter=\"$(colour-picker-value)$ [list[$:/config/ColourPicker/Recent]remove[$(colour-picker-value)$]] +[limit[8]]\"\n/>\n\\end\n\n\\define colour-picker-inner(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(colour-picker-value)$\"\"\">\n\n$(colour-picker-update-recent)$\n\n$actions$\n\n<span style=\"display:inline-block; background-color: $(colour-picker-value)$; width: 100%; height: 100%; border-radius: 50%;\"/>\n\n</$button>\n\\end\n\n\\define colour-picker-recent-inner(actions)\n<$set name=\"colour-picker-value\" value=\"$(recentColour)$\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\\end\n\n\\define colour-picker-recent(actions)\n{{$:/language/ColourPicker/Recent}} <$list filter=\"[list[$:/config/ColourPicker/Recent]]\" variable=\"recentColour\">\n<$macrocall $name=\"colour-picker-recent-inner\" actions=\"\"\"$actions$\"\"\"/></$list>\n\\end\n\n\\define colour-picker(actions)\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker-recent\" actions=\"\"\"$actions$\"\"\"/>\n\n---\n\n<$list filter=\"LightPink Pink Crimson LavenderBlush PaleVioletRed HotPink DeepPink MediumVioletRed Orchid Thistle Plum Violet Magenta Fuchsia DarkMagenta Purple MediumOrchid DarkViolet DarkOrchid Indigo BlueViolet MediumPurple MediumSlateBlue SlateBlue DarkSlateBlue Lavender GhostWhite Blue MediumBlue MidnightBlue DarkBlue Navy RoyalBlue CornflowerBlue LightSteelBlue LightSlateGrey SlateGrey DodgerBlue AliceBlue SteelBlue LightSkyBlue SkyBlue DeepSkyBlue LightBlue PowderBlue CadetBlue Azure LightCyan PaleTurquoise Cyan Aqua DarkTurquoise DarkSlateGrey DarkCyan Teal MediumTurquoise LightSeaGreen Turquoise Aquamarine MediumAquamarine MediumSpringGreen MintCream SpringGreen MediumSeaGreen SeaGreen Honeydew LightGreen PaleGreen DarkSeaGreen LimeGreen Lime ForestGreen Green DarkGreen Chartreuse LawnGreen GreenYellow DarkOliveGreen YellowGreen OliveDrab Beige LightGoldenrodYellow Ivory LightYellow Yellow Olive DarkKhaki LemonChiffon PaleGoldenrod Khaki Gold Cornsilk Goldenrod DarkGoldenrod FloralWhite OldLace Wheat Moccasin Orange PapayaWhip BlanchedAlmond NavajoWhite AntiqueWhite Tan BurlyWood Bisque DarkOrange Linen Peru PeachPuff SandyBrown Chocolate SaddleBrown Seashell Sienna LightSalmon Coral OrangeRed DarkSalmon Tomato MistyRose Salmon Snow LightCoral RosyBrown IndianRed Red Brown FireBrick DarkRed Maroon White WhiteSmoke Gainsboro LightGrey Silver DarkGrey Grey DimGrey Black\" variable=\"colour-picker-value\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\n---\n\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" tag=\"input\" default=\"\" placeholder=\"\"/>\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" type=\"color\" tag=\"input\"/>\n<$set name=\"colour-picker-value\" value={{$:/config/ColourPicker/New}}>\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\n</div>\n\n\\end\n"},"$:/core/macros/copy-to-clipboard":{"tags":"$:/tags/Macro","text":"\\define copy-to-clipboard(src,class:\"tc-btn-invisible\",style)\n<$button class=<<__class__>> style=<<__style__>> message=\"tm-copy-to-clipboard\" param=<<__src__>> tooltip={{$:/language/Buttons/CopyToClipboard/Hint}}>\n{{$:/core/images/copy-clipboard}} <$text text={{$:/language/Buttons/CopyToClipboard/Caption}}/>\n</$button>\n\\end\n\n\\define copy-to-clipboard-above-right(src,class:\"tc-btn-invisible\",style)\n<div style=\"position: relative;\">\n<div style=\"position: absolute; bottom: 0; right: 0;\">\n<$macrocall $name=\"copy-to-clipboard\" src=<<__src__>> class=<<__class__>> style=<<__style__>>/>\n</div>\n</div>\n\\end\n\n"},"$:/core/macros/diff":{"tags":"$:/tags/Macro","text":"\\define compareTiddlerText(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle)\n<$set name=\"source\" tiddler=<<__sourceTiddlerTitle__>> subtiddler=<<__sourceSubTiddlerTitle__>>>\n<$set name=\"dest\" tiddler=<<__destTiddlerTitle__>> subtiddler=<<__destSubTiddlerTitle__>>>\n<$diff-text source=<<source>> dest=<<dest>>/>\n</$set>\n</$set>\n\\end\n\n\\define compareTiddlers(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle,exclude)\n<table class=\"tc-diff-tiddlers\">\n<tbody>\n<$set name=\"sourceFields\" filter=\"[<__sourceTiddlerTitle__>fields[]sort[]]\">\n<$set name=\"destFields\" filter=\"[<__destSubTiddlerTitle__>subtiddlerfields<__destTiddlerTitle__>sort[]]\">\n<$list filter=\"[enlist<sourceFields>] [enlist<destFields>] -[enlist<__exclude__>] +[sort[]]\" variable=\"fieldName\">\n<tr>\n<th>\n<$text text=<<fieldName>>/> \n</th>\n<td>\n<$set name=\"source\" tiddler=<<__sourceTiddlerTitle__>> subtiddler=<<__sourceSubTiddlerTitle__>> field=<<fieldName>>>\n<$set name=\"dest\" tiddler=<<__destTiddlerTitle__>> subtiddler=<<__destSubTiddlerTitle__>> field=<<fieldName>>>\n<$diff-text source=<<source>> dest=<<dest>>>\n</$diff-text>\n</$set>\n</$set>\n</td>\n</tr>\n</$list>\n</$set>\n</$set>\n</tbody>\n</table>\n\\end\n"},"$:/core/macros/dumpvariables":{"tags":"$:/tags/Macro","text":"\\define dumpvariables()\n<ul>\n<$list filter=\"[variables[]]\" variable=\"varname\">\n<li>\n<strong><code><$text text=<<varname>>/></code></strong>:<br/>\n<$codeblock code={{{ [<varname>getvariable[]] }}}/>\n</li>\n</$list>\n</ul>\n\\end\n"},"$:/core/macros/export":{"tags":"$:/tags/Macro","text":"\\define exportButtonFilename(baseFilename)\n$baseFilename$$(extension)$\n\\end\n\n\\define exportButton(exportFilter:\"[!is[system]sort[title]]\",lingoBase,baseFilename:\"tiddlers\")\n<span class=\"tc-popup-keep\"><$button popup=<<qualify \"$:/state/popup/export\">> tooltip={{$lingoBase$Hint}} aria-label={{$lingoBase$Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/export-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$lingoBase$Caption}}/></span>\n</$list>\n</$button></span><$reveal state=<<qualify \"$:/state/popup/export\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$set name=\"count\" value={{{ [subfilter<__exportFilter__>count[]] }}}>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Exporter]]\">\n<$list filter=\"[<currentTiddler>has[condition]subfilter{!!condition}limit[1]] ~[<currentTiddler>!has[condition]then[true]]\" variable=\"ignore\">\n<$set name=\"extension\" value={{!!extension}}>\n<$button class=\"tc-btn-invisible\">\n<$action-sendmessage $message=\"tm-download-file\" $param=<<currentTiddler>> exportFilter=<<__exportFilter__>> filename=<<exportButtonFilename \"\"\"$baseFilename$\"\"\">>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/export\">>/>\n<$transclude field=\"description\"/>\n</$button>\n</$set>\n</$list>\n</$list>\n</$set>\n</div>\n</$reveal>\n\\end\n"},"$:/core/macros/image-picker":{"created":"20170715180840889","modified":"20170715180914005","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define image-picker-thumbnail(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(imageTitle)$\"\"\">\n$actions$\n<$transclude tiddler=<<imageTitle>>/>\n</$button>\n\\end\n\n\\define image-picker-list(filter,actions)\n<$list filter=\"\"\"$filter$\"\"\" variable=\"imageTitle\">\n<$macrocall $name=\"image-picker-thumbnail\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\\end\n\n\\define image-picker(actions,filter:\"[all[shadows+tiddlers]is[image]] -[type[application/pdf]] +[!has[draft.of]$subfilter$sort[title]]\",subfilter:\"\")\n<div class=\"tc-image-chooser\">\n<$vars state-system=<<qualify \"$:/state/image-picker/system\">>>\n<$checkbox tiddler=<<state-system>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"hide\">\n{{$:/language/SystemTiddlers/Include/Prompt}}\n</$checkbox>\n<$reveal state=<<state-system>> type=\"match\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$ +[!is[system]]\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$reveal>\n<$reveal state=<<state-system>> type=\"nomatch\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$reveal>\n</$vars>\n</div>\n\\end\n\n\\define image-picker-include-tagged-images(actions)\n<$macrocall $name=\"image-picker\" filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[!has[draft.of]sort[title]]\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n"},"$:/core/macros/keyboard-driven-input":{"tags":"$:/tags/Macro","text":"\\define change-input-tab(stateTitle,tag,beforeafter,defaultState,actions)\n<$set name=\"tabsList\" filter=\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]]\">\n<$vars currentState={{{ [<__stateTitle__>!is[missing]get[text]] ~[<__defaultState__>] }}} firstTab={{{ [enlist<tabsList>nth[1]] }}} lastTab={{{ [enlist<tabsList>last[]] }}}>\n<$set name=\"nextTab\" value={{{ [all[shadows+tiddlers]tag<__tag__>!has[draft.of]$beforeafter$<currentState>] ~[[$beforeafter$]removeprefix[after]suffix[]addprefix<firstTab>] ~[[$beforeafter$]removeprefix[before]suffix[]addprefix<lastTab>] }}}>\n<$action-setfield $tiddler=<<__stateTitle__>> text=<<nextTab>>/>\n$actions$\n</$set>\n</$vars>\n</$set>\n\\end\n\n\\define keyboard-input-actions()\n<$list filter=\"[<__index__>match[]]\">\n<$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>get<__field__>] }}}/>\n</$list>\n<$list filter=\"[<__index__>!match[]]\">\n<$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>getindex<__index__>] }}}/>\n</$list>\n\\end\n\n\\define input-next-actions-inner()\n<$list filter=\"[<nextItem>minlength[1]]\" variable=\"ignore\">\n<$action-setfield $tiddler=<<__selectionStateTitle__>> text=<<nextItem>>/>\n<$list filter=\"[<__index__>match[]]\">\n<$action-setfield $tiddler=<<__tiddler__>> $field=<<__field__>> $value={{{ [<nextItem>] +[splitregexp[(?:.(?!-))+$]] }}}/>\n</$list>\n<$list filter=\"[<__index__>!match[]]\">\n<$action-setfield $tiddler=<<__tiddler__>> $index=<<__index__>> $value={{{ [<nextItem>] +[splitregexp[(?:.(?!-))+$]] }}}/>\n</$list>\n<$action-setfield $tiddler=<<__refreshTitle__>> text=\"yes\"/>\n</$list>\n\\end\n\n\\define input-next-actions(afterOrBefore:\"after\",reverse:\"\")\n<$list filter=\"[<__storeTitle__>get[text]minlength<__filterMinLength__>] [<__filterMinLength__>match[0]] +[limit[1]]\" variable=\"ignore\">\n<$vars userInput={{{ [<__storeTitle__>get[text]] }}} selectedItem={{{ [<__selectionStateTitle__>get[text]] }}}>\n<$set name=\"configTiddler\" value={{{ [subfilter<__configTiddlerFilter__>] }}}>\n<$vars primaryListFilter={{{ [<configTiddler>get<__firstSearchFilterField__>] }}} secondaryListFilter={{{ [<configTiddler>get<__secondSearchFilterField__>] }}}>\n<$set name=\"filteredList\" filter=\"[subfilter<primaryListFilter>addsuffix[-primaryList]] =[subfilter<secondaryListFilter>addsuffix[-secondaryList]]\">\n<$vars nextItem={{{ [enlist<filteredList>$afterOrBefore$<selectedItem>] ~[enlist<filteredList>$reverse$nth[1]] }}} firstItem={{{ [enlist<filteredList>nth[1]] }}} lastItem={{{ [enlist<filteredList>last[]] }}}>\n<$list filter=\"[<selectedItem>match<firstItem>!match<lastItem>]\" variable=\"ignore\">\n<$set name=\"nextItem\" value={{{ [[$afterOrBefore$]match[before]then<userInput>addsuffix[-userInput]] ~[<nextItem>] }}}>\n<<input-next-actions-inner>>\n</$set>\n</$list>\n<$list filter=\"[<selectedItem>match<lastItem>!match<firstItem>]\" variable=\"ignore\">\n<$set name=\"nextItem\" value={{{ [[$afterOrBefore$]match[after]then<userInput>addsuffix[-userInput]] ~[<nextItem>] }}}>\n<<input-next-actions-inner>>\n</$set>\n</$list>\n<$list filter=\"[<selectedItem>match<firstItem>match<lastItem>]\" variable=\"ignore\">\n<$set name=\"nextItem\" value={{{ [<userInput>addsuffix[-userInput]] }}}>\n<<input-next-actions-inner>>\n</$set>\n</$list>\n<$list filter=\"[<selectedItem>!match<firstItem>!match<lastItem>]\" variable=\"ignore\">\n<<input-next-actions-inner>>\n</$list>\n</$vars>\n</$set>\n</$vars>\n</$set>\n</$vars>\n</$list>\n\\end\n\n\\define keyboard-driven-input(tiddler,storeTitle,field:\"text\",index:\"\",tag:\"input\",type,focus:\"\",inputAcceptActions,inputAcceptVariantActions,inputCancelActions,placeholder:\"\",default:\"\",class,focusPopup,rows,minHeight,tabindex,size,autoHeight,filterMinLength:\"0\",refreshTitle,selectionStateTitle,cancelPopups:\"\",configTiddlerFilter,firstSearchFilterField:\"first-search-filter\",secondSearchFilterField:\"second-search-filter\")\n\\whitespace trim\n<$keyboard key=\"((input-accept))\" actions=<<__inputAcceptActions__>>>\n<$keyboard key=\"((input-accept-variant))\" actions=<<__inputAcceptVariantActions__>>>\n<$keyboard key=\"((input-up))\" actions=<<input-next-actions \"before\" \"reverse[]\">>>\n<$keyboard key=\"((input-down))\" actions=<<input-next-actions>>>\n<$keyboard key=\"((input-cancel))\" actions=<<__inputCancelActions__>>>\n<$edit-text tiddler=<<__tiddler__>> field=<<__field__>> index=<<__index__>> \n\t\tinputActions=<<keyboard-input-actions>> tag=<<__tag__>> class=<<__class__>> \n\t\tplaceholder=<<__placeholder__>> default=<<__default__>> focusPopup=<<__focusPopup__>> \n\t\tfocus=<<__focus__>> type=<<__type__>> rows=<<__rows__>> minHeight=<<__minHeight__>> \n\t\ttabindex=<<__tabindex__>> size=<<__size__>> autoHeight=<<__autoHeight__>> \n\t\trefreshTitle=<<__refreshTitle__>> cancelPopups=<<__cancelPopups__>>/>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n\\end\n"},"$:/core/macros/lingo":{"tags":"$:/tags/Macro","text":"\\define lingo-base()\n$:/language/\n\\end\n\n\\define lingo(title)\n{{$(lingo-base)$$title$}}\n\\end\n"},"$:/core/macros/list":{"tags":"$:/tags/Macro","text":"\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\",emptyMessage)\n\\whitespace trim\n<$type$ class=\"$class$\">\n<$list filter=\"$filter$\" emptyMessage=<<__emptyMessage__>>>\n<$subtype$>\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n\n\\define list-links-draggable-drop-actions()\n<$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n\\define list-links-draggable(tiddler,field:\"list\",type:\"ul\",subtype:\"li\",class:\"\",itemTemplate)\n\\whitespace trim\n<span class=\"tc-links-draggable-list\">\n<$vars targetTiddler=\"\"\"$tiddler$\"\"\" targetField=\"\"\"$field$\"\"\">\n<$type$ class=\"$class$\">\n<$list filter=\"[list[$tiddler$!!$field$]]\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"\"\"$subtype$\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<div class=\"tc-droppable-placeholder\"/>\n<div>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$transclude>\n</div>\n</$droppable>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"div\" enable=<<tv-enable-drag-and-drop>>>\n<div class=\"tc-droppable-placeholder\">\n{{$:/core/images/blank}}\n</div>\n<div style=\"height:0.5em;\"/>\n</$droppable>\n</$tiddler>\n</$type$>\n</$vars>\n</span>\n\\end\n\n\\define list-tagged-draggable-drop-actions(tag)\n<!-- Save the current ordering of the tiddlers with this tag -->\n<$set name=\"order\" filter=\"[<__tag__>tagging[]]\">\n<!-- Remove any list-after or list-before fields from the tiddlers with this tag -->\n<$list filter=\"[<__tag__>tagging[]]\">\n<$action-deletefield $field=\"list-before\"/>\n<$action-deletefield $field=\"list-after\"/>\n</$list>\n<!-- Save the new order to the Tag Tiddler -->\n<$action-listops $tiddler=<<__tag__>> $field=\"list\" $filter=\"+[enlist<order>] +[insertbefore:currentTiddler<actionTiddler>]\"/>\n<!-- Make sure the newly added item has the right tag -->\n<!-- Removing this line makes dragging tags within the dropdown work as intended -->\n<!--<$action-listops $tiddler=<<actionTiddler>> $tags=<<__tag__>>/>-->\n<!-- Using the following 5 lines as replacement makes dragging titles from outside into the dropdown apply the tag -->\n<$list filter=\"[<actionTiddler>!contains:tags<__tag__>]\">\n<$fieldmangler tiddler=<<actionTiddler>>>\n<$action-sendmessage $message=\"tm-add-tag\" $param=<<__tag__>>/>\n</$fieldmangler>\n</$list>\n</$set>\n\\end\n\n\\define list-tagged-draggable(tag,subFilter,emptyMessage,itemTemplate,elementTag:\"div\",storyview:\"\")\n\\whitespace trim\n<span class=\"tc-tagged-draggable-list\">\n<$set name=\"tag\" value=<<__tag__>>>\n<$list filter=\"[<__tag__>tagging[]$subFilter$]\" emptyMessage=<<__emptyMessage__>> storyview=<<__storyview__>>>\n<$elementTag$ class=\"tc-menu-list-item\">\n<$droppable actions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<$elementTag$ class=\"tc-droppable-placeholder\"/>\n<$elementTag$>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</$transclude>\n</$elementTag$>\n</$droppable>\n</$elementTag$>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<$elementTag$ class=\"tc-droppable-placeholder\"/>\n<$elementTag$ style=\"height:0.5em;\">\n</$elementTag$>\n</$droppable>\n</$tiddler>\n</$set>\n</span>\n\\end\n"},"$:/core/macros/tabs":{"tags":"$:/tags/Macro","text":"\\define tabs(tabsList,default,state:\"$:/state/tab\",class,template,buttonTemplate,retain,actions,explicitState)\n<$set name=\"qualifiedState\" value=<<qualify \"$state$\">>>\n<$vars tabsState={{{ [<__explicitState__>minlength[1]] ~[<qualifiedState>] }}}>\n<div class=\"tc-tab-set $class$\">\n<div class=\"tc-tab-buttons $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\" storyview=\"pop\"><$set name=\"save-currentTiddler\" value=<<currentTiddler>>><$tiddler tiddler=<<currentTab>>><$button set=<<tabsState>> setTo=<<currentTab>> default=\"$default$\" selectedClass=\"tc-tab-selected\" tooltip={{!!tooltip}}>\n<$tiddler tiddler=<<save-currentTiddler>>>\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude tiddler=\"$buttonTemplate$\" mode=\"inline\">\n<$transclude tiddler=<<currentTab>> field=\"caption\">\n<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n</$transclude>\n</$transclude>\n</$set></$tiddler>$actions$</$button></$tiddler></$set></$list>\n</div>\n<div class=\"tc-tab-divider $class$\"/>\n<div class=\"tc-tab-content $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\n<$reveal type=\"match\" state=<<tabsState>> text=<<currentTab>> default=\"$default$\" retain=\"\"\"$retain$\"\"\">\n\n<$transclude tiddler=\"$template$\" mode=\"block\">\n\n<$transclude tiddler=<<currentTab>> mode=\"block\"/>\n\n</$transclude>\n\n</$reveal>\n\n</$list>\n</div>\n</div>\n</$vars>\n</$set>\n\\end\n"},"$:/core/macros/tag-picker":{"tags":"$:/tags/Macro","first-search-filter":"[tags[]!is[system]search:title<userInput>sort[]]","second-search-filter":"[tags[]is[system]search:title<userInput>sort[]]","text":"\\define get-tagpicker-focus-selector() [data-tiddler-title=\"$(currentTiddlerCSSEscaped)$\"] .tc-add-tag-name input\n\n\\define delete-tag-state-tiddlers() <$action-deletetiddler $filter=\"[<newTagNameTiddler>] [<storeTitle>] [<tagSelectionState>]\"/>\n\n\\define add-tag-actions(actions,tagField:\"tags\")\n<$set name=\"tag\" value={{{ [<__tiddler__>get[text]] }}}>\n<$list filter=\"[<saveTiddler>!contains:$tagField$<tag>!match[]]\" variable=\"ignore\" emptyMessage=\"\"\"\n<$action-listops $tiddler=<<saveTiddler>> $field=<<__tagField__>> $subfilter=\"-[<tag>]\"/>\n\"\"\">\n<$action-listops $tiddler=<<saveTiddler>> $field=<<__tagField__>> $subfilter=\"[<tag>]\"/>\n$actions$\n</$list>\n</$set>\n<<delete-tag-state-tiddlers>>\n<$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n\\end\n\n\\define clear-tags-actions-inner()\n<$list filter=\"[<storeTitle>has[text]] [<newTagNameTiddler>has[text]]\" variable=\"ignore\" emptyMessage=\"\"\"<<cancel-delete-tiddler-actions \"cancel\">>\"\"\">\n<<delete-tag-state-tiddlers>>\n</$list>\n\\end\n\n\\define clear-tags-actions()\n<$set name=\"userInput\" value={{{ [<storeTitle>get[text]] }}}>\n<$list filter=\"[<newTagNameTiddler>get[text]!match<userInput>]\" emptyMessage=\"\"\"<<clear-tags-actions-inner>>\"\"\">\n<$action-setfield $tiddler=<<newTagNameTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n</$list>\n</$set>\n\\end\n\n\\define tag-picker-inner(actions,tagField:\"tags\")\n\\whitespace trim\n<$vars newTagNameInputTiddlerQualified=<<qualify \"$:/temp/NewTagName/input\">> newTagNameSelectionTiddlerQualified=<<qualify \"$:/temp/NewTagName/selected-item\">> fallbackTarget={{$(palette)$##tag-background}} colourA={{$(palette)$##foreground}} colourB={{$(palette)$##background}}>\n<$vars storeTitle={{{ [<newTagNameInputTiddler>!match[]] ~[<newTagNameInputTiddlerQualified>] }}} tagSelectionState={{{ [<newTagNameSelectionTiddler>!match[]] ~[<newTagNameSelectionTiddlerQualified>] }}}>\n<$vars refreshTitle=<<qualify \"$:/temp/NewTagName/refresh\">> nonSystemTagsFilter=\"[tags[]!is[system]search:title<userInput>sort[]]\" systemTagsFilter=\"[tags[]is[system]search:title<userInput>sort[]]\">\n<div class=\"tc-edit-add-tag\">\n<div>\n<span class=\"tc-add-tag-name tc-small-gap-right\">\n<$macrocall $name=\"keyboard-driven-input\" tiddler=<<newTagNameTiddler>> storeTitle=<<storeTitle>> refreshTitle=<<refreshTitle>>\n\t\tselectionStateTitle=<<tagSelectionState>> inputAcceptActions=\"\"\"<$macrocall $name=\"add-tag-actions\" actions=<<__actions__>> tagField=<<__tagField__>>/>\"\"\"\n\t\tinputCancelActions=<<clear-tags-actions>> tag=\"input\" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}}\n\t\tfocusPopup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-edit-texteditor tc-popup-handle\" tabindex=<<tabIndex>> \n\t\tfocus={{{ [{$:/config/AutoFocus}match[tags]then[true]] ~[[false]] }}} filterMinLength={{$:/config/Tags/MinLength}} \n\t\tcancelPopups=<<cancelPopups>> configTiddlerFilter=\"[[$:/core/macros/tag-picker]]\"/>\n</span><$button popup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button><$reveal state=<<storeTitle>> type=\"nomatch\" text=\"\"><$button class=\"tc-btn-invisible tc-small-gap tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Tags/ClearInput/Hint}} aria-label={{$:/language/EditTemplate/Tags/ClearInput/Caption}}>{{$:/core/images/close-button}}<<delete-tag-state-tiddlers>></$button></$reveal><span class=\"tc-add-tag-button tc-small-gap-left\">\n<$set name=\"tag\" value={{{ [<newTagNameTiddler>get[text]] }}}>\n<$button set=<<newTagNameTiddler>> setTo=\"\" class=\"\">\n<$action-listops $tiddler=<<saveTiddler>> $field=<<__tagField__>> $subfilter=\"[<tag>]\"/>\n$actions$\n<$set name=\"currentTiddlerCSSEscaped\" value={{{ [<saveTiddler>escapecss[]] }}}>\n<<delete-tag-state-tiddlers>><$action-sendmessage $message=\"tm-focus-selector\" $param=<<get-tagpicker-focus-selector>>/>\n</$set>\n{{$:/language/EditTemplate/Tags/Add/Button}}\n</$button>\n</$set>\n</span>\n</div>\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/tags-auto-complete\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-block-tags-dropdown\">\n<$set name=\"userInput\" value={{{ [<storeTitle>get[text]] }}}>\n<$list filter=\"[<userInput>minlength{$:/config/Tags/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$list filter=<<nonSystemTagsFilter>> variable=\"tag\">\n<$list filter=\"[<tag>addsuffix[-primaryList]] -[<tagSelectionState>get[text]]\" emptyMessage=\"\"\"<$vars button-classes=\"tc-btn-invisible tc-tag-button-selected\" actions=<<__actions__>> tagField=<<__tagField__>> currentTiddler=<<tag>>>{{||$:/core/ui/TagPickerTagTemplate}}</$vars>\"\"\">\n<$vars button-classes=\"tc-btn-invisible\" actions=<<__actions__>> tagField=<<__tagField__>> currentTiddler=<<tag>>>{{||$:/core/ui/TagPickerTagTemplate}}</$vars>\n</$list>\n</$list></$list>\n<hr>\n<$list filter=\"[<userInput>minlength{$:/config/Tags/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$list filter=<<systemTagsFilter>> variable=\"tag\">\n<$list filter=\"[<tag>addsuffix[-secondaryList]] -[<tagSelectionState>get[text]]\" emptyMessage=\"\"\"<$vars button-classes=\"tc-btn-invisible tc-tag-button-selected\" actions=<<__actions__>> tagField=<<__tagField__>> currentTiddler=<<tag>>>{{||$:/core/ui/TagPickerTagTemplate}}</$vars>\"\"\">\n<$vars button-classes=\"tc-btn-invisible\" actions=<<__actions__>> tagField=<<__tagField__>> currentTiddler=<<tag>>>{{||$:/core/ui/TagPickerTagTemplate}}</$vars>\n</$list>\n</$list></$list>\n</$set>\n</div>\n</$reveal>\n</div>\n</div>\n</$vars>\n</$vars>\n</$vars>\n\\end\n\\define tag-picker(actions,tagField:\"tags\")\n\\whitespace trim\n<$vars saveTiddler=<<currentTiddler>> palette={{$:/palette}}>\n<$list filter=\"[<newTagNameTiddler>match[]]\" emptyMessage=\"\"\"<$macrocall $name=\"tag-picker-inner\" actions=<<__actions__>> tagField=<<__tagField__>>/>\"\"\">\n<$set name=\"newTagNameTiddler\" value=<<qualify \"$:/temp/NewTagName\">>>\n<$macrocall $name=\"tag-picker-inner\" actions=<<__actions__>> tagField=<<__tagField__>>/>\n</$set>\n</$list>\n</$vars>\n\\end\n"},"$:/core/macros/tag":{"tags":"$:/tags/Macro","text":"\\define tag-pill-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions)\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<$element-tag$ $element-attributes$ class=\"tc-tag-label tc-btn-invisible\" style=<<tag-pill-styles>>>\n$actions$<$transclude tiddler=\"\"\"$icon$\"\"\"/><$view tiddler=<<__tag__>> field=\"title\" format=\"text\" />\n</$element-tag$>\n</$vars>\n\\end\n\n\\define tag-pill-body(tag,icon,colour,palette,element-tag,element-attributes,actions)\n<$macrocall $name=\"tag-pill-inner\" tag=<<__tag__>> icon=\"\"\"$icon$\"\"\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n\n\\define tag-pill(tag,element-tag:\"span\",element-attributes:\"\",actions:\"\")\n<span class=\"tc-tag-list-item\">\n<$macrocall $name=\"tag-pill-body\" tag=<<__tag__>> icon={{{ [<__tag__>get[icon]] }}} colour={{{ [<__tag__>get[color]] }}} palette={{$:/palette}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</span>\n\\end\n\n\\define tag(tag)\n{{$tag$||$:/core/ui/TagTemplate}}\n\\end\n"},"$:/core/macros/thumbnails":{"tags":"$:/tags/Macro","text":"\\define thumbnail(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<$link to=\"\"\"$link$\"\"\"><div class=\"tc-thumbnail-wrapper\">\n<div class=\"tc-thumbnail-image\" style=\"width:$width$px;height:$height$px;\"><$reveal type=\"nomatch\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" style=\"width:$width$px;height:$height$px;\">\n[img[$image$]]\n</$reveal><$reveal type=\"match\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" class=\"tc-thumbnail-background\" style=\"width:$width$px;height:$height$px;background-color:$background-color$;\"></$reveal></div><div class=\"tc-thumbnail-icon\" style=\"fill:$color$;color:$color$;\">\n$icon$\n</div><div class=\"tc-thumbnail-caption\">\n$caption$\n</div>\n</div></$link>\n\\end\n\n\\define thumbnail-right(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<div class=\"tc-thumbnail-right-wrapper\"><<thumbnail \"\"\"$link$\"\"\" \"\"\"$icon$\"\"\" \"\"\"$color$\"\"\" \"\"\"$background-color$\"\"\" \"\"\"$image$\"\"\" \"\"\"$caption$\"\"\" \"\"\"$width$\"\"\" \"\"\"$height$\"\"\">></div>\n\\end\n\n\\define list-thumbnails(filter,width:\"280\",height:\"157\")\n<$list filter=\"\"\"$filter$\"\"\"><$macrocall $name=\"thumbnail\" link={{!!link}} icon={{!!icon}} color={{!!color}} background-color={{!!background-color}} image={{!!image}} caption={{!!caption}} width=\"\"\"$width$\"\"\" height=\"\"\"$height$\"\"\"/></$list>\n\\end\n"},"$:/core/macros/timeline":{"created":"20141212105914482","modified":"20141212110330815","tags":"$:/tags/Macro","text":"\\define timeline-title()\n\\whitespace trim\n<!-- Override this macro with a global macro \n of the same name if you need to change \n how titles are displayed on the timeline \n -->\n<$view field=\"title\"/>\n\\end\n\\define timeline(limit:\"100\",format:\"DDth MMM YYYY\",subfilter:\"\",dateField:\"modified\")\n<div class=\"tc-timeline\">\n<$list filter=\"[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]\">\n<div class=\"tc-menu-list-item\">\n<$view field=\"$dateField$\" format=\"date\" template=\"$format$\"/>\n<$list filter=\"[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><<timeline-title>></$link>\n</div>\n</$list>\n</div>\n</$list>\n</div>\n\\end\n"},"$:/core/macros/toc":{"tags":"$:/tags/Macro","text":"\\define toc-caption()\n<$set name=\"tv-wikilinks\" value=\"no\">\n <$transclude field=\"caption\">\n <$view field=\"title\"/>\n </$transclude>\n</$set>\n\\end\n\n\\define toc-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<ol class=\"tc-toc\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n <$vars item=<<currentTiddler>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=\"<$link to={{{ [<currentTiddler>get[target]else<currentTiddler>] }}}><$view field='caption'><$view field='title'/></$view></$link>\">\n <<toc-caption>>\n </$list>\n <$macrocall $name=\"toc-body\" tag=<<item>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>\n </li>\n </$set>\n </$set>\n </$vars>\n </$list>\n</ol>\n\\end\n\n\\define toc(tag,sort:\"\",itemClassFilter:\"\")\n<$macrocall $name=\"toc-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> />\n\\end\n\n\\define toc-linked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<!-- helper function -->\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$link to={{{ [<currentTiddler>get[target]else<currentTiddler>] }}}>\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n </$button>\n </$reveal>\n <<toc-caption>>\n </$link>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-unlinked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<!-- helper function -->\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-expandable-empty-message()\n<$macrocall $name=\"toc-linked-expandable-body\" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>\n\\end\n\n\\define toc-expandable(tag,sort:\"\",itemClassFilter:\"\",exclude,path)\n<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n <ol class=\"tc-toc toc-expandable\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=<<toc-expandable-empty-message>> >\n <$macrocall $name=\"toc-unlinked-expandable-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=\"\"\"itemClassFilter\"\"\" exclude=<<excluded>> path=<<path>> />\n </$list>\n </$list>\n </ol>\n </$set>\n</$vars>\n\\end\n\n\\define toc-linked-selective-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\" >\n <li class=<<toc-item-class>>>\n <$link to={{{ [<currentTiddler>get[target]else<currentTiddler>] }}}>\n <$list filter=\"[all[current]tagging[]$sort$limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>\">\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n </$button>\n </$reveal>\n </$list>\n <<toc-caption>>\n </$link>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-unlinked-selective-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$list filter=\"[all[current]tagging[]$sort$limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>\">\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n </$list>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-selective-expandable-empty-message()\n<$macrocall $name=\"toc-linked-selective-expandable-body\" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>\n\\end\n\n\\define toc-selective-expandable(tag,sort:\"\",itemClassFilter,exclude,path)\n<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n <ol class=\"tc-toc toc-selective-expandable\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n <$list filter=\"[all[current]toc-link[no]]\" variable=\"ignore\" emptyMessage=<<toc-selective-expandable-empty-message>> >\n <$macrocall $name=\"toc-unlinked-selective-expandable-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>\n </$list>\n </$list>\n </ol>\n </$set>\n</$vars>\n\\end\n\n\\define toc-tabbed-external-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$tiddler tiddler={{{ [<__selectedTiddler__>get[text]] }}}>\n <div class=\"tc-tabbed-table-of-contents\">\n <$linkcatcher to=<<__selectedTiddler__>>>\n <div class=\"tc-table-of-contents\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=\"[all[current]] -[<__selectedTiddler__>get[text]]\"/>\n </div>\n </$linkcatcher>\n <div class=\"tc-tabbed-table-of-contents-content\">\n <$reveal stateTitle=<<__selectedTiddler__>> type=\"nomatch\" text=\"\">\n <$transclude mode=\"block\" tiddler=<<__template__>>>\n <h1><<toc-caption>></h1>\n <$transclude mode=\"block\">$missingText$</$transclude>\n </$transclude>\n </$reveal>\n <$reveal stateTitle=<<__selectedTiddler__>> type=\"match\" text=\"\">\n $unselectedText$\n </$reveal>\n </div>\n </div>\n</$tiddler>\n\\end\n\n\\define toc-tabbed-internal-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$linkcatcher to=<<__selectedTiddler__>>>\n <$macrocall $name=\"toc-tabbed-external-nav\" tag=<<__tag__>> sort=<<__sort__>> selectedTiddler=<<__selectedTiddler__>> unselectedText=<<__unselectedText__>> missingText=<<__missingText__>> template=<<__template__>>/>\n</$linkcatcher>\n\\end\n\n"},"$:/core/macros/translink":{"tags":"$:/tags/Macro","text":"\\define translink(title,mode:\"block\")\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: black; foreground; white;\">\n<$link to=\"\"\"$title$\"\"\">\n<$text text=\"\"\"$title$\"\"\"/>\n</$link>\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: white; foreground; black;\">\n<$transclude tiddler=\"\"\"$title$\"\"\" mode=\"$mode$\">\n\"<$text text=\"\"\"$title$\"\"\"/>\" is missing\n</$transclude>\n</div>\n</div>\n\\end\n"},"$:/core/macros/tree":{"tags":"$:/tags/Macro","text":"\\define leaf-link(full-title,chunk,separator: \"/\")\n<$link to=<<__full-title__>>><$text text=<<__chunk__>>/></$link>\n\\end\n\n\\define leaf-node(prefix,chunk)\n<li>\n<$list filter=\"[<__prefix__>addsuffix<__chunk__>is[shadow]] [<__prefix__>addsuffix<__chunk__>is[tiddler]]\" variable=\"full-title\">\n<$list filter=\"[<full-title>removeprefix<__prefix__>]\" variable=\"chunk\">\n<span>{{$:/core/images/file}}</span> <$macrocall $name=\"leaf-link\" full-title=<<full-title>> chunk=<<chunk>>/>\n</$list>\n</$list>\n</li>\n\\end\n\n\\define branch-node(prefix,chunk,separator: \"/\")\n<li>\n<$set name=\"reveal-state\" value={{{ [[$:/state/tree/]addsuffix<__prefix__>addsuffix<__chunk__>] }}}>\n<$reveal type=\"nomatch\" stateTitle=<<reveal-state>> text=\"show\">\n<$button setTitle=<<reveal-state>> setTo=\"show\" class=\"tc-btn-invisible\">\n{{$:/core/images/folder}} <$text text=<<__chunk__>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<reveal-state>> text=\"show\">\n<$button setTitle=<<reveal-state>> setTo=\"hide\" class=\"tc-btn-invisible\">\n{{$:/core/images/folder}} <$text text=<<__chunk__>>/>\n</$button>\n</$reveal>\n<span>(<$count filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>removeprefix<__chunk__>] -[<__prefix__>addsuffix<__chunk__>]\"/>)</span>\n<$reveal type=\"match\" stateTitle=<<reveal-state>> text=\"show\">\n<$macrocall $name=\"tree-node\" prefix={{{ [<__prefix__>addsuffix<__chunk__>] }}} separator=<<__separator__>>/>\n</$reveal>\n</$set>\n</li>\n\\end\n\n\\define tree-node(prefix,separator: \"/\")\n<ol>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]!suffix<__separator__>]\" variable=\"chunk\">\n<$macrocall $name=\"leaf-node\" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>\n</$list>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]suffix<__separator__>]\" variable=\"chunk\">\n<$macrocall $name=\"branch-node\" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>\n</$list>\n</ol>\n\\end\n\n\\define tree(prefix: \"$:/\",separator: \"/\")\n<div class=\"tc-tree\">\n<span><$text text=<<__prefix__>>/></span>\n<div>\n<$macrocall $name=\"tree-node\" prefix=<<__prefix__>> separator=<<__separator__>>/>\n</div>\n</div>\n\\end\n"},"$:/core/macros/utils":{"text":"\\define colour(colour)\n$colour$\n\\end\n"},"$:/snippets/minifocusswitcher":{"text":"<$select tiddler=\"$:/config/AutoFocus\">\n<$list filter=\"title tags text type fields\">\n<option value=<<currentTiddler>>><<currentTiddler>></option>\n</$list>\n</$select>\n"},"$:/snippets/minilanguageswitcher":{"text":"<$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"},"$:/snippets/minithemeswitcher":{"text":"\\define lingo-base() $:/language/ControlPanel/Theme/\n<<lingo Prompt>> <$select tiddler=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"name\"><$view field=\"title\"/></$view></option>\n</$list>\n</$select>"},"$:/snippets/modules":{"text":"\\define describeModuleType(type)\n{{$:/language/Docs/ModuleTypes/$type$}}\n\\end\n<$list filter=\"[moduletypes[]]\">\n\n!! <$macrocall $name=\"currentTiddler\" $type=\"text/plain\" $output=\"text/plain\"/>\n\n<$macrocall $name=\"describeModuleType\" type=<<currentTiddler>>/>\n\n<ul><$list filter=\"[all[current]modules[]]\"><li><$link><<currentTiddler>></$link>\n</li>\n</$list>\n</ul>\n</$list>\n"},"$:/palette":{"text":"$:/palettes/Vanilla"},"$:/snippets/paletteeditor":{"text":"<$transclude tiddler=\"$:/PaletteManager\"/>\n"},"$:/snippets/palettepreview":{"text":"<$set name=\"currentTiddler\" value={{$:/palette}}>\n{{||$:/snippets/currpalettepreview}}\n</$set>\n"},"$:/snippets/paletteswitcher":{"text":"<$linkcatcher to=\"$:/palette\">\n<div class=\"tc-chooser\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]sort[name]]\"><$set name=\"cls\" filter=\"[all[current]prefix{$:/palette}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>><$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' - <$view field=\"description\" format=\"text\"/>{{||$:/snippets/currpalettepreview}}</$link>\n</div></$set>\n</$list>\n</div>\n</$linkcatcher>\n"},"$:/snippets/peek-stylesheets":{"text":"\\define expandable-stylesheets-list()\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$vars state=<<qualify \"$:/state/peek-stylesheets/open/\">>>\n<$set name=\"state\" value={{{ [<state>addsuffix<currentTiddler>] }}}>\n<li>\n<$reveal type=\"match\" state=<<state>> text=\"yes\" tag=\"span\">\n<$button set=<<state>> setTo=\"no\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=<<state>> text=\"yes\" tag=\"span\">\n<$button set=<<state>> setTo=\"yes\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$link>\n<$view field=\"title\"/>\n</$link>\n<$reveal type=\"match\" state=<<state>> text=\"yes\" tag=\"div\">\n<$set name=\"source\" tiddler=<<currentTiddler>>>\n<$wikify name=\"styles\" text=<<source>>>\n<pre>\n<code>\n<$text text=<<styles>>/>\n</code>\n</pre>\n</$wikify>\n</$set>\n</$reveal>\n</li>\n</$set>\n</$vars>\n</$list>\n</ol>\n\\end\n\n\\define stylesheets-list()\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<li>\n<$link>\n<$view field=\"title\"/>\n</$link>\n<$set name=\"source\" tiddler=<<currentTiddler>>>\n<$wikify name=\"styles\" text=<<source>>>\n<pre>\n<code>\n<$text text=<<styles>>/>\n</code>\n</pre>\n</$wikify>\n</$set>\n</li>\n</$list>\n</ol>\n\\end\n\n<$vars modeState=<<qualify \"$:/state/peek-stylesheets/mode/\">>>\n\n<$reveal type=\"nomatch\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<$button set=<<modeState>> setTo=\"expanded\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Stylesheets/Expand/Caption}}</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<$button set=<<modeState>> setTo=\"restored\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-down}} {{$:/language/ControlPanel/Stylesheets/Restore/Caption}}</$button>\n</$reveal>\n\n<$reveal type=\"nomatch\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<<expandable-stylesheets-list>>\n</$reveal>\n<$reveal type=\"match\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<<stylesheets-list>>\n</$reveal>\n\n</$vars>\n"},"$:/temp/search":{"text":""},"$:/tags/AdvancedSearch":{"list":"[[$:/core/ui/AdvancedSearch/Standard]] [[$:/core/ui/AdvancedSearch/System]] [[$:/core/ui/AdvancedSearch/Shadows]] [[$:/core/ui/AdvancedSearch/Filter]]"},"$:/tags/AdvancedSearch/FilterButton":{"list":"$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown $:/core/ui/AdvancedSearch/Filter/FilterButtons/clear $:/core/ui/AdvancedSearch/Filter/FilterButtons/export $:/core/ui/AdvancedSearch/Filter/FilterButtons/delete"},"$:/tags/ControlPanel":{"list":"$:/core/ui/ControlPanel/Info $:/core/ui/ControlPanel/Appearance $:/core/ui/ControlPanel/Settings $:/core/ui/ControlPanel/Saving $:/core/ui/ControlPanel/Plugins $:/core/ui/ControlPanel/Tools $:/core/ui/ControlPanel/Internals"},"$:/tags/ControlPanel/Info":{"list":"$:/core/ui/ControlPanel/Basics $:/core/ui/ControlPanel/Advanced"},"$:/tags/ControlPanel/Plugins":{"list":"[[$:/core/ui/ControlPanel/Plugins/Installed]] [[$:/core/ui/ControlPanel/Plugins/Add]]"},"$:/tags/EditTemplate":{"list":"[[$:/core/ui/EditTemplate/controls]] [[$:/core/ui/EditTemplate/title]] [[$:/core/ui/EditTemplate/tags]] [[$:/core/ui/EditTemplate/shadow]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/EditTemplate/body]] [[$:/core/ui/EditTemplate/type]] [[$:/core/ui/EditTemplate/fields]]"},"$:/tags/EditToolbar":{"list":"[[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/cancel]] [[$:/core/ui/Buttons/save]]"},"$:/tags/EditorToolbar":{"list":"$:/core/ui/EditorToolbar/paint $:/core/ui/EditorToolbar/opacity $:/core/ui/EditorToolbar/line-width $:/core/ui/EditorToolbar/rotate-left $:/core/ui/EditorToolbar/clear $:/core/ui/EditorToolbar/bold $:/core/ui/EditorToolbar/italic $:/core/ui/EditorToolbar/strikethrough $:/core/ui/EditorToolbar/underline $:/core/ui/EditorToolbar/superscript $:/core/ui/EditorToolbar/subscript $:/core/ui/EditorToolbar/mono-line $:/core/ui/EditorToolbar/mono-block $:/core/ui/EditorToolbar/quote $:/core/ui/EditorToolbar/list-bullet $:/core/ui/EditorToolbar/list-number $:/core/ui/EditorToolbar/heading-1 $:/core/ui/EditorToolbar/heading-2 $:/core/ui/EditorToolbar/heading-3 $:/core/ui/EditorToolbar/heading-4 $:/core/ui/EditorToolbar/heading-5 $:/core/ui/EditorToolbar/heading-6 $:/core/ui/EditorToolbar/link $:/core/ui/EditorToolbar/excise $:/core/ui/EditorToolbar/picture $:/core/ui/EditorToolbar/stamp $:/core/ui/EditorToolbar/size $:/core/ui/EditorToolbar/editor-height $:/core/ui/EditorToolbar/more $:/core/ui/EditorToolbar/preview $:/core/ui/EditorToolbar/preview-type"},"$:/tags/Manager/ItemMain":{"list":"$:/Manager/ItemMain/WikifiedText $:/Manager/ItemMain/RawText $:/Manager/ItemMain/Fields"},"$:/tags/Manager/ItemSidebar":{"list":"$:/Manager/ItemSidebar/Tags $:/Manager/ItemSidebar/Colour $:/Manager/ItemSidebar/Icon $:/Manager/ItemSidebar/Tools"},"$:/tags/MoreSideBar":{"list":"[[$:/core/ui/MoreSideBar/All]] [[$:/core/ui/MoreSideBar/Recent]] [[$:/core/ui/MoreSideBar/Tags]] [[$:/core/ui/MoreSideBar/Missing]] [[$:/core/ui/MoreSideBar/Drafts]] [[$:/core/ui/MoreSideBar/Orphans]] [[$:/core/ui/MoreSideBar/Types]] [[$:/core/ui/MoreSideBar/System]] [[$:/core/ui/MoreSideBar/Shadows]] [[$:/core/ui/MoreSideBar/Explorer]] [[$:/core/ui/MoreSideBar/Plugins]]","text":""},"$:/tags/PageControls":{"list":"[[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/fold-all]] [[$:/core/ui/Buttons/unfold-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/new-journal]] [[$:/core/ui/Buttons/new-image]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/export-page]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/advanced-search]] [[$:/core/ui/Buttons/manager]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/palette]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/timestamp]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/print]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/refresh]] [[$:/core/ui/Buttons/more-page-actions]]"},"$:/tags/PageTemplate":{"list":"[[$:/core/ui/PageTemplate/topleftbar]] [[$:/core/ui/PageTemplate/toprightbar]] [[$:/core/ui/PageTemplate/sidebar]] [[$:/core/ui/PageTemplate/story]] [[$:/core/ui/PageTemplate/alerts]]","text":""},"$:/tags/PluginLibrary":{"list":"$:/config/OfficialPluginLibrary"},"$:/tags/SideBar":{"list":"[[$:/core/ui/SideBar/Open]] [[$:/core/ui/SideBar/Recent]] [[$:/core/ui/SideBar/Tools]] [[$:/core/ui/SideBar/More]]","text":""},"$:/tags/SideBarSegment":{"list":"[[$:/core/ui/SideBarSegments/site-title]] [[$:/core/ui/SideBarSegments/site-subtitle]] [[$:/core/ui/SideBarSegments/page-controls]] [[$:/core/ui/SideBarSegments/search]] [[$:/core/ui/SideBarSegments/tabs]]"},"$:/tags/TiddlerInfo":{"list":"[[$:/core/ui/TiddlerInfo/Tools]] [[$:/core/ui/TiddlerInfo/References]] [[$:/core/ui/TiddlerInfo/Tagging]] [[$:/core/ui/TiddlerInfo/List]] [[$:/core/ui/TiddlerInfo/Listed]] [[$:/core/ui/TiddlerInfo/Fields]]","text":""},"$:/tags/TiddlerInfo/Advanced":{"list":"[[$:/core/ui/TiddlerInfo/Advanced/ShadowInfo]] [[$:/core/ui/TiddlerInfo/Advanced/PluginInfo]]"},"$:/tags/ViewTemplate":{"list":"[[$:/core/ui/ViewTemplate/title]] [[$:/core/ui/ViewTemplate/unfold]] [[$:/core/ui/ViewTemplate/subtitle]] [[$:/core/ui/ViewTemplate/tags]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/ViewTemplate/body]]"},"$:/tags/ViewToolbar":{"list":"[[$:/core/ui/Buttons/more-tiddler-actions]] [[$:/core/ui/Buttons/info]] [[$:/core/ui/Buttons/new-here]] [[$:/core/ui/Buttons/new-journal-here]] [[$:/core/ui/Buttons/clone]] [[$:/core/ui/Buttons/export-tiddler]] [[$:/core/ui/Buttons/edit]] [[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/open-window]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]] [[$:/core/ui/Buttons/fold-others]] [[$:/core/ui/Buttons/fold]]"},"$:/snippets/themeswitcher":{"text":"<$linkcatcher to=\"$:/theme\">\n<div class=\"tc-chooser\"><$list filter=\"[plugin-type[theme]sort[title]]\"><$set name=\"cls\" filter=\"[all[current]field:title{$:/theme}] [[$:/theme]!has[text]addsuffix[s/tiddlywiki/vanilla]field:title<currentTiddler>] +[limit[1]]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>><$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' <$view field=\"description\" format=\"text\"/></$link></div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"},"$:/core/wiki/title":{"text":"{{$:/SiteTitle}} --- {{$:/SiteSubtitle}}"},"$:/view":{"text":"classic"},"$:/snippets/viewswitcher":{"text":"\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<$linkcatcher to=\"$:/view\">\n<div class=\"tc-chooser tc-viewswitcher\">\n<$list filter=\"[storyviews[]]\" variable=\"storyview\">\n<$set name=\"cls\" filter=\"[<storyview>prefix{$:/view}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>>\n<$link to=<<storyview>>><$transclude tiddler=<<icon>>/><$text text=<<storyview>>/></$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"}}}
The following tiddlers were imported:
# [[$:/plugins/welford/twmousetrap/example.js]]
<$action-setfield $field="quality" $value=<<easyQuality>>/>
<$set name="quality" value=<<easyQuality>>>
<<updateActions>>
</$set>
<$action-sendmessage $message="tm-close-all-tiddlers"/><$action-setfield $tiddler="$:/state/sidebar" $value="no"/><<ifrecall "[!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}] +[has[title]] + [!is[current]sort[due]limit[1]]" ifyesrecall ifnorecall>>
<<ifrecall "[!days:due[-1]] [days:due[0]] +[has[title]] +[tag{$:/state/tab/deck}] +[!is[current]sort[due]limit[1]]" ifyesrecall ifnorecall>>
alert-background: #f00
alert-border: <<colour background>>
alert-highlight: <<colour foreground>>
alert-muted-foreground: #800
background: #000
border: #222
blockquote-bar: <<colour muted-foreground>>
button-background: <<colour background>>
button-foreground: <<colour border>>
button-border: <<colour border>>
code-background: <<colour background>>
code-border: #333
code-foreground: <<colour foreground>>
dirty-indicator: #f00
download-background: #080
download-foreground: <<colour background>>
dragger-background: <<colour foreground>>
dragger-foreground: <<colour background>>
dropdown-background: <<colour background>>
dropdown-border: <<colour muted-foreground>>
dropdown-tab-background-selected: <<colour foreground>>
dropdown-tab-background: <<colour border>>
dropzone-background: rgba(0,200,0,0.7)
external-link-background-hover: inherit
external-link-background-visited: inherit
external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: #586E75
external-link-foreground: #586E75
foreground: #fff
message-background: <<colour foreground>>
message-border: <<colour background>>
message-foreground: <<colour background>>
modal-backdrop: <<colour foreground>>
modal-background: <<colour background>>
modal-border: <<colour foreground>>
modal-footer-background: <<colour background>>
modal-footer-border: <<colour foreground>>
modal-header-border: <<colour foreground>>
muted: #586E75
muted-foreground: #586E75
notification-background: <<colour background>>
notification-border: <<colour foreground>>
page-background: <<colour background>>
pre-background: <<colour background>>
pre-border: <<colour border>>
primary: orange
sidebar-button-foreground: <<colour foreground>>
sidebar-controls-foreground-hover: <<colour background>>
sidebar-controls-foreground: <<colour foreground>>
sidebar-foreground-shadow: rgba(0,0,0, 0)
sidebar-foreground: <<colour foreground>>
sidebar-muted-foreground-hover: #444444
sidebar-muted-foreground: <<colour foreground>>
sidebar-tab-background-selected: <<colour background>>
sidebar-tab-background: <<colour tab-background>>
sidebar-tab-border-selected: <<colour tab-border-selected>>
sidebar-tab-border: <<colour tab-border>>
sidebar-tab-divider: <<colour tab-divider>>
sidebar-tab-foreground-selected: <<colour foreground>>
sidebar-tab-foreground: <<colour tab-foreground>>
sidebar-tiddler-link-foreground-hover: <<colour foreground>>
sidebar-tiddler-link-foreground: <<colour primary>>
site-title-foreground: <<colour tiddler-title-foreground>>
static-alert-foreground: #aaaaaa
tab-background-selected: <<colour background>>
tab-background: <<colour border>>
tab-border-selected: <<colour border>>
tab-border: <<colour border>>
tab-divider: <<colour border>>
tab-foreground-selected: <<colour foreground>>
tab-foreground: <<colour background>>
table-border: <<colour border>>
table-footer-background: #a8a8a8
table-header-background: #f0f0f0
tag-background: <<colour border>>
tag-foreground: #839496
tiddler-background: <<colour background>>
tiddler-border: transparent
tiddler-controls-foreground-hover: #839496
tiddler-controls-foreground-selected: #839496
tiddler-controls-foreground: #222
tiddler-editor-background: <<colour background>>
tiddler-editor-border-image: <<colour foreground>>
tiddler-editor-border: <<colour border>>
tiddler-editor-fields-even: <<colour background>>
tiddler-editor-fields-odd: #222
tiddler-info-background: <<colour background>>
tiddler-info-border: <<colour border>>
tiddler-info-tab-background: <<colour background>>
tiddler-link-background: <<colour background>>
tiddler-link-foreground: <<colour muted-foreground>>
tiddler-subtitle-foreground: <<colour border>>
tiddler-title-foreground: orange
toolbar-new-button: <<colour border>>
toolbar-options-button: <<colour border>
toolbar-save-button: <<colour border>>
toolbar-info-button: <<colour border>>
toolbar-edit-button: <<colour border>>
toolbar-clone-button: <<colour border>>
toolbar-close-button: <<colour border>>
toolbar-delete-button: <<colour border>>
toolbar-cancel-button: <<colour border>>
toolbar-done-button: <<colour border>>
untagged-background: <<colour foreground>>
very-muted-foreground: #888888
{"tiddlers":{"$:/plugins/danielo515/2click2edit/ClickListener.js":{"text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget;(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.execute();var i=this;t.addEventListener('dblclick',function(t){i.editTiddler.call(i,t)})},t.prototype.editTiddler=function(t){this.dispatchEvent({type:'tm-edit-tiddler',param:this.getVariable('currentTiddler')})},t.prototype.execute=function(){},t.prototype.refresh=function(t){return!1},exports.click=t}();","type":"application/javascript","module-type":"widget"},"$:/plugins/danielo515/2click2edit/readme":{"text":"This plugin adds the ability to edit tiddlers by double clicking on its body.\nJust try to edit any tiddler shown here by double clicking on it.\n\nThis can be considered a fast solution. It is only to fill the gap until TiddlyWiki adds support \nfor it officially.\n"},"$:/plugins/danielo515/2click2edit/ui/ViewTemplate":{"tags":"$:/tags/ViewTemplate","type":"text/vnd.tiddlywiki","text":"<$click>"}}}
{"tiddlers":{"$:/plugins/ebalster/formula/coerce.js":{"created":"20180113183000431","description":"","modified":"20180112071139424","module-type":"library","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';var e={undefined:function(n,t){return'undefined'},string:function(n,t){return n},number:function(n,t){return t.formats.number(n)},symbol:function(n,t){return String(n)},function:function(n,t){return'function'+(n.formulaSrc||' [built-in]')},boolean:function(n,t){return n?'TRUE':'FALSE'},object:function(n,t){if(n instanceof Date)return t.formats.date(n);if(n instanceof Array)return t.formats.array(n,t);if(n instanceof RegExp)return String(n);if(n instanceof Error)throw n;return JSON.stringify(n)}},r={undefined:function(n,t){throw'Cannot convert undefined value to number!'},string:function(n,t){var e=Number(n);if(isNaN(e))throw'Cannot convert \"'+n+'\" to number!';return e},number:function(n,t){return n},symbol:function(n,t){throw'Cannot convert symbol to number!'},function:function(n,t){throw'Cannot convert function to number!'},boolean:function(n,t){return n?1:0},object:function(n,t){throw'Cannot convert \"'+e.object(n,t)+'\" to number!'}},o={undefined:function(n,t){return!1},string:function(n,t){return!/^\\s*(undefined|false|null|0+|0*\\.0+|0+\\.0*|)\\s*$/i.test(n)},number:function(n,t){return Boolean(n)},symbol:function(n,t){return Boolean(n)},function:function(n,t){return!0},boolean:function(n,t){return n},object:function(n,t){return Boolean(n)}};exports.ToSelf=function(n,t){return n},exports.ToText=function(n,t){return e[typeof n](n,t)},exports.ToNum=function(n,t){return r[typeof n](n,t)},exports.ToBool=function(n,t){return o[typeof n](n,t)},exports.ToDate=function(n,t){if(n instanceof Date)return n;throw'Cannot auto-convert \"'+exports.ToText(n,t)+'\" to a date!'};var u=/^\\/((?:[^\\\\\\/\\[]|\\[(?:[^\\]]|\\\\\\])*\\]|\\\\.)+)\\/([a-z]*)$/,i=/^\\(\\?[a-z]*\\)|\\(\\?[a-z]*\\)$/i;exports.ToRegex=function(n,t){if(n instanceof RegExp)return n;if('string'!=typeof n)throw'Cannot auto-convert \"'+exports.ToText(n,t)+'\" to a regular expression!';n=n.trim();var e=u.exec(n);if(e)return new RegExp(term[1].replace('\\\\/','/'),term[2]);if(e=i.exec(n)){var r=e[0].length,t=e[0].substr(2,e[0].length-3);return 0==e.index?new RegExp(n.substr(r),t):new RegExp(n.substr(0,n.length-r),t)}return new RegExp(n,'g')},exports.ToArray=function(n,t){if(n instanceof Array)return n;throw'Cannot auto-convert \"'+exports.ToText(n,t)+'\" to an array!'},exports.ToFunc=function(n,t){if(n instanceof Function)return n;throw'Cannot convert \"'+exports.ToText(n,t)+'\" to a function!'};var c={T:exports.ToText,N:exports.ToNum,B:exports.ToBool,A:exports.ToArray,D:exports.ToDate,R:exports.ToRegex,F:exports.ToFunc,_:exports.ToSelf},f={rule:{main:[],extra:[]},gen:[]},n={'':f};function a(t){if(!n[t])try{n[t]={rule:function(n){for(var t,e={main:[],extra:[]},r=0;r<n.length;){if(t=c[n[r]],++r,!t){if('+'==n[r-1])break;throw'Unknown coerce rule: \\''+n[r-1]+'\\''}e.main.push(t)}for(;r<n.length;){if(t=c[n[r]],++r,!t)throw'Unknown coerce rule: \\''+n[r-1]+'\\'';e.extra.push(t)}return e}(t),gen:[]}}catch(n){throw n+' in rule string \\''+t+'\\''}return n[t]}exports.GetCoerceFuncs=function(t,n){if(!t._coerce)if(t.inCast)try{t._coerce=a(t.inCast)}catch(n){throw n+' for function '+t.toString()}else t._coerce=f;var e=t._coerce.gen[n.length];return e||(e=function(n,t){var e=[],e=n.main;if(n.extra.length)for(;e.length<t;)e=e.concat(n.extra);return e}(t._coerce.rule,n.length),t._coerce.gen[n.length]=e)}}();"},"$:/plugins/ebalster/formula/compile.js":{"created":"20171210195223539","description":"","modified":"20171211181652443","module-type":"library","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';var w=require('$:/plugins/ebalster/formula/nodes.js'),s=/^\\s*\\(=.*=\\)\\s*$/,a=/^s*TRUE\\s*$/i,i=/^s*FALSE\\s*$/i,e=/(\\s*|\\/\\/.*?([\\r\\n]|$)|\\/\\*[\\s\\S]*?\\*\\/)*/g,t=/[^\\s]+/g,l=/\\[(([^\\[\\]]|\\[[^\\[\\]]*\\])+(\\](\\s*[+-])?\\s*\\[)?)+\\]/g,c=/\\{\\{([^\\{\\}]+)\\}\\}/g,o=/^\\s*\\{\\{([^\\{\\}]+)\\}\\}\\s*$/,u=/<<([^<>]+)>>/g,h=/^\\s*<<[^<>]+>>\\s*$/,p=/\\$?([A-Z]{1,2})\\$?([0-9]+)/g,f=/\\$?([A-Z]{1,2})\\$?([0-9]+):\\$?([A-Z]{1,2})\\$?([0-9]+)/g,g=/[_a-zA-Z][_a-zA-Z0-9]*/g,d=/(function|let|for|foreach|if|then|else|while|do|this|self|currentTiddler)/gi,x=/[+-]?((\\d+(\\.\\d*)?)|(\\.\\d+))/g,m=/^\\s*[+-]?((\\d+(\\.\\d*)?)|(\\.\\d+))\\s*$/,v=/^\\s*\\d{2,4}-\\d{2}-\\d{2}(\\s*\\d{1,2}:\\d{2}(:\\d{2}(.\\d{3})?)?)?\\s*$/,b=/\\/((?:[^\\\\\\/\\[]|\\[(?:[^\\]]|\\\\\\])*\\]|\\\\.)+)\\/([a-z]*)/g,k=/^\\s*\\/((?:[^\\\\\\/\\[]|\\[(?:[^\\]]|\\\\\\])*\\]|\\\\.)+)\\/([a-z]*)\\s*$/,y=/^([0-9]{4})(1[0-2]|0[1-9])(3[01]|[12][0-9]|0[1-9])(2[0-3]|[01][0-9])([0-5][0-9])([0-5][0-9])([0-9]{3})?$/,T=/\\d+/g,E=/(\"(\\\\.|[^\"\\\\])*\"|'(\\\\.|[^'\\\\])*')/g,I=/\\\\([a-tv-z0\"'\\\\]|u[a-fA-F0-9]{0,4}|$)/g,_=null,$=null,L=null,C=null,S=null;function G(e){this.src=e,this.pos=0,this.end=e.length,this.locals={},this.localStack=[],this.assignStack=[]}G.prototype.getChar=function(){return this.src.charAt(this.pos)},G.prototype.nextGlyph=function(){return this.skipInert(),this.pos>=this.end?'':(++this.pos,this.src.charAt(this.pos-1))},G.prototype.remaining=function(){return this.src.substring(this.pos,this.end)},G.prototype.nextToken=function(){return this.skipInert(),t.lastIndex=this.pos,t.test(this.src),this.src.substring(this.pos,t.lastIndex)},G.prototype.match_here=function(e){e.lastIndex=this.pos;var t=e.exec(this.src);return!t||t.index!=this.pos||t.index+t[0].length>this.end?null:(this.pos=e.lastIndex,t)},G.prototype.skipInert=function(){e.lastIndex=this.pos,e.test(this.src),this.pos=Math.min(e.lastIndex,this.end)},G.prototype.pushLocals=function(e){var t,r={};for(t in this.localStack.push(this.locals),this.locals)r[t]=0;for(t in this.assignStack.push(e),e)r[t]=0;this.locals=r},G.prototype.popLocals=function(){var e,t,r={captures:{},assigns:{}},n=this.assignStack.pop(),s=this.localStack.pop();for(e in this.locals)0<(t=this.locals[e])&&(n[e]?r.assigns[e]=t:(r.captures[e]=t,s[e]+=t));return this.locals=s,r};var A=function(){_={};var e,t={};for(e in $tw.modules.applyMethods('formula-function',_),$tw.modules.applyMethods('formula-operator',t),$={},L={},C={},S={},t){var r=t[e],n=_[r.function];if(n)switch(r.func_bind=n,r.arity){case 2:C[e]=r;break;case 3:S[e]=r;break;case 1:switch(r.position){case'pre':$[e]=r;break;case'post':L[e]=r}}}};function D(e,t){e.skipInert();var r,n=null;for(r in t){var s=t[r];e.src.substr(e.pos,s.operator.length)==s.operator&&e.pos+s.operator.length<=e.end&&(!n||n.operator.length<s.operator.length)&&(n=s)}return n&&(e.pos+=n.operator.length),n}function F(e,t){_||A(),e.skipInert();for(var r=[],n=[],s=[],a=null,i=function(e){a=new w.CallJS(e.func_bind,[a])};;){for(var o=[];;){var l=D(e,$);if(!l)break;o.unshift(l)}if(null===(a=q(e))){var c=e.nextToken();throw c&&')'!=c[0]&&','!=c[0]?'invalid operand \"'+c+'\"':n.length?'missing operand after \"'+n[n.length-1].operator+'\"':'empty expression'}for((c=R(e))&&(a=new w.CallFunc(a,c));;){var u=D(e,L);if(!u)break;o.push(u)}o.forEach(i),r.push(a);c=D(e,C);if(null===c)break;n.push(c);c=c.precedence;-1==s.indexOf(c||0)&&s.push(c)}if(r.length!=n.length+1)throw'internal error: operator/operand parsing inconsistency';s.sort(function(e,t){return t<e?-1:1});for(var h=0;h<s.length;++h)for(var p=s[h],f=0;f<n.length;){var g=n[f];g.precedence==p?(r[f]=new w.CallJS(g.func_bind,[r[f],r[f+1]]),n.splice(f,1),r.splice(f+1,1)):++f}if(0!==n.length||1!=r.length)throw'internal error: resoving failed; '+r.length+' operands and '+n.length+' operators remain';if(!t&&(e.skipInert(),e.pos<e.end))throw'expected operator, got \"'+e.nextToken()+'\"';return r[0]}function z(e,t,r){if(e.skipInert(),e.getChar()!==t[0])return null;if(++e.pos,e.skipInert(),e.getChar()===t[1])return++e.pos,[];for(var n=[];;){n.push(F(e,!0));var s=e.nextGlyph();if(s===t[1])break;if(','!==s)throw'Expect \\',\\' or \\''+t[1]+'\\' after '+r}return n}function R(e){return z(e,'()','function argument.')}function q(e){var t;if(e.skipInert(),e.pos==e.end)return null;var r,n=e.getChar();if(n.match(/[0-9\\.+]/i)){if(t=e.match_here(x))return new w.Number(Number(t[0]));throw'Invalid number: '+e.nextToken()}if(n.match(/[$a-z_]/i)){if(t=e.match_here(f))throw'Cell ranges are currently unsupported!';if(t=e.match_here(p))return new w.Datum(new w.TranscludeIndex(new w.Variable(new w.Text('currentTiddler')),new w.Text(t[1]+t[2])));if(!(t=e.match_here(g)))return null;if(null!=e.locals[t])return++e.locals[t],new w.ScopeVar(t[0]);var s=t[0].toLowerCase();switch(s){case'let':return function(e){if('('!==e.nextGlyph())throw'Expect \\'(\\' after LET.';var t,r={};for(e.pushLocals(r);;){if(e.skipInert(),!(t=e.match_here(g)))throw'Expected name in LET assignment, got \\''+e.nextToken()+'\\'.';if(t=t[0],d.test(t))throw'Illegal name for LET: '+t;if('='!==e.nextGlyph())throw'Expect \\'=\\' after LET value.';try{r[t]=F(e,!0)}catch(e){throw'compiling LET \\''+t+'\\': '+e}e.locals[t]=0;var n=e.nextGlyph();if(')'==n)break;if(','!=n)throw'Expect \\',\\' or \\')\\' after LET assignment.'}if(':'!==e.nextGlyph())throw'Expect \\':\\' after LET assignment list.';if('('!==e.nextGlyph())throw'Expect LET expression in parentheses after \\':\\'.';var s=F(e,!0);if(e.popLocals(),')'!==e.nextGlyph())throw'Expect \\')\\' after LET expression.';return new w.LetVars(r,s)}(e);case'function':return function(e){var t=e.pos;if('('!==e.nextGlyph())throw'Expect \\'(\\' after \\'function\\'.';e.skipInert();var r=[],n={};if(')'===e.getChar())++e.pos;else for(;;){var s=e.match_here(g);if(!s)throw'Expect list of parameter names after \\'function\\'.';if(s=s[0],d.test(s))throw'Illegal parameter name: '+s;if(r.push(s),n[s])throw'Parameter name used twice: '+s;n[s]=!0;s=e.nextGlyph();if(')'==s)break;if(','!=s)throw'Expect \\',\\' or \\')\\' after function parameter name.';e.skipInert()}if(':'!==e.nextGlyph())throw'Expect \\':\\' after function parameter list.';if('('!==e.nextGlyph())throw'Expect function body beginning with \\'(\\' after \\':\\'.';e.pushLocals(n);var a=F(e,!0),i=e.popLocals().captures;if(')'!==e.nextGlyph())throw'Expect \\')\\' after function body.';var o=function(){for(var e=Object.assign({},o.captured||{}),t=0;t<arguments.length;++t)e[r[t]]=arguments[t];return a.compute(this.let(e))};return o.min_args=r.length,o.max_args=r.length,o.formulaSrc=e.src.substring(t,e.pos),new w.Function(o,i)}(e);default:var a=_[s];if(!a)throw'unknown function: '+t[0];var i=R(e);if(null===i){if(!a.isConstant)throw'Expected \\'(\\' after '+t[0];i=[]}if(a instanceof Function){if(i.length>a.length&&!a.variadic)throw'too many arguments for '+t[0]+' (requires '+a.length+')';if(i.length<a.length)throw'too few arguments for '+t[0]+(a.variadic?' (min ':' (requires ')+a.length+')'}else{if(!a.select&&!a.construct)throw'Function '+t[0]+' seems to be unusable.';if(a.max_args&&i.length>a.max_args)throw'too many arguments for '+t[0]+' (max '+a.max_args+')';if(a.min_args&&i.length<a.min_args)throw'too few arguments for '+t[0]+' (min '+a.min_args+')';if(a.construct)return a.construct(i);a=a.select(i)}return new w.CallJS(a,i)}}else switch(n){case'(':++e.pos;var o=F(e,!0);if(e.skipInert(),')'!==e.getChar())throw e.pos==e.end?'missing \\')\\' at end of formula':'expected \\')\\', got \"'+e.nextToken()+'\"';return++e.pos,o;case'\\'':case'\"':if(!(t=e.match_here(E)))throw'Invalid string: '+e.nextToken();return t=(t=t[0].substr(1,t[0].length-2)).replace(I,function(e){switch(e.charAt(1)){case'\"':return'\"';case'\\'':return'\\'';case'\\\\':return'\\\\';case'n':return'\\n';case'r':return'\\r';case'b':return'\\b';case'f':return'\\f';case't':return'\\t';case'v':return'\\v';case'0':return'\\0';case'u':if(e.length<6)throw'Invalid escape sequence: '+e;return String.fromCharCode(parseInt(e.substr(2),16));default:throw'Invalid escape sequence: '+e}}),new w.Text(t);case'[':if(t=e.match_here(l))return new w.Filter(t[0]);break;case'{':return++e.pos,n=e.getChar(),--e.pos,'{'==n&&(t=e.match_here(c))?new w.Datum((r=t[1],o=$tw.utils.parseTextReference(r),r=o.title?new w.Text(o.title):new w.Variable(new w.Text('currentTiddler')),o.field?'title'==o.field?r:new w.TranscludeField(r,new w.Text(o.field)):o.index?new w.TranscludeIndex(r,new w.Text(o.index)):new w.TranscludeText(r))):new w.ArrayDef(function(e){if(!(e=z(e,'{}','array element (use {{double braces}} for transclusions).')))throw'Expect \\'{\\' to begin array literal.';return e}(e));case'<':if(t=e.match_here(u))return new w.Datum(new w.Variable(new w.Text(t[1])));break;case'/':if(t=e.match_here(b))return new w.Regex(new RegExp(t[1].replace('\\\\/','/'),t[2]))}return null}exports.compileExpression=function(e){return F(new G(e))},exports.compileDatum=function(e){var t;if('='==e.charAt(0))return(t=new G(e)).pos=1,F(t);if(y.test(e))return new w.Date($tw.utils.parseDate(e));if(m.test(e))return new w.Number(Number(e));if(s.test(e))return(t=new G(e)).pos=e.indexOf('=')+1,t.end=e.lastIndexOf('='),F(t);if(o.test(e)||h.test(e))return q(t=new G(e));if(i.test(e))return new w.Bool(!1);if(a.test(e))return new w.Bool(!0);if(v.test(e)){T.lastIndex=0;for(var r=[];;){var n=T.exec(e);if(!n)break;r.push(parseInt(n[0]))}if(r.length)return new w.Date(new Date(r[0],(r[1]||1)-1,r[2]||1,r[3]||0,r[4]||0,r[5]||0,r[6]||0))}return(t=k.exec(e))?new w.Regex(new RegExp(t[1].replace('\\\\/','/'),t[2])):new w.Text(e)},exports.compileFormula=function(e){try{return exports.compileExpression(e)}catch(e){throw'CompileError: '+e}}}();"},"$:/plugins/ebalster/formula/compute.js":{"created":"20180114170308058","description":"","modified":"20180114170348576","module-type":"library","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';var s=require('$:/plugins/ebalster/formula/nodes.js'),o=require('$:/plugins/ebalster/formula/compile.js'),u=require('$:/plugins/ebalster/formula/coerce.js'),a=require('$:/plugins/ebalster/formula/lib/numeral.js');function c(r,e){for(var t='',n=0;n<r.length;++n){var i=u.ToText(r[n],e);n&&i.length&&(t+=' '),0<=i.indexOf(/\\s/g)?t+='[['+i+']]':t+=i}return t}function m(r){var e=String(r),t=/^(0\\.0*[1-9]\\d*?|\\d*\\.\\d*?)(0{5}\\d*|9{5}\\d*)(|e[+-]\\d*)$/.exec(e);if(!t)return e;var n=t[1],r=t[3],e=n.slice(-1);return'0'===t[2][0]?('.'===e?n.substr(0,n.length-1):n)+r:'.'===e?Number(n.substr(0,n.length-1))+1+r:n.substr(0,n.length-1)+(Number(e)+1)+r}function l(r){return'true'==r.precision||100<r.precision?String:'string'==typeof r.numberFormat?isNaN(r.precision)?(n=r.numberFormat,function(r){return a(r).format(n)}):(e=r.numberFormat,t=r.precision,function(r){return a(r.toPrecision(t)).format(e)}):isNaN(r.fixed)?isNaN(r.precision)?m:(o=r.precision,function(r){return r.toPrecision(o)}):(i=r.fixed,function(r){return r.toFixed(i)});var e,t,n,i,o}exports.computeFormula=function(e,r,t,n){var i,o=(t=t||{}).dateFormat||'0hh:0mm, DDth MMM YYYY',t={number:l(t),date:function(r){return $tw.utils.formatDateString(r,o)},array:c},u=new s.Context(r,t);try{i=e.computeText(u)}catch(r){throw'ComputeError: '+String(r)+(r.fileName||'')+(r.lineNumber||'')+(n?'\\nNodes: '+JSON.stringify(e):'')}return n?i+'\\n - Val:'+String(i)+', Op:'+e.name:i},exports.evalFormula=function(r,e,t,n){var i;try{i=o.compileExpression(r)}catch(r){throw'CompileError: '+String(r)}return exports.computeFormula(i,e,t,n)}}();"},"$:/plugins/ebalster/formula/functions/arithmetic.js":{"created":"20171211192843088","modified":"20171212223526867","module-type":"formula-function","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';exports.uplus=function(t){return t},exports.uminus=function(t){return-t},exports.uminus.inCast='N',exports.add=function(t,r){return t+r},exports.add.inCast='NN',exports.sub=function(t,r){return t-r},exports.sub.inCast='NN',exports.mul=function(t,r){return t*r},exports.mul.inCast='NN',exports.div=function(t,r){return t/r},exports.div.inCast='NN',exports.percent=function(t){return t/100},exports.percent.inCast='N',exports.subtract=exports.sub,exports.minus=exports.sub,exports.multiply=exports.mul,exports.divide=exports.div,exports.quotient=exports.div,exports.power=exports.pow}();"},"$:/plugins/ebalster/formula/functions/arrays.js":{"created":"20171219014903147","modified":"20171219014910148","module-type":"formula-function","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';function e(t){if(!(t instanceof Array))return null==t||0===t.length?0:1;for(var r=0,n=0;n<t.length;++n)r+=e(t[n]);return r}function o(t){if(!(t instanceof Array))return 1;for(var r=0,n=0;n<t.length;++n)r+=o(t[n]);return r}function r(){for(var t=0,r=0;r<arguments.length;++r)t+=e(arguments[r]);return t}function n(){for(var t=0,r=0;r<arguments.length;++r)t+=o(arguments[r]);return t}exports.array=function(){return Array.prototype.slice.call(arguments)},exports.array.variadic=!0,exports.nth=function(t,r){if(!((r=Math.floor(r))<1||r>t.length))return t[r-1]},exports.nth.inCast='AN',exports.first=function(t){if(t.length)return t[0]},exports.first.inCast='A',exports.last=function(t){if(t.length)return t[t.length-1]},exports.last.inCast='A',exports.map=function(t,r){if(1<t.min_args||t.max_args<1)throw'MAP requires single-argument function.';for(var n=[],e=t.bind(this),o=0;o<r.length;++o)n.push(e(r[o]));return n},exports.map.inCast='FA',exports.count={min_args:1,select:function(t){return 1!==t?r:e}},exports.counta={min_args:1,select:function(t){return 1!==t?n:o}},exports.counta=exports.count}();"},"$:/plugins/ebalster/formula/functions/compare.js":{"created":"20171214050022626","modified":"20171214050803365","module-type":"formula-function","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';exports.eq=function(t,e){return t==e},exports.ne=function(t,e){return t!=e},exports.gt=function(t,e){return e<t},exports.gte=function(t,e){return e<=t},exports.lt=function(t,e){return t<e},exports.lte=function(t,e){return t<=e},exports.equal=exports.eq,exports.not_equal=exports.ne,exports.greater=exports.gt,exports.greater_or_equal=exports.gte,exports.less=exports.lt,exports.less_or_equal=exports.lte}();"},"$:/plugins/ebalster/formula/functions/datetime.js":{"created":"20171217192129179","modified":"20171217192149101","module-type":"formula-function","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';var a=864e5,e=2440587;function n(t,e){e=e||4,(t=t instanceof Date?t:new Date).setHours(0,0,0,0);function n(t){return(t+7-1)%7}var r=t.getDate(),s=t.getDay(),o=e-1;t.setDate(r+o-n(s));e=new Date(t.getFullYear(),0,e),t=(t.getTime()-e.getTime())/a;return 1+Math.round((t-o+n(e.getDay()))/7)}function r(t){return t%400==0||t%100!=0&&t%4==0}function s(t,e){switch(e){case 0:case 2:case 4:case 6:case 7:case 9:case 11:return 31;case 3:case 5:case 8:case 10:return 30;case 1:return r(t)?29:28;default:throw'days_in_month: invalid monthIndex: '+e}}function o(t,e,n){n=n||0;var r=t.getMonth()+Math.round(e),e=t.getFullYear()+Math.round(n),n=r<0?-Math.floor(-(r-11)/12):Math.floor(r/12);return e+=n,r-=12*n,new Date(e,r,Math.min(t.getDate(),s(e,r)),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}function i(t,e){if(e.getTime()<t.getTime()){var n=i(e,t);return{years:-n.years,months:-n.months}}n=12*(e.getYear()-t.getYear())+(e.getMonth()-t.getMonth());return e.getDate()<t.getDate()&&--n,{years:Math.floor(n/12),months:n}}function t(n){function t(t,e){return(e.getTime()-t.getTime())/n}return t.inCast='DD',t}function u(n){function t(t,e){return new Date(t.getTime()+e*n)}return t.inCast='DN',t}function c(t){return t instanceof Date?t:exports.tw_date(t)}exports.now=function(){return new Date(Date.now())},exports.year=function(t){return t.getFullYear()},exports.year.inCast='D',exports.month=function(t){return t.getMonth()+1},exports.month.inCast='D',exports.day=function(t){return t.getDate()},exports.day.inCast='D',exports.hour=function(t){return t.getHours()},exports.hour.inCast='D',exports.minute=function(t){return t.getMinutes()},exports.minute.inCast='D',exports.second=function(t){return t.getSeconds()},exports.second.inCast='D',exports.millisecond=function(t){return t.getMilliseconds()},exports.millisecond.inCast='D',exports.weekday=function(t){return t.getDay()+1},exports.weekday.inCast='D',exports.weeknum=function(t){return n(t,1)},exports.weeknum.inCast='D',exports.isoweekday=function(t){return(t.getDay()+6)%7+1},exports.isoweekday.inCast='D',exports.isoweeknum=function(t){return n(t)},exports.isoweeknum.inCast='D',exports.years=function(t,e){return i(t,e).years},exports.years.inCast='DD',exports.months=function(t,e){return i(t,e).months},exports.months.inCast='DD',exports.days=t(a),exports.hours=t(36e5),exports.minutes=t(6e4),exports.seconds=t(1e3),exports.milliseconds=t(1),exports.add_years=function(t,e){return o(t,0,e)},exports.add_years.inCast='DN',exports.add_months=function(t,e){return o(t,e)},exports.add_months.inCast='DN',exports.add_days=u(a),exports.add_hours=u(36e5),exports.add_minutes=u(6e4),exports.add_seconds=u(1e3),exports.add_milliseconds=u(1),exports.is_leap_year=r,exports.is_leap_year.inCast='N',exports.days_in_year=function(t){return r(t)?366:365},exports.days_in_year.inCast='N',exports.days_in_month=function(t,e){return s(t,e-1)},exports.days_in_month.inCast='NN',exports.tw_date=function(t){t=$tw.utils.parseDate(t);if(!t)throw'Bad timestamp: \"'+t+'\"';return t},exports.tw_date.inCast='T',exports.to_tw_date=function(t){return $tw.utils.stringifyDate(t)},exports.to_tw_date.inCast='D',exports.make_date=function(t,e,n){return new Date(t,e-1,n)},exports.make_date.inCast='NNN',exports.make_time=function(t,e,n){return new Date(0,0,0,t,e,n)},exports.make_time.inCast='NNN',exports.julian=function(t){return new Date((t-e)*a)},exports.julian.inCast='N',exports.to_julian=function(t){return e+t.getTime()/a},exports.to_julian.inCast='D',exports.time=exports.make_time,c.inCast='D',exports.date={min_args:1,max_args:3,select:function(t){switch(t.length){case 1:return c;case 3:return exports.make_date;default:throw'Bad arguments to DATE. Should be (timestamp) or (year, month, day).'}}}}();"},"$:/plugins/ebalster/formula/functions/logic.js":{"created":"20171214054240274","modified":"20171214060456114","module-type":"formula-function","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';var t=require('$:/plugins/ebalster/formula/nodes.js').Node;function r(t,r,n){this.pred=t,this.tval=r,this.fval=n}function n(){for(var t=0;t<arguments.length;t+=2)if(arguments[t])return arguments[t+1]}exports.true=function(){return!0},exports.false=function(){return!1},exports.true.isConstant=!0,exports.false.isConstant=!0,exports.not=function(t){return!t},exports.not.inCast='B',exports.and=function(t,r){return t&&r},exports.and.inCast='BB',exports.or=function(t,r){return t||r},exports.or.inCast='BB',exports.xor=function(t,r){return t?!r:r},exports.xor.inCast='BB',(r.prototype=new t).name='if',r.prototype.compute=function(t){return(this.pred.computeBool(t)?this.tval:this.fval).compute(t)},exports.if={min_args:3,max_args:3,construct:function(t){return new r(t[0],t[1],t[2])}},exports.switch={min_args:3,select:function(t){switch(t.length%2){default:case 0:return function(t){for(var r=t,n=1;n+1<arguments.length;n+=2)if(arguments[n]==r)return arguments[n+1];return arguments[arguments.length-1]};case 1:return function(t){for(var r=t,n=1;n+1<arguments.length;n+=2)if(arguments[n]==r)return arguments[n+1]}}}},exports.choose=function(t,r){var n=Math.floor(t),t=arguments[n];if(!(n<1)&&t)return t},exports.choose.inCast='N',exports.choose.variadic=!0,n.inCast='+B_',exports.ifs={min_args:2,input:'+B_',select:function(t){if(t.length%2!=0)throw'Odd number of arguments to IFS';return n}}}();"},"$:/plugins/ebalster/formula/functions/math.js":{"created":"20171214171454666","modified":"20171214171708994","module-type":"formula-function","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';var s=require('$:/plugins/ebalster/formula/coerce.js');function o(t){if(t instanceof Array){for(var n=0,r=0;r<t.length;++r)n+=o(t[r]);return n}return s.ToNum(t,this)}function t(n){return{min_args:1,select:function(t){return 1!==t.length?function(){return n(Array.prototype.slice.call(arguments))}:n}}}exports.pi=function(){return Math.PI},exports._e=function(){return Math.E},exports.pi.isConstant=!0,exports._e.isConstant=!0,exports.rand=function(){return Math.random()},exports.randbetween=function(t,n){return t+(n-t)*Math.random()},exports.randbetween.inCast='NN',exports.random=exports.rand,exports.abs=function(t){return Math.abs(t)},exports.abs.inCast='N',exports.sign=function(t){return(0<t)-(t<0)||+t},exports.sign.inCast='N',exports.min=function(t){for(var n=t,r=1;r<arguments.length;++r)n=Math.min(n,arguments[r]);return n},exports.min.variadic=!0,exports.min.inCast='+N',exports.max=function(t){for(var n=t,r=1;r<arguments.length;++r)n=Math.max(n,arguments[r]);return n},exports.max.variadic=!0,exports.max.inCast='+N',exports.clamp=function(t,n,r){return Math.min(Math.max(t,n),r)},exports.clamp.inCast='NNN',exports.sum=t(o),exports.average=t(function(t){return o(t)/function t(n){if(n instanceof Array){for(var r=0,o=0;o<n.length;++o)r+=t(n[o]);return r}return 1}(t)}),exports.product=t(function t(n){if(n instanceof Array){for(var r=1,o=0;o<n.length;++o)r*=t(n[o]);return r}return s.ToNum(n,this)}),exports.pow=function(t,n){return Math.pow(t,n)},exports.pow.inCast='NN',exports.log=function(t,n){return Math.log(t)/Math.log(n)},exports.log.inCast='NN',exports.exp=function(t){return Math.exp(t)},exports.exp.inCast='N',exports.ln=function(t){return Math.log(t)},exports.ln.inCast='N',exports.log2=function(t){return Math.log2(t)},exports.log2.inCast='N',exports.log10=function(t){return Math.log10(t)},exports.log10.inCast='N',exports.power=exports.pow,exports.expm1=function(t){return Math.expm1(t)},exports.expm1.inCast='N',exports.log1p=function(t){return Math.log1p(t)},exports.log1p.inCast='N',exports.sqrt=function(t){return Math.sqrt(t)},exports.sqrt.inCast='N',exports.cbrt=function(t){return Math.cbrt(t)},exports.cbrt.inCast='N',exports.radians=function(t){return Math.PI*t/180},exports.radians.inCast='N',exports.degrees=function(t){return 180*t/Math.PI},exports.degrees.inCast='N',exports.sin=function(t){return Math.sin(t)},exports.sin.inCast='N',exports.cos=function(t){return Math.cos(t)},exports.cos.inCast='N',exports.tan=function(t){return Math.tan(t)},exports.tan.inCast='N',exports.csc=function(t){return 1/Math.sin(t)},exports.csc.inCast='N',exports.sec=function(t){return 1/Math.cos(t)},exports.sec.inCast='N',exports.cot=function(t){return 1/Math.tan(t)},exports.cot.inCast='N',exports.asin=function(t){return Math.asin(t)},exports.asin.inCast='N',exports.acos=function(t){return Math.acos(t)},exports.acos.inCast='N',exports.atan=function(t){return Math.atan(t)},exports.atan.inCast='N',exports.acsc=function(t){return Math.asin(1/t)},exports.acsc.inCast='N',exports.asec=function(t){return Math.acos(1/t)},exports.asec.inCast='N',exports.acot=function(t){return Math.atan(1/t)},exports.acot.inCast='N',exports.atan2=function(t,n){return Math.atan2(t,n)},exports.atan2.inCast='NN',exports.sinh=function(t){return Math.sinh(t)},exports.sinh.inCast='N',exports.cosh=function(t){return Math.cosh(t)},exports.cosh.inCast='N',exports.tanh=function(t){return Math.tanh(t)},exports.tanh.inCast='N',exports.csch=function(t){return 1/Math.sinh(t)},exports.csch.inCast='N',exports.sech=function(t){return 1/Math.cosh(t)},exports.sech.inCast='N',exports.coth=function(t){return 1/Math.tanh(t)},exports.coth.inCast='N',exports.asinh=function(t){return Math.asinh(t)},exports.asinh.inCast='N',exports.acosh=function(t){return Math.acosh(t)},exports.acosh.inCast='N',exports.atanh=function(t){return Math.atanh(t)},exports.atanh.inCast='N',exports.acsch=function(t){return Math.asinh(1/t)},exports.acsch.inCast='N',exports.asech=function(t){return Math.acosh(1/t)},exports.asech.inCast='N',exports.acoth=function(t){return Math.atanh(1/t)},exports.acoth.inCast='N';var n=Math.trunc||function(t){return t<0?Math.ceil(t):Math.floor(t)};function r(r){function n(t){return r(t)}function o(t,n){return r(t/n)*n}return{min_args:1,max_args:2,input:o.inCast=n.inCast='NN',select:function(t){switch(t.length){case 1:return n;case 2:return o}}}}function e(r){function n(t){return r(t)}function o(t,n){return n=Math.exp(s*n),r(t/n)*n}var s=Math.log(.1);return{min_args:1,max_args:2,input:o.inCast=n.inCast='NN',select:function(t){switch(t.length){case 1:return n;case 2:return o}}}}exports.floor=r(Math.floor),exports.ceil=r(Math.ceil),exports.round=e(Math.round),exports.roundup=e(function(t){return t<0?Math.floor(t):Math.ceil(t)}),exports.rounddown=e(n),exports.trunc=exports.rounddown,exports.fract=function(t){return t-n(t)},exports.fract.inCast='NN',exports.modulo=function(t,n){return t-n*Math.floor(t/n)},exports.modulo.inCast='NN',exports.mod=exports.modulo,exports.mix=function(t,n,r){return t+(n-t)*r},exports.mix.inCast='NNN',exports.step=function(t,n){return n<t?0:1},exports.step.inCast='NN',exports.smoothstep=function(t,n,r){return r<t?0:n<r?1:3*(r=(r-t)/(n-t))*r-2*r*r*r},exports.smoothstep.inCast='NNN',exports.gcd=function(t,n){var r;(t=Math.abs(Math.round(t)))<(n=Math.abs(Math.round(n)))&&(r=t,t=n,n=r);for(var o=1e3;;){if(0==n)return t;if(0==(t%=n))return n;if(n%=t,--o<0)throw'GCD function is nonterminal!'}},exports.gcd.inCast='NN',exports.lcm=function(t,n){return t=Math.abs(Math.round(t)),n=Math.abs(Math.round(n)),t&&n?Math.abs(t*n/exports.gcd(t,n)):0},exports.lcm.inCast='NN'}();"},"$:/plugins/ebalster/formula/functions/regexp.js":{"created":"20171220230845098","modified":"20171220230855457","module-type":"formula-function","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';function t(e,t){t.lastIndex=0;for(var r,n=arguments[2]||0,a=[];null!=(r=t.exec(e))&&(0==r[0].length&&++t.lastIndex,a.push(r[n]||''),t.global););return a}function r(e,t,r){t.lastIndex=0;var n=arguments[3]||0,e=t.exec(e);return e&&e[n]?e[n]:r}exports.regexreplace=function(e,t,r){return t.lastIndex=0,e.replace(t,r)},exports.regexreplace.inCast='TRT',exports.regexmatch=function(e,t){return t.lastIndex=0,t.test(e)},exports.regexmatch.inCast='TR',t.inCast='TRN',exports.regexextract={min_args:2,max_args:3,select:function(e){return t}},r.inCast='TRTN',exports.regexextract1={min_args:3,max_args:4,select:function(e){return r}}}();"},"$:/plugins/ebalster/formula/functions/strings.js":{"created":"20171213003135495","modified":"20171213003237206","module-type":"formula-function","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';var u=require('$:/plugins/ebalster/formula/coerce.js');function r(t,r){return t}exports.t=function(t){return t},exports.t.inCast='T',r.inCast='TT',exports.text={min_args:1,max_args:1,input:'TT',select:function(t){return 1==t.length?exports.t:r}},exports.value=function(t){return t},exports.inCast='N';var x=function(t,r,n,e){for(var s='',i=e;i<n.length;++i){var o=n[i];!(o=o instanceof Array?x(t,r,o,0):u.ToText(o,this)).length&&r||(s.length&&(s+=t),s+=o)}return s};exports.join=function(t){return x.call(this,t,!1,arguments,1)},exports.join.variadic=!0,exports.join.inCast='T',exports.textjoin=function(t,r){return x.call(this,t,r,arguments,2)},exports.textjoin.variadic=!0,exports.textjoin.inCast='T',exports.split=function(t,r){return t.split(r)},exports.split.inCast='T',exports.len=function(t){return t.length},exports.len.inCast='T',exports.exact=function(t,r){return t===r},exports.exact.inCast='TT',exports.mid=function(t,r,n){return t.substr(r-1,n)},exports.exact.inCast='TNN',exports.substr=exports.mid,exports.substitute=function(t,r,n){return t.split(r).join(n)},exports.substitute.inCast='TTT',exports.cat=function(t,r){return t+r},exports.cat.inCast='TT',exports.trim=function(t){return t.split(/^\\s+|\\s+$/g).join('')},exports.trim.inCast='T',exports.concatenate=exports.cat}();"},"$:/plugins/ebalster/formula/functions/wiki.js":{"created":"20180108011928370","modified":"20180108012007186","module-type":"formula-function","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';var n=require('$:/plugins/ebalster/formula/nodes.js');exports.transclude={min_args:1,max_args:2,construct:function(r){switch(r.length){case 1:return new n.TranscludeText(r[0]);case 2:return new n.TranscludeField(r[0],r[1])}}},exports.transclude_index={min_args:2,max_args:2,construct:function(r){return new n.TranscludeIndex(r[0],r[1])}},exports.variable={min_args:1,max_args:1,construct:function(r){return new n.Variable(r[0])}},exports.datum={min_args:1,max_args:1,construct:function(r){return new n.Datum(r[0])}}}();"},"$:/plugins/ebalster/formula/lib/numeral.js":{"created":"20180114171007227","modified":"20180114171115244","module-type":"library","revision":"0","type":"application/javascript","text":"var e,r;e=this,r=function(){function o(e,r){this._input=e,this._value=r}var a,u,s,e,l={},p={},r={currentLocale:'en',zeroFormat:null,nullFormat:null,defaultFormat:'0,0',scalePercentBy100:!0},c={currentLocale:r.currentLocale,zeroFormat:r.zeroFormat,nullFormat:r.nullFormat,defaultFormat:r.defaultFormat,scalePercentBy100:r.scalePercentBy100},g=function(e){var r,t,n,i;if(g.isNumeral(e))r=e.value();else if(0===e||void 0===e)r=0;else if(null===e||a.isNaN(e))r=null;else if('string'==typeof e)if(c.zeroFormat&&e===c.zeroFormat)r=0;else if(c.nullFormat&&e===c.nullFormat||!e.replace(/[^0-9]+/g,'').length)r=null;else{for(t in l)if(i='function'==typeof l[t].regexps.unformat?l[t].regexps.unformat():l[t].regexps.unformat,i&&e.match(i)){n=l[t].unformat;break}r=(n=n||g._.stringToNumber)(e)}else r=Number(e)||null;return new o(e,r)};return g.version='2.0.6',g.isNumeral=function(e){return e instanceof o},g._=a={numberToFormat:function(e,r,t){var n,i,o,a,l,u=p[g.options.currentLocale],s=!1,c=!1,f='',m=1e12,h='',d=!1;if(e=e||0,a=Math.abs(e),g._.includes(r,'(')?(s=!0,r=r.replace(/[\\(|\\)]/g,'')):(g._.includes(r,'+')||g._.includes(r,'-'))&&(o=g._.includes(r,'+')?r.indexOf('+'):e<0?r.indexOf('-'):-1,r=r.replace(/[\\+|\\-]/g,'')),g._.includes(r,'a')&&(n=!!(n=r.match(/a(k|m|b|t)?/))&&n[1],g._.includes(r,' a')&&(f=' '),r=r.replace(new RegExp(f+'a[kmbt]?'),''),m<=a&&!n||'t'===n?(f+=u.abbreviations.trillion,e/=m):a<m&&1e9<=a&&!n||'b'===n?(f+=u.abbreviations.billion,e/=1e9):a<1e9&&1e6<=a&&!n||'m'===n?(f+=u.abbreviations.million,e/=1e6):(a<1e6&&1e3<=a&&!n||'k'===n)&&(f+=u.abbreviations.thousand,e/=1e3)),g._.includes(r,'[.]')&&(c=!0,r=r.replace('[.]','.')),i=e.toString().split('.')[0],m=r.split('.')[1],a=r.indexOf(','),l=(r.split('.')[0].split(',')[0].match(/0/g)||[]).length,m?(i=(h=g._.includes(m,'[')?(m=(m=m.replace(']','')).split('['),g._.toFixed(e,m[0].length+m[1].length,t,m[1].length)):g._.toFixed(e,m.length,t)).split('.')[0],h=g._.includes(h,'.')?u.delimiters.decimal+h.split('.')[1]:'',c&&0===Number(h.slice(1))&&(h='')):i=g._.toFixed(e,0,t),f&&!n&&1e3<=Number(i)&&f!==u.abbreviations.trillion)switch(i=String(Number(i)/1e3),f){case u.abbreviations.thousand:f=u.abbreviations.million;break;case u.abbreviations.million:f=u.abbreviations.billion;break;case u.abbreviations.billion:f=u.abbreviations.trillion}if(g._.includes(i,'-')&&(i=i.slice(1),d=!0),i.length<l)for(var b=l-i.length;0<b;b--)i='0'+i;return-1<a&&(i=i.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g,'$1'+u.delimiters.thousands)),0===r.indexOf('.')&&(i=''),h=i+h+(f||''),s?h=(s&&d?'(':'')+h+(s&&d?')':''):0<=o?h=0===o?(d?'-':'+')+h:h+(d?'-':'+'):d&&(h='-'+h),h},stringToNumber:function(e){var r,t,n,i=p[c.currentLocale],o=e,a={thousand:3,million:6,billion:9,trillion:12};if(c.zeroFormat&&e===c.zeroFormat)t=0;else if(c.nullFormat&&e===c.nullFormat||!e.replace(/[^0-9]+/g,'').length)t=null;else{for(r in t=1,'.'!==i.delimiters.decimal&&(e=e.replace(/\\./g,'').replace(i.delimiters.decimal,'.')),a)if(n=new RegExp('[^a-zA-Z]'+i.abbreviations[r]+'(?:\\\\)|(\\\\'+i.currency.symbol+')?(?:\\\\))?)?$'),o.match(n)){t*=Math.pow(10,a[r]);break}t*=(e.split('-').length+Math.min(e.split('(').length-1,e.split(')').length-1))%2?1:-1,e=e.replace(/[^0-9\\.]+/g,''),t*=Number(e)}return t},isNaN:function(e){return'number'==typeof e&&isNaN(e)},includes:function(e,r){return-1!==e.indexOf(r)},insert:function(e,r,t){return e.slice(0,t)+r+e.slice(t)},reduce:function(e,r){if(null===this)throw new TypeError('Array.prototype.reduce called on null or undefined');if('function'!=typeof r)throw new TypeError(r+' is not a function');var t,n=Object(e),i=n.length>>>0,o=0;if(3===arguments.length)t=arguments[2];else{for(;o<i&&!(o in n);)o++;if(i<=o)throw new TypeError('Reduce of empty array with no initial value');t=n[o++]}for(;o<i;o++)o in n&&(t=r(t,n[o],o,n));return t},multiplier:function(e){e=e.toString().split('.');return e.length<2?1:Math.pow(10,e[1].length)},correctionFactor:function(){return Array.prototype.slice.call(arguments).reduce(function(e,r){r=a.multiplier(r);return r<e?e:r},1)},toFixed:function(e,r,t,n){var i=e.toString().split('.'),o=r-(n||0),i=2===i.length?Math.min(Math.max(i[1].length,o),r):o,o=Math.pow(10,i),o=(t(e+'e+'+i)/o).toFixed(i);return r-i<n&&(i=new RegExp('\\\\.?0{1,'+(n-(r-i))+'}$'),o=o.replace(i,'')),o}},g.options=c,g.formats=l,g.locales=p,g.locale=function(e){return e&&(c.currentLocale=e.toLowerCase()),c.currentLocale},g.localeData=function(e){if(!e)return p[c.currentLocale];if(e=e.toLowerCase(),!p[e])throw new Error('Unknown locale : '+e);return p[e]},g.reset=function(){for(var e in r)c[e]=r[e]},g.zeroFormat=function(e){c.zeroFormat='string'==typeof e?e:null},g.nullFormat=function(e){c.nullFormat='string'==typeof e?e:null},g.defaultFormat=function(e){c.defaultFormat='string'==typeof e?e:'0.0'},g.register=function(e,r,t){if(r=r.toLowerCase(),this[e+'s'][r])throw new TypeError(r+' '+e+' already registered.');return this[e+'s'][r]=t},g.validate=function(e,r){var t,n,i,o,a,l;if('string'!=typeof e&&(e+='',console.warn&&console.warn('Numeral.js: Value is not string. It has been co-erced to: ',e)),(e=e.trim()).match(/^\\d+$/))return!0;if(''===e)return!1;try{a=g.localeData(r)}catch(e){a=g.localeData(g.locale())}return t=a.currency.symbol,i=a.abbreviations,n=a.delimiters.decimal,o='.'===a.delimiters.thousands?'\\\\.':a.delimiters.thousands,(null===(l=e.match(/^[^\\d]+/))||(e=e.substr(1),l[0]===t))&&((null===(l=e.match(/[^\\d]+$/))||(e=e.slice(0,-1),l[0]===i.thousand||l[0]===i.million||l[0]===i.billion||l[0]===i.trillion))&&(o=new RegExp(o+'{2}'),!e.match(/[^\\d.,]/g)&&(!(2<(n=e.split(n)).length)&&(n.length<2?!!n[0].match(/^\\d+.*\\d$/)&&!n[0].match(o):1===n[0].length?!!n[0].match(/^\\d+$/)&&!n[0].match(o)&&!!n[1].match(/^\\d+$/):!!n[0].match(/^\\d+.*\\d$/)&&!n[0].match(o)&&!!n[1].match(/^\\d+$/)))))},g.fn=o.prototype={clone:function(){return g(this)},format:function(e,r){var t,n,i,o=this._value,a=e||c.defaultFormat;if(r=r||Math.round,0===o&&null!==c.zeroFormat)n=c.zeroFormat;else if(null===o&&null!==c.nullFormat)n=c.nullFormat;else{for(t in l)if(a.match(l[t].regexps.format)){i=l[t].format;break}n=(i=i||g._.numberToFormat)(o,a,r)}return n},value:function(){return this._value},input:function(){return this._input},set:function(e){return this._value=Number(e),this},add:function(e){var i=a.correctionFactor.call(null,this._value,e);return this._value=a.reduce([this._value,e],function(e,r,t,n){return e+Math.round(i*r)},0)/i,this},subtract:function(e){var i=a.correctionFactor.call(null,this._value,e);return this._value=a.reduce([e],function(e,r,t,n){return e-Math.round(i*r)},Math.round(this._value*i))/i,this},multiply:function(e){return this._value=a.reduce([this._value,e],function(e,r,t,n){var i=a.correctionFactor(e,r);return Math.round(e*i)*Math.round(r*i)/Math.round(i*i)},1),this},divide:function(e){return this._value=a.reduce([this._value,e],function(e,r,t,n){var i=a.correctionFactor(e,r);return Math.round(e*i)/Math.round(r*i)}),this},difference:function(e){return Math.abs(g(this._value).subtract(e).value())}},g.register('locale','en',{delimiters:{thousands:',',decimal:'.'},abbreviations:{thousand:'k',million:'m',billion:'b',trillion:'t'},ordinal:function(e){var r=e%10;return 1==~~(e%100/10)?'th':1==r?'st':2==r?'nd':3==r?'rd':'th'},currency:{symbol:'$'}}),g.register('format','bps',{regexps:{format:/(BPS)/,unformat:/(BPS)/},format:function(e,r,t){var n=g._.includes(r,' BPS')?' ':'';return e*=1e4,r=r.replace(/\\s?BPS/,''),t=g._.numberToFormat(e,r,t),t=g._.includes(t,')')?((t=t.split('')).splice(-1,0,n+'BPS'),t.join('')):t+n+'BPS'},unformat:function(e){return+(1e-4*g._.stringToNumber(e)).toFixed(15)}}),s={base:1024,suffixes:['B','KiB','MiB','GiB','TiB','PiB','EiB','ZiB','YiB']},e='('+(e=(u={base:1e3,suffixes:['B','KB','MB','GB','TB','PB','EB','ZB','YB']}).suffixes.concat(s.suffixes.filter(function(e){return u.suffixes.indexOf(e)<0})).join('|')).replace('B','B(?!PS)')+')',g.register('format','bytes',{regexps:{format:/([0\\s]i?b)/,unformat:new RegExp(e)},format:function(e,r,t){var n,i,o,a=g._.includes(r,'ib')?s:u,l=g._.includes(r,' b')||g._.includes(r,' ib')?' ':'';for(r=r.replace(/\\s?i?b/,''),n=0;n<=a.suffixes.length;n++)if(i=Math.pow(a.base,n),o=Math.pow(a.base,n+1),null===e||0===e||i<=e&&e<o){l+=a.suffixes[n],0<i&&(e/=i);break}return g._.numberToFormat(e,r,t)+l},unformat:function(e){var r,t,n=g._.stringToNumber(e);if(n){for(r=u.suffixes.length-1;0<=r;r--){if(g._.includes(e,u.suffixes[r])){t=Math.pow(u.base,r);break}if(g._.includes(e,s.suffixes[r])){t=Math.pow(s.base,r);break}}n*=t||1}return n}}),g.register('format','currency',{regexps:{format:/(\\$)/},format:function(e,r,t){var n,i,o=g.locales[g.options.currentLocale],a={before:r.match(/^([\\+|\\-|\\(|\\s|\\$]*)/)[0],after:r.match(/([\\+|\\-|\\)|\\s|\\$]*)$/)[0]};for(r=r.replace(/\\s?\\$\\s?/,''),n=g._.numberToFormat(e,r,t),0<=e?(a.before=a.before.replace(/[\\-\\(]/,''),a.after=a.after.replace(/[\\-\\)]/,'')):e<0&&!g._.includes(a.before,'-')&&!g._.includes(a.before,'(')&&(a.before='-'+a.before),i=0;i<a.before.length;i++)switch(a.before[i]){case'$':n=g._.insert(n,o.currency.symbol,i);break;case' ':n=g._.insert(n,' ',i+o.currency.symbol.length-1)}for(i=a.after.length-1;0<=i;i--)switch(a.after[i]){case'$':n=i===a.after.length-1?n+o.currency.symbol:g._.insert(n,o.currency.symbol,-(a.after.length-(1+i)));break;case' ':n=i===a.after.length-1?n+' ':g._.insert(n,' ',-(a.after.length-(1+i)+o.currency.symbol.length-1))}return n}}),g.register('format','exponential',{regexps:{format:/(e\\+|e-)/,unformat:/(e\\+|e-)/},format:function(e,r,t){e=('number'!=typeof e||g._.isNaN(e)?'0e+0':e.toExponential()).split('e');return r=r.replace(/e[\\+|\\-]{1}0/,''),g._.numberToFormat(Number(e[0]),r,t)+'e'+e[1]},unformat:function(e){var r=g._.includes(e,'e+')?e.split('e+'):e.split('e-'),t=Number(r[0]),r=Number(r[1]),r=g._.includes(e,'e-')?r*=-1:r;return g._.reduce([t,Math.pow(10,r)],function(e,r,t,n){var i=g._.correctionFactor(e,r);return e*i*(r*i)/(i*i)},1)}}),g.register('format','ordinal',{regexps:{format:/(o)/},format:function(e,r,t){var n=g.locales[g.options.currentLocale],i=g._.includes(r,' o')?' ':'';return r=r.replace(/\\s?o/,''),i+=n.ordinal(e),g._.numberToFormat(e,r,t)+i}}),g.register('format','percentage',{regexps:{format:/(%)/,unformat:/(%)/},format:function(e,r,t){var n=g._.includes(r,' %')?' ':'';return g.options.scalePercentBy100&&(e*=100),r=r.replace(/\\s?\\%/,''),t=g._.numberToFormat(e,r,t),t=g._.includes(t,')')?((t=t.split('')).splice(-1,0,n+'%'),t.join('')):t+n+'%'},unformat:function(e){e=g._.stringToNumber(e);return g.options.scalePercentBy100?.01*e:e}}),g.register('format','time',{regexps:{format:/(:)/,unformat:/(:)/},format:function(e,r,t){var n=Math.floor(e/60/60),i=Math.floor((e-60*n*60)/60),e=Math.round(e-60*n*60-60*i);return n+':'+(i<10?'0'+i:i)+':'+(e<10?'0'+e:e)},unformat:function(e){var r=e.split(':'),e=0;return 3===r.length?(e+=60*Number(r[0])*60,e+=60*Number(r[1]),e+=Number(r[2])):2===r.length&&(e+=60*Number(r[0]),e+=Number(r[1])),Number(e)}}),g},'function'==typeof define&&define.amd?define(r):'object'==typeof module&&module.exports?module.exports=r():e.numeral=r();"},"$:/plugins/ebalster/formula/license":{"caption":"license","created":"20171220071005710","modified":"20171220211838536","revision":"0","tags":"","type":"text/vnd.tiddlywiki","text":"!!The MIT License (MIT)\n\nCopyright (c) 2017 Evan Balster\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."},"$:/plugins/ebalster/formula/macros/formula.js":{"created":"20171210215758530","modified":"20171212194124031","module-type":"macro","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';var t=require('$:/plugins/ebalster/formula/compute.js');exports.name='formula',exports.params=[{name:'formula'}],exports.run=function(r){try{return t.evalFormula(r,this)}catch(r){return'`'+String(r)+'`'}}}();"},"$:/plugins/ebalster/formula/nodes.js":{"created":"20171211183000431","description":"","modified":"20180112071139424","module-type":"library","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';var o=require('$:/plugins/ebalster/formula/coerce.js');exports.Context=function(t,e,o,r,p){if(this.widget=t,this.formats=e||{},this.locals=o||{},this.depth=r||1,this.maxDepth=p||256,this.maxDepth<this.depth)throw'Formula recursion exceeds limit of '+this.maxDepth+'. Infinite regress?'},exports.Context.prototype.sub=function(){return new exports.Context(this.widget,this.formats,null,this.depth+1,this.maxDepth)},exports.Context.prototype.let=function(t){return new exports.Context(this.widget,this.formats,t,this.depth,this.maxDepth)},exports.Context.prototype.wiki=function(){return this.widget.wiki},exports.Context.prototype.wikiVariable=function(t){return this.widget.getVariable(t)},exports.Node=function(){},exports.Node.prototype.is_constant=!1,exports.Node.prototype.name='unknown-operand',exports.Node.prototype.toString=function(){return'[Node '+this.name+']'},exports.Node.prototype.compute=function(t){},exports.Node.prototype.computeNum=function(t){return o.ToNum(this.compute(t),t)},exports.Node.prototype.computeText=function(t){return o.ToText(this.compute(t),t)},exports.Node.prototype.computeBool=function(t){return o.ToBool(this.compute(t),t)},exports.Node.prototype.computeDate=function(t){return o.ToDate(this.compute(t),t)},exports.Node.prototype.computeArray=function(t){return o.ToArray(this.compute(t),t)},exports.Node.prototype.computeFunc=function(t){return o.ToFunc(this.compute(t),t)},exports.ThrowError=function(t){this.exception=t},exports.ThrowError.prototype=new exports.Node,exports.ThrowError.prototype.name='error',exports.ThrowError.prototype.compute=function(t){throw this.exception},exports.ScopeVar=function(t){this.name=t},exports.ScopeVar.prototype=new exports.Node,exports.ScopeVar.prototype.compute=function(t){return t.locals[this.name]},exports.LetVars=function(t,e){this.assigns=t,this.expr=e},exports.LetVars.prototype=new exports.Node,exports.LetVars.prototype.name='let',exports.LetVars.prototype.compute=function(t){var e,o=Object.assign({},t.locals);for(e in t=t.let(o),this.assigns)try{o[e]=this.assigns[e].compute(t)}catch(t){throw'computing LET \\''+e+'\\': '+t}return this.expr.compute(t)},exports.CallFunc=function(t,e){this.func=t,this.args=e},exports.CallFunc.prototype=new exports.Node,exports.CallFunc.prototype.name='function-builtin',exports.CallFunc.prototype.compute=function(t){var e=this.func.computeFunc(t);if(this.args.length<e.min_args)throw'Too few parameters for function';if(this.args.length>e.max_args)throw'Too many parameters for function';for(var o=[],r=0;r<this.args.length;++r)o.push(this.args[r].compute(t));return e.apply(t,o)},exports.CallJS=function(t,e){this.func=t,this.args=e,this.coerce=o.GetCoerceFuncs(t,e),this.n_coerce=Math.min(this.args.length,this.coerce.length)},exports.CallJS.prototype=new exports.Node,exports.CallJS.prototype.name='function-builtin',exports.CallJS.prototype.compute=function(t){for(var e=[],o=0;o<this.n_coerce;++o)e.push(this.coerce[o](this.args[o].compute(t),t));for(;o<this.args.length;++o)e.push(this.args[o].compute(t));return this.func.apply(t,e)},exports.ArrayDef=function(t){this.elems=t},exports.ArrayDef.prototype=new exports.Node,exports.ArrayDef.prototype.name='function-builtin',exports.ArrayDef.prototype.compute=function(t){for(var e=[],o=0;o<this.elems.length;++o)e.push(this.elems[o].compute(t));return e},exports.Function=function(t,e){this.func=t,this.captures=e},exports.Function.prototype=new exports.Node,exports.Function.prototype.name='function',exports.Function.prototype.is_constant=!0,exports.Function.prototype.compute=function(t){if(this.func.captured={},this.captures)for(var e in this.captures)this.func.captured[e]=t.locals[e];return this.func},exports.Text=function(t){this.value=t},exports.Text.prototype=new exports.Node,exports.Text.prototype.name='string',exports.Text.prototype.is_constant=!0,exports.Text.prototype.compute=function(t){return this.value},exports.Date=function(t){this.value=t},exports.Date.prototype=new exports.Node,exports.Date.prototype.name='date',exports.Date.prototype.is_constant=!0,exports.Date.prototype.compute=function(t){return this.value},exports.Bool=function(t){this.value=t},exports.Bool.prototype=new exports.Node,exports.Bool.prototype.name='boolean',exports.Bool.prototype.is_constant=!0,exports.Bool.prototype.compute=function(t){return this.value},exports.Number=function(t){this.value=t},exports.Number.prototype=new exports.Node,exports.Number.prototype.name='number',exports.Number.prototype.is_constant=!0,exports.Number.prototype.compute=function(t){return this.value},exports.Regex=function(t){this.value=t},exports.Regex.prototype=new exports.Node,exports.Regex.prototype.name='regex',exports.Regex.prototype.is_constant=!0,exports.Regex.prototype.compute=function(t){return this.value};var n=require('$:/plugins/ebalster/formula/compile.js');exports.Datum=function(t){this.origin=t,this.text=null,this.op=null},exports.Datum.prototype=new exports.Node,exports.Datum.prototype.name='automatic',exports.Datum.prototype.compute=function(t){var e=this.origin.computeText(t);if(e!=this.text){this.text=e;try{this.op=n.compileDatum(e)}catch(t){this.op=new exports.ThrowError(t+'\\n source: \"'+this.datum+'\"\\n from '+origin.name)}}return this.op.compute(t.sub())},exports.TranscludeText=function(t){this.title=t},exports.TranscludeText.prototype=new exports.Node,exports.TranscludeText.prototype.name='transclude',exports.TranscludeText.prototype.compute=function(t){return t.wiki().getTiddlerText(this.title.computeText(t),'')},exports.TranscludeField=function(t,e){this.title=t,this.field=e},exports.TranscludeField.prototype=new exports.Node,exports.TranscludeField.prototype.name='transclude-field',exports.TranscludeField.prototype.compute=function(t){var e=t.wiki().getTiddler(this.title.computeText(t)),t=this.field.computeText(t);return e&&$tw.utils.hop(e.fields,t)?e.getFieldString(t):''},exports.TranscludeIndex=function(t,e){this.title=t,this.index=e},exports.TranscludeIndex.prototype=new exports.Node,exports.TranscludeIndex.prototype.name='transclude-index',exports.TranscludeIndex.prototype.compute=function(t){return t.wiki().extractTiddlerDataItem(this.title.computeText(t),this.index.computeText(t),'')},exports.Variable=function(t){this.variable=t},exports.Variable.prototype=new exports.Node,exports.Variable.prototype.name='variable',exports.Variable.prototype.compute=function(t){return t.wikiVariable(this.variable.computeText(t))||''},exports.Filter=function(t){this.filter=t,this.elements={},this.compileError=null},exports.Filter.prototype=new exports.Node,exports.Filter.prototype.name='filter',exports.Filter.prototype.compute=function(t){var e,o,r=t.wiki().filterTiddlers(this.filter,t.widget);for(e in this.elements)this.elements[e].count=0;for(s=0;s<r.length;++s)if(e=r[s],o=this.elements[e])++o.count;else try{this.elements[e]={count:1,op:n.compileDatum(e),value:null}}catch(t){this.elements[e]=new exports.ThrowError(t+'\\n source: \"'+e+'\"\\n from \"'+this.filter+'\"')}for(e in this.elements)0===(o=this.elements[e]).count?delete this.elements[e]:o.val=o.op.compute(t.sub());for(var p=[],s=0;s<r.length;++s)e=r[s],p.push(this.elements[e].val);return p}}();"},"$:/plugins/ebalster/formula/operators/arithmetic.js":{"created":"20171212223503019","modified":"20171212223539769","module-type":"formula-operator","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';exports.uplus={arity:1,position:'pre',operator:'+',function:'uplus'},exports.uminus={arity:1,position:'pre',operator:'-',function:'uminus'},exports.plus={arity:2,precedence:10,operator:'+',function:'add'},exports.minus={arity:2,precedence:10,operator:'-',function:'sub'},exports.multiply={arity:2,precedence:20,operator:'*',function:'mul'},exports.divide={arity:2,precedence:20,operator:'/',function:'div'},exports.pow={arity:2,precedence:30,operator:'^',function:'pow',associativity:'right'},exports.percent={arity:1,position:'post',operator:'%',function:'percent'}}();"},"$:/plugins/ebalster/formula/operators/compare.js":{"created":"20171214050556123","modified":"20171214050739104","module-type":"formula-operator","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';exports.eq={arity:2,precedence:0,operator:'=',function:'eq'},exports.ne={arity:2,precedence:0,operator:'<>',function:'ne'},exports.gt={arity:2,precedence:0,operator:'>',function:'gt'},exports.gte={arity:2,precedence:0,operator:'>=',function:'gte'},exports.lt={arity:2,precedence:0,operator:'<',function:'lt'},exports.lte={arity:2,precedence:0,operator:'<=',function:'lte'}}();"},"$:/plugins/ebalster/formula/operators/strings.js":{"created":"20171213003246267","modified":"20171213003346943","module-type":"formula-operator","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';exports.concatenate={arity:2,precedence:4,operator:'&',function:'cat'}}();"},"$:/plugins/ebalster/formula/readme":{"caption":"readme","created":"20171220042006170","modified":"20171220212520970","revision":"0","tags":"","type":"text/vnd.tiddlywiki","text":"''Formula'' for TiddlyWiki, version {{$:/plugins/ebalster/formula!!version}}, by Evan Balster. Updated by [[Joshua Fontany||https://joshuafontany.github.com/]]\n\nFormulas are written between `(=` mushroom brackets `=)`. Where possible, their functions and syntax are designed to emulate popular spreadsheet software (Microsoft Excel and Google Sheets). They //also// support WikiText-like syntax for `{{`transclusion`}}`, `[`filters`]`, `<<`variables`>>`, and a large number of functions.\n\nFormulas can also be evaluated by the `$formula` widget, the `$formula-vars` widget and the `<<formula>>` macro.\n\nFurther documentation is available here: [[https://evanbalster.com/tiddlywiki/formulas.html]].\n\nThis plugin is a work in progress; please report any issues on GitHub: [[https://github.com/EvanBalster/TiddlyWikiFormula/issues]]."},"$:/plugins/ebalster/formula/settings":{"caption":"readme","created":"20171221001634811","modified":"20171221002035357","revision":"0","tags":"","type":"text/vnd.tiddlywiki","text":"Currently no global settings are implemented, but formulas can be controlled by setting some global macros. For example:\n\n|Macro|Meaning|h\n|`\\define formulaFixed() 2`|makes numbers display with 2 decimal points.|\n|`\\define formulaPrecision() 4`|makes numbers display with 4 significant digits (but `formulafixed` takes priority.|\n|`\\define formulaDateFormat() YYYY-MM-0DD`|Sets a date display format using the same rules as TiddlyWiki.|\n\nPlace these at the top of the tiddler where they should take effect, or create a tiddler tagged with <<tag $:/tags/Macro>> to make them apply to all tiddlers.\n\nIn the future, we'll probably add some global settings here..."},"$:/plugins/ebalster/formula/value.js":{"created":"20171211195003728","description":"","modified":"20171211195014088","module-type":"library","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';exports.NumberFormatFunc=null,exports.DateFormat='0hh:0mm, DDth MMM YYYY',exports.Value=function(){this.name='unknown-value'},exports.Value.prototype.get=function(){},exports.Value.prototype.describe=function(){return this.name+' ('+String(this.get())+')'},exports.Value.prototype.toString=function(){return'[Value '+this.describe()+']'},exports.Value.prototype.asNum=function(){var t=this.get(),t=Number(t);if(isNaN(t))throw'Cannot convert '+this.describe()+' to a number!';return t},exports.Value.prototype.asSum=function(){var t,e=this.get();if(Array.isArray(e))for(var r=t=0;r<e.length;++r)t+=Number(e[r]);else t=Number(e);if(isNaN(t))throw'Cannot sum '+this.describe()+' to a number!';return t},exports.Value.prototype.asString=function(){return String(this.get())},exports.Value.prototype.asArray=function(){var t=this.get();return Array.isArray(t)?t:[t]},exports.Value.prototype.asDate=function(){throw'Cannot convert '+this.describe()+' to a date!'},exports.V_Undefined=function(){this.name='undefined'},exports.V_Undefined.prototype=new exports.Value,exports.V_Undefined.prototype.get=function(){},exports.V_Array=function(t){this.name='array',this.value=t},exports.V_Array.prototype=new exports.Value,exports.V_Array.prototype.get=function(){return this.value},exports.V_Array.prototype.asNum=function(){throw'Cannot convert '+this.describe()+' to number!'},exports.V_Array.prototype.asSum=function(){for(var t=0,e=0;e<this.value.length;++e)t+=this.value[e].asNum();if(isNaN(t))throw'Cannot sum '+this.describe()+' to a number!';return t},exports.V_Array.prototype.asString=function(){for(var t='',e=0;e<this.value.length;++e){var r=this.value[e].asString();e&&r.length&&(t+=' '),0<=r.indexOf(/\\s/g)?t+='[['+r+']]':t+=r}return t},exports.V_Text=function(t){this.name='string',this.value=t},exports.V_Text.prototype=new exports.Value,exports.V_Text.prototype.get=function(){return this.value},exports.V_Date=function(t){this.name='date',this.value=t},exports.V_Date.prototype=new exports.Value,exports.V_Date.prototype.get=function(){return this.value},exports.V_Date.prototype.asString=function(){return $tw.utils.formatDateString(this.value,exports.DateFormat)},exports.V_Date.prototype.asNum=function(){throw'Date-to-Number conversion usupported'},exports.V_Date.prototype.asSum=function(){throw'Date-to-Number conversion usupported'},exports.V_Date.prototype.asDate=function(){return this.value},exports.V_Bool=function(t){this.name='boolean',this.value=t},exports.V_Bool.prototype=new exports.Value,exports.V_Bool.prototype.get=function(){return this.value},exports.V_Bool.prototype.asString=function(){return this.value?'TRUE':'FALSE'},exports.V_Bool.prototype.asNum=function(){return this.value?1:0},exports.V_Bool.prototype.asSum=function(){return this.value?1:0},exports.V_Num=function(t){this.name='number',this.value=t},exports.V_Num.prototype=new exports.Value,exports.V_Num.prototype.get=function(){return this.value},exports.V_Num.prototype.asString=function(){return(exports.NumberFormatFunc||String)(this.value)},exports.V_Num.prototype.asNum=function(){return this.value},exports.V_Num.prototype.asSum=function(){return this.value},exports.V_Percent=function(t){this.name='percentage',this.value=t},exports.V_Percent.prototype=new exports.V_Num,exports.V_Percent.prototype.asString=function(){return(exports.NumberFormatFunc||String)(100*this.value)+'%'}}();"},"$:/plugins/ebalster/formula/widgets/attributes/formula.js":{"created":"20171225035721011","description":"Evaluates a formula as an attribute value string.","modified":"20171225035808674","module-type":"attributevalue","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';function t(t,e){this.widget=t,this.formula=e.formula;try{this.compiledFormula=r.compileFormula(this.formula)}catch(t){this.compiledFormula=new i.ThrowError(t)}this.value=this.compute()}var r=require('$:/plugins/ebalster/formula/compile.js'),e=require('$:/plugins/ebalster/formula/compute.js'),i=require('$:/plugins/ebalster/formula/nodes.js');t.prototype.compute=function(){this.formatOptions={fixed:this.widget.getVariable('formulaFixed'),precision:this.widget.getVariable('formulaPrecision'),numberFormat:this.widget.getVariable('formulaNumberFormat'),dateFormat:this.widget.getVariable('formulaDateFormat')};try{return e.computeFormula(this.compiledFormula,this.widget,this.formatOptions)}catch(t){return''}},t.prototype.refresh=function(t){return this.value=this.compute(),this.value},exports.formula=t}();"},"$:/plugins/ebalster/formula/widgets/formula-vars.js":{"created":"20171216003055342","description":"As the $vars widget, but each attribute is interpreted as a formula.","modified":"20171222071557661","module-type":"widget","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';function t(t,r){e.call(this),this.initialise(t,r)}var e=require('$:/core/modules/widgets/widget.js').widget,i=require('$:/plugins/ebalster/formula/compile.js'),o=require('$:/plugins/ebalster/formula/compute.js');(t.prototype=Object.create(e.prototype)).render=function(t,r){var e;this.parentDomNode=t,this.computeAttributes(),this.execute(),this.formulaError?(e=[{type:'element',tag:'span',attributes:{class:{type:'string',value:'tc-error'}},children:[{type:'text',text:this.formulaError}]}],this.makeChildWidgets(e)):this.makeChildWidgets(),this.renderChildren(t,r)},t.prototype.formula_recompute=function(){var e=this;if(this.formatOptions={fixed:this.getAttribute('$fixed')||this.parentWidget.getVariable('formulaFixed'),precision:this.getAttribute('$precision')||this.parentWidget.getVariable('formulaPrecision'),numberFormat:this.getAttribute('$numberFormat')||this.parentWidget.getVariable('formulaNumberFormat'),dateFormat:this.getAttribute('$dateFormat')||this.parentWidget.getVariable('formulaDateFormat')},this.getAttribute('$toFixed'))this.formulaError='Change \\'$toFixed\\' to \\'$fixed\\'.';else if(this.getAttribute('$toPrecision'))this.formulaError='Change \\'$toPrecision\\' to \\'$precision\\'.';else{this.currentValues||(this.currentValues={},this.formulaSrc={},this.formulaComp={}),this.formulaError=null;try{if(this.getAttribute('$noRefresh'))throw'Illegal $noRefresh attribute; use $noRebuild instead.';$tw.utils.each(this.attributes,function(t,r){if('$'!==r.charAt(0)){if(e.formulaSrc[r]!=t){e.formulaSrc[r]=t;try{e.formulaComp[r]=i.compileFormula(e.formulaSrc[r])}catch(t){throw e.formulaSrc[r]=null,'Variable '+r+': '+String(t)}}if(!e.formulaComp[r])throw'Variable '+r+': Formula not assigned';try{e.currentValues[r]=o.computeFormula(e.formulaComp[r],e,e.formatOptions)}catch(t){throw'Variable '+r+': '+String(t)}}})}catch(t){this.formulaError=String(t)}}},t.prototype.execute=function(){if(this.formula_recompute(),!this.formulaError)for(var t in this.currentValues)this.setVariable(t,this.currentValues[t])},t.prototype.refresh=function(t){this.computeAttributes();var r=Object.assign({},this.currentValues||{}),e=this.formulaError;this.formula_recompute();var i,o=!1;for(i in this.currentValues)this.currentValues[i]!==r[i]&&(this.setVariable(i,this.currentValues[i]),o=!0);return'true'===this.getAttribute('$noRebuild')&&(o=!1),this.formulaError!==e&&(o=!0),o?(this.refreshSelf(),!0):this.refreshChildren(t)},exports['formula-vars']=t}();"},"$:/plugins/ebalster/formula/widgets/formula.js":{"created":"20171210232543292","description":"Evaluates a formula.","modified":"20171212194059701","module-type":"widget","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';function t(t,e){this.initialise(t,e)}var e=require('$:/core/modules/widgets/widget.js').widget,r=require('$:/plugins/ebalster/formula/compile.js'),i=require('$:/plugins/ebalster/formula/compute.js');(t.prototype=new e).render=function(t,e){this.parentDomNode=t,this.computeAttributes(),this.execute(),this.rerender(t,e)},t.prototype.rerender=function(t,e){var r;this.removeChildDomNodes(),r=this.formulaError?[{type:'element',tag:'span',attributes:{class:{type:'string',value:'tc-error'}},children:[{type:'text',text:this.formulaError}]}]:(r=this.wiki.parseText(this.wikifyType,this.currentValue,{parseAsInline:'inline'===this.wikifyMode}))?r.tree:[{type:'text',text:this.currentValue}],this.makeChildWidgets(r),this.renderChildren(t,e)},t.prototype.execute=function(){var t=this.formula;if(this.formula=this.getAttribute('formula'),this.debug=this.getAttribute('debug'),this.wikifyType=this.getAttribute('outputType'),this.wikifyMode=this.getAttribute('outputMode','inline'),this.formatOptions={fixed:this.getAttribute('fixed')||this.getVariable('formulaFixed'),precision:this.getAttribute('precision')||this.getVariable('formulaPrecision'),numberFormat:this.getAttribute('numberFormat')||this.getVariable('formulaNumberFormat'),dateFormat:this.getAttribute('dateFormat')||this.getVariable('formulaDateFormat')},this.getAttribute('toFixed'))this.formulaError='Change \\'toFixed\\' to \\'fixed\\'.';else if(this.getAttribute('toPrecision'))this.formulaError='Change \\'toPrecision\\' to \\'precision\\'.';else{if(this.formula!==t&&(this.formulaError=null,this.compiledFormula=null,this.formula))try{this.compiledFormula=r.compileFormula(this.formula)}catch(t){return this.formulaError=String(t),void(this.formula=null)}if(this.compiledFormula)try{this.currentValue=i.computeFormula(this.compiledFormula,this,this.formatOptions,Boolean(this.debug))}catch(t){this.formulaError=String(t)}else this.formulaError='Error: formula not assigned'}},t.prototype.refresh=function(t){this.computeAttributes();var e=this.currentValue;this.formulaError;if(this.execute(),this.oldError===this.formulaError&&this.currentValue===e)return!1;e=this.findNextSiblingDomNode();return this.rerender(this.parentDomNode,e),!0},exports.formula=t}();"},"$:/plugins/ebalster/formula/wikiparser/attributes/formula.js":{"created":"20171224060415431","description":"Tag attribute rule for formulas. Ex. `(= 2+2 =)`","modified":"20171225042523039","module-type":"attributerule","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';exports.formula=function(t,e,n){e=$tw.utils.parseTokenRegExp(t,e,/\\(=(([^=]+|=[^\\)])*)=\\)/g);return e?(n.type='formula',n.formula=e.match[1],n.end=e.end,n):null}}();"},"$:/plugins/ebalster/formula/wikiparser/formula.js":{"created":"20171211033327565","description":"Wiki text inline rule for formulas. Ex. `((=2+2))`","modified":"20171211181716654","module-type":"wikirule","revision":"0","tags":"","type":"application/javascript","text":"!function(){'use strict';exports.name='formula',exports.types={inline:!0},exports.init=function(s){this.parser=s,this.matchRegExp=/\\(=/gm,this.endMatchRegExp=/=\\)/gm},exports.parse=function(){this.parser.pos=this.matchRegExp.lastIndex,this.endMatchRegExp.lastIndex=this.parser.pos;var s,e=this.endMatchRegExp.exec(this.parser.source);return e?(s=this.parser.source.substring(this.parser.pos,e.index),this.parser.pos=e.index+e[0].length):(s=this.parser.source.substr(this.parser.pos),this.parser.pos=this.parser.sourceLength),[{type:'formula',attributes:{formula:{type:'string',value:s}}}]}}();"}}}
{"tiddlers":{"$:/plugins/flibbles/relink/js/bulkops.js":{"text":"!function(){'use strict';var h=require('$:/plugins/flibbles/relink/js/language.js');function e(e,i,t){t=t||{};var r,l=[],o=this.getRelinkReport(e,i,t);for(r in o){var s,n,d,u=o[r],a=Object.create(null),p=!1;for(s in u){var f=u[s];h.eachImpossible(f,function(){l.push(r)}),h.logAll(f,r,e,i,t),f&&f.output&&(a[s]=f.output,p=!0)}p&&(n=this.getTiddler(r),d=new $tw.Tiddler(n,a,this.getModificationFields()),d=$tw.hooks.invokeHook('th-relinking-tiddler',d,n),this.addTiddler(d),d.fields.title!==r&&(this.deleteTiddler(r),this.relinkTiddler(r,d.fields.title,t)))}0<l.length&&(t=$tw.utils.extend({variables:{to:i,from:e},wiki:this},t),h.reportFailures(l,t))}exports.name='redefine-relinkTiddler',exports.synchronous=!0,exports.after=['load-modules'],exports.startup=function(){$tw.Wiki.prototype.relinkTiddler=e}}();","module-type":"startup","type":"application/javascript"},"$:/plugins/flibbles/relink/js/language.js":{"text":"var o,a=require('$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js'),p=require('$:/plugins/flibbles/relink/js/utils/placeholder.js');exports.eachImpossible=function(e,i){e.eachChild&&e.eachChild(function(e){exports.eachImpossible.call(this,e,i)}),e.impossible&&i(e)},exports.logAll=function(e,i,l,t){for(var r,n=e.report(),s=0;s<n.length;s++)console.log((r=n[s],'Renaming \\''+l+'\\' to \\''+t+'\\' in \\''+i+'\\': '+r))},exports.getString=function(e,i){return e='$:/plugins/flibbles/relink/language/'+e,i.wiki.renderTiddler('text/plain',e,i)},exports.reportFailures=function(e,i){o=o||new $tw.utils.Logger('Relinker');var l=this.getString('Error/ReportFailedRelinks',i),t=new p(i),r=$tw.utils.extend({placeholder:t},i),n=Object.create(null),s=[];$tw.utils.each(e,function(e){n[e]||($tw.browser?s.push('\\n* '+a.makeLink(e,void 0,r)):s.push('\\n* '+e),n[e]=!0)}),o.alert(t.getPreamble()+l+'\\n'+s.join(''))};","module-type":"library","type":"application/javascript"},"$:/plugins/flibbles/relink/js/mangler.js":{"text":"function e(e,t){this.initialise(e,t),this.addEventListeners([{type:'relink-add-field',handler:'handleAddFieldEvent'},{type:'relink-add-operator',handler:'handleAddOperatorEvent'},{type:'relink-add-parameter',handler:'handleAddParameterEvent'},{type:'relink-add-attribute',handler:'handleAddAttributeEvent'}])}var t=require('$:/core/modules/widgets/widget.js').widget,r=require('$:/plugins/flibbles/relink/js/language.js'),l=require('$:/plugins/flibbles/relink/js/settings.js');function i(e,t){for(var r='$:/config/flibbles/relink/'+t,i=2;i<arguments.length;i++){var a=arguments[i];if(!a||!(a=a.trim()))return;r=r+'/'+a}var n=l.getDefaultType(e);e.addTiddler({title:r,text:n})}((exports.relinkmangler=e).prototype=new t).alert=function(e){alert(e)},e.prototype.handleAddFieldEvent=function(e){e=e.paramObject;if('object'!=typeof e||!e.field)return!0;e=e.field.toLowerCase().trim();return e&&($tw.utils.isValidFieldName(e)?i(this.wiki,'fields',e):this.alert($tw.language.getString('InvalidFieldName',{variables:{fieldName:e}}))),!0},e.prototype.handleAddOperatorEvent=function(e){e=e.paramObject;return e&&i(this.wiki,'operators',e.operator),!0},e.prototype.handleAddParameterEvent=function(e){e=e.paramObject;return e&&e.macro&&e.parameter&&(/\\s/.test(e.macro.trim())?this.alert(r.getString('Error/InvalidMacroName',{variables:{macroName:e.macro},wiki:this.wiki})):/[ \\/]/.test(e.parameter.trim())?this.alert(r.getString('Error/InvalidParameterName',{variables:{parameterName:e.parameter},wiki:this.wiki})):i(this.wiki,'macros',e.macro,e.parameter)),!0},e.prototype.handleAddAttributeEvent=function(e){e=e.paramObject;return e&&e.element&&e.attribute&&(/[ \\/]/.test(e.element.trim())?this.alert(r.getString('Error/InvalidElementName',{variables:{elementName:e.element},wiki:this.wiki})):/[ \\/]/.test(e.attribute.trim())?this.alert(r.getString('Error/InvalidAttributeName',{variables:{attributeName:e.attribute},wiki:this.wiki})):i(this.wiki,'attributes',e.element,e.attribute)),!0};","module-type":"widget","type":"application/javascript"},"$:/plugins/flibbles/relink/js/settings.js":{"text":"var u=Object.create(null),i=[],f='$:/config/flibbles/relink/';function t(t){this.settings=r(t),this.wiki=t}function r(t){var e,o=Object.create(null);for(e in exports.factories)o[e]=Object.create(null);return t.eachShadowPlusTiddlers(function(t,e){var r,n,i,s;e.substr(0,f.length)===f&&(r=c(s=e.substr(f.length)),(n=exports.factories[r])&&(i=s.substr(r.length+1),(s=u[t.fields.text])&&((s=new s).source=e,s.fields=t.fields,n(o[r],s,i))))}),o}function c(t){var e=t.indexOf('/');if(0<=e)return t.substr(0,e)}function e(t){var e,r=Object.create(null);for(e in t){var n,i=t[e];for(n in i)r[e+'/'+n]=i[n]}return r}$tw.modules.forEachModuleOfType('relinkfieldtype',function(t,e){function r(){}r.prototype=e,r.typeName=e.name,u[e.name]=r,e.aliases&&$tw.utils.each(e.aliases,function(t){u[t]=r})}),$tw.modules.forEachModuleOfType('relinksurveyor',function(t,e){e.survey&&i.push(e)}),(module.exports=t).getType=function(t){t=u[t];return t?new t:void 0},t.getTypes=function(){var t,e=Object.create(null);for(t in u){var r=u[t];e[r.typeName]=r}return e},t.getDefaultType=function(t){t=t.getTiddler('$:/config/flibbles/relink/settings/default-type'),t=t&&t.fields.text;return u[t]?t:'title'},t.prototype.survey=function(t,e,r){if(t)for(var n=0;n<i.length;n++)if(i[n].survey(t,e,r))return!0;return!1},t.prototype.getAttribute=function(t){return this.settings.attributes[t]},t.prototype.getAttributes=function(){return e(this.settings.attributes)},t.prototype.getFields=function(){return this.settings.fields},t.prototype.getOperators=function(){return this.settings.operators},t.prototype.getMacro=function(t){return this.settings.macros[t]},t.prototype.getMacros=function(){return e(this.settings.macros)},t.prototype.refresh=function(t){for(var e in t)if(e.substr(0,f.length)===f)return this.settings=r(this.wiki),!0;return!1},exports.factories={attributes:function(t,e,r){var n=c(r),r=r.substr(n.length+1);t[n]=t[n]||Object.create(null),t[n][r]=e},fields:function(t,e,r){t[r]=e},macros:function(t,e,r){var n=function(t){var e=t.lastIndexOf('/');if(0<=e)return t.substr(0,e)}(r),r=r.substr(n.length+1);t[n]=t[n]||Object.create(null),t[n][r]=e},operators:function(t,e,r){t[r]=e}};","module-type":"library","type":"application/javascript"},"$:/plugins/flibbles/relink/js/wikimethods.js":{"text":"var i=require('$:/plugins/flibbles/relink/js/utils/macroConfig.js'),n=require('$:/plugins/flibbles/relink/js/settings.js'),h=Object.create(null);$tw.modules.applyMethods('relinkoperator',h),exports.getRelinkReport=function(e,t,i){var n=this.getGlobalCache('relink-'+e,function(){return Object.create(null)});return n[t]||(n[t]=function(e,t,i,n){(n=n||{}).wiki=n.wiki||e,n.settings=e.getRelinkConfig(),t=(t||'').trim(),i=(i||'').trim();var r=Object.create(null);if(t&&i)for(var s=e.getRelinkableTitles(),l=0;l<s.length;l++){var a=s[l],o=e.getTiddler(a);if(o&&!o.fields['plugin-type']&&'application/javascript'!==o.fields.type)try{var g,c,f=Object.create(null);for(g in h)h[g](o,t,i,f,n);for(c in f){r[a]=f;break}}catch(e){throw e.message&&(e.message=e.message+'\\nWhen relinking \\''+a+'\\''),e}}return r}(this,e,t,i)),n[t]},exports.getRelinkableTitles=function(){var t='$:/config/flibbles/relink/to-update',i=this;return this.getCacheForTiddler(t,'relink-toUpdate',function(){var e=i.getTiddler(t);return e?i.compileFilter(e.fields.text):i.allTitles})()},exports.getRelinkConfig=function(){var e,t;return void 0===this._relinkConfig&&(e=new n(this),(t=new i(this,e)).import('[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]'),this.eventListeners=this.eventListeners||{},this.eventListeners.change=this.eventListeners.change||[],this.eventListeners.change.unshift(function(e){t.refresh(e)}),this._relinkConfig=t),this._relinkConfig};","module-type":"wikimethod","type":"application/javascript"},"$:/plugins/flibbles/relink/js/filteroperators/all_relinkable.js":{"text":"!function(){'use strict';exports.relinkable=function(e,i,t){return t.wiki.getRelinkableTitles()}}();","module-type":"allfilteroperator","type":"application/javascript"},"$:/plugins/flibbles/relink/js/filteroperators/impossible.js":{"text":"var s=require('$:/plugins/flibbles/relink/js/language.js');exports.impossible=function(e,i,r){var a,n=r.widget&&r.widget.getVariable('currentTiddler'),i=i.operand,l=[];return n&&(a=r.wiki.getRelinkReport(n,i,r),e(function(e,i){var r=a[i];if(r){var n,t=!1;for(n in r)s.eachImpossible(r[n],function(){t=!0});t&&l.push(i)}})),l};","module-type":"relinkfilteroperator","type":"application/javascript"},"$:/plugins/flibbles/relink/js/filteroperators/references.js":{"text":"exports.references=function(e,r,i){var n,r=r.operand,f=[];if(r)for(n in i.wiki.getRelinkReport(r,'$:/plugins/flibbles/relink/dummy',i))f.push(n);return f};","module-type":"relinkfilteroperator","type":"application/javascript"},"$:/plugins/flibbles/relink/js/filteroperators/relink.js":{"text":"'use strict';var l,n=require('$:/plugins/flibbles/relink/js/language.js');exports.relink=function(r,e,t){var i,i=(s=e.suffix,0<=(i=s?s.indexOf(':'):-1)?[s.substr(0,i),s.substr(i+1)]:[s]),s=(l||(l={},$tw.modules.applyMethods('relinkfilteroperator',l)),l[i[0]]);if(s){e=$tw.utils.extend({},e);return e.suffix=i[1],s(r,e,t)}return[n.getString('Error/RelinkFilterOperator',t)]};","module-type":"filteroperator","type":"application/javascript"},"$:/plugins/flibbles/relink/js/filteroperators/report.js":{"text":"exports.report=function(r,n,o){var n=n.operand,i=[],a=o.wiki.getRelinkReport(n,n,o);return n&&r(function(r,n){var o=a[n];if(o)for(var t in o){var e=o[t].report();i=i.concat(e)}}),i};","module-type":"relinkfilteroperator","type":"application/javascript"},"$:/plugins/flibbles/relink/js/filteroperators/signatures.js":{"text":"var i=require('$:/plugins/flibbles/relink/js/settings.js');function o(t){return t.wiki.getGlobalCache('relink-signatures',function(){var e=t.wiki.getRelinkConfig(),n=Object.create(null),e={attributes:e.getAttributes(),fields:e.getFields(),macros:e.getMacros(),operators:e.getOperators()};return $tw.utils.each(e,function(e,r){$tw.utils.each(e,function(e,t){n[r+'/'+t]=e})}),n})}exports.signatures=function(e,t,r){var n=t.operand||null,i=o(r);'$:/core'===n&&(n='$:/plugins/flibbles/relink');var s,u=[];for(s in i){e=i[s].source;r.wiki.getShadowSource(e)===n&&u.push(s)}return u},exports.type=function(e,t,r){var n=[],i=o(r);return e(function(e,t){i[t]&&n.push(i[t].name)}),n},exports.types=function(e,t,r){var n=i.getDefaultType(r.wiki),r=Object.keys(i.getTypes());return r.sort(),r.sort(function(e,t){return e===n?-1:t===n?1:0}),r},exports.source=function(e,t,r){var n=[],i=(t.suffix,o(r));return e(function(e,t){i[t]&&n.push(i[t].source)}),n};","module-type":"relinkfilteroperator","type":"application/javascript"},"$:/plugins/flibbles/relink/js/filteroperators/splitafter.js":{"text":"!function(){'use strict';exports.splitafter=function(t,n,s){var r=[];return t(function(t,s){var u=s.lastIndexOf(n.operand);u<0?$tw.utils.pushTop(r,s):$tw.utils.pushTop(r,s.substr(u+1))}),r}}();","type":"application/javascript","module-type":"relinkfilteroperator"},"$:/plugins/flibbles/relink/js/fieldtypes/filter.js":{"text":"var v=require('$:/plugins/flibbles/relink/js/fieldtypes/reference'),g=require('$:/plugins/flibbles/relink/js/utils/rebuilder'),e=require('$:/plugins/flibbles/relink/js/utils/entry');exports.name='filter';var k=e.newType('filter');function y(e){this.entry=e}function m(e){return e.indexOf(']')<0}k.prototype.report=function(){return this.children.map(function(e){return e.report?e.report():''})},y.prototype.name='operator',y.prototype.eachChild=function(e){e(this.entry)},y.prototype.report=function(){var e='';this.entry.report&&(e=this.entry.report());var r=this.operator,e='indirect'===this.type?'{'+e+'}':'['+e+']',t='';return r.suffix&&(t=':'+r.suffix),'['+(r.prefix||'')+r.operator+t+e+']'},exports.relink=function(e,r,t,n){if(n.settings.survey(e,r,n)){for(var i,o,u,s=new k,a=new g(e),f=n.settings.getOperators(),l=0,d=!1,p=/\\s+/gm,c=/((?:\\+|\\-|~|=)?)(?:(\\[)|(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s\\[\\]]+))/gm;l<e.length;)if(p.lastIndex=l,o=!1,(i=p.exec(e))&&i.index===l?l+=i[0].length:0!=l&&(d?(a.add(' ',l,l),d=!1):o=!0),l<e.length){if(c.lastIndex=l,!(i=c.exec(e))||i.index!==l)return;if(i[1]&&l++,i[2]){var x=/\\[\\[([^\\]]+)\\]\\]/g;x.lastIndex=l;var h=x.exec(e);if(!h||h.index!=l){if(void 0===(l=function(e,r,t,n,i,o,u,s){var a,f,l;if('['!==i.charAt(o++))return;do{if(f={},'!'===i.charAt(o)&&(f.prefix='!',o++),-1===(a=i.substring(o).search(/[\\[\\{<\\/]/)))return;a+=o;var d=i.charAt(a);f.operator=i.substring(o,a);var p=f.operator.indexOf(':');-1<p?(f.suffix=f.operator.substring(p+1),f.operator=f.operator.substring(0,p)||'field'):''===f.operator&&(f.operator='title');var c,x=void 0;switch(o=a+1,d){case'{':c='indirect',a=i.indexOf('}',o);var h=i.substring(o,a);(x=v.relinkInBraces(h,r,t,s))&&x.output&&e.add(x.output,o,a);break;case'[':c='string',a=i.indexOf(']',o);var h=i.substring(o,a),b=function(e,r){return r.suffix&&e[r.operator+':'+r.suffix]||e[r.operator]}(u,f);if(!b)break;if(!(x=b.relink(h,r,t,s)))break;if(!x.output)break;if(!m(x.output)||s.inBraces&&0<=x.output.indexOf('}}}')){if(!s.placeholder){delete x.output,x.impossible=!0;break}var g=s.placeholder.getPlaceholderFor(x.output,b.name,s);l='<'+g+'>'}else l='['+x.output+']';e.add(l,o-1,a+1);break;case'<':a=i.indexOf('>',o);break;case'/':g=/^((?:[^\\\\\\/]*|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g;if(!g.exec(i.substring(o)))return;a=o+g.lastIndex-1}}while(x&&((d=new y(x)).operator=f,d.type=c,n.add(d)),o=a+1,']'!==i.charAt(o));return']'===i.charAt(o++)?o:void 0}(a,r,t,s,e,l,f,n)))return;continue}bracketTitle=h[1],c.lastIndex=x.lastIndex,u=h[1]}else u=i[3]||i[4]||i[5];var b=void 0;if(i[3]?b='\"':i[4]?b='\\'':i[5]&&(b=''),u===r){x={name:'title'},h=function(e,r){var t,n={'':function(e){return/^[^\\s\\[\\]]*[^\\s\\[\\]\\}]$/.test(e)},'[':m,'\\'':function(e){return e.indexOf('\\'')<0},'\"':function(e){return e.indexOf('\"')<0}},i={'':function(e){return e},'[':function(e){return'[['+e+']]'},'\\'':function(e){return'\\''+e+'\\''},'\"':function(e){return'\"'+e+'\"'}};if(n[r]&&n[r](e))return i[r](e);for(t in n)if(n[t](e))return i[t](e);return}(t,b);if(void 0===h||n.inBraces&&0<=h.indexOf('}}}')){if(!n.placeholder){x.impossible=!0,s.add(x),l=c.lastIndex;continue}h='[<'+n.placeholder.getPlaceholderFor(t,void 0,n)+'>]'}'['!=h[0]&&(o&&!i[1]&&a.add(' ',l,l),d=!0),x.output=t,x.operator={operator:'title'},x.quotation=b,s.add(x),a.add(h,l,c.lastIndex)}l=c.lastIndex}return 0<s.children.length?(s.output=a.results(),s):void 0}},exports.relinkInBraces=function(e,r,t,n){n=$tw.utils.extend({inBraces:!0},n),t=this.relink(e,r,t,n);return!t||!t.output||(n=t.output).indexOf('}}}')<0&&'}}'!==n.substr(n.length-2)||(delete t.output,t.impossible=!0),t};","module-type":"relinkfieldtype","type":"application/javascript"},"$:/plugins/flibbles/relink/js/fieldtypes/list.js":{"text":"exports.name='list',exports.relink=function(t,s,e,i){var r,n=!1,l=!1;if('string'!=typeof t?(r=(t||[]).slice(0),l=!0):r=$tw.utils.parseStringArray(t||''),$tw.utils.each(r,function(t,i){t===s&&(r[i]=e,n=!0)}),n){t={name:'list'};return/\\]\\][^\\S\\xA0]/m.test(e)?t.impossible=!0:t.output=l?r:$tw.utils.stringifyList(r),t}};","module-type":"relinkfieldtype","type":"application/javascript"},"$:/plugins/flibbles/relink/js/fieldtypes/reference.js":{"text":"function o(e){this.reference=e}exports.name='reference',o.prototype.name='reference',o.prototype.report=function(){return this.reference.field?['!!'+this.reference.field]:this.reference.index?['##'+this.reference.index]:['']},exports.relink=function(e,t,r,n){var i;return!e||(e=$tw.utils.parseTextReference(e)).title===t&&(i=new o(e),exports.canBePretty(r)?(e.title=r,i.output=exports.toString(e)):i.impossible=!0),i},exports.relinkInBraces=function(e,t,r,n){n=this.relink(e,t,r,n);return n&&n.output&&0<=r.indexOf('}')&&(delete n.output,n.impossible=!0),n},exports.toString=function(e){var t=e.title||'';return e.field?t+'!!'+e.field:e.index?t+'##'+e.index:t},exports.canBePretty=function(e){return!e||e.indexOf('!!')<0&&e.indexOf('##')<0};","module-type":"relinkfieldtype","type":"application/javascript"},"$:/plugins/flibbles/relink/js/fieldtypes/title.js":{"text":"exports.name='title',exports.relink=function(e,t,i,n){if(e===t)return{name:'title',output:i}},exports.aliases=['field','yes'];","module-type":"relinkfieldtype","type":"application/javascript"},"$:/plugins/flibbles/relink/js/fieldtypes/wikitext.js":{"text":"exports.name='wikitext';var h=require('$:/core/modules/parsers/wikiparser/wikiparser.js')['text/vnd.tiddlywiki'],l=require('$:/plugins/flibbles/relink/js/utils/rebuilder.js'),p=require('$:/plugins/flibbles/relink/js/utils/entry').newType('wikitext');function u(t,e,i,s,n){var r,o;this.entry=new p,this.builder=new l(e),this.options=n,this.relinkMethodsInjected||(o=Object.create(null),$tw.modules.forEachModuleOfType('relinkwikitextrule',function(t,e){var i=e.name;if('string'==typeof i&&(i=[i]),void 0!==i)for(var s=0;s<i.length;s++)o[i[s]]=e}),r=o,$tw.utils.each([this.pragmaRuleClasses,this.blockRuleClasses,this.inlineRuleClasses],function(t){for(var e in t)r[e]&&(delete r[e].name,$tw.utils.extend(t[e].prototype,r[e]))}),u.prototype.relinkMethodsInjected=!0),this.fromTitle=i,this.toTitle=s,h.call(this,t,e,n)}u.prototype=Object.create(h.prototype),u.prototype.parsePragmas=function(){for(;this.skipWhitespace(),!(this.pos>=this.sourceLength);){var t=this.findNextMatch(this.pragmaRules,this.pos);if(!t||t.matchIndex!==this.pos)break;this.relinkRule(t)}return[]},u.prototype.parseInlineRunUnterminated=function(t){for(var e=this.findNextMatch(this.inlineRules,this.pos);this.pos<this.sourceLength&&e;)e.matchIndex>this.pos&&(this.pos=e.matchIndex),this.relinkRule(e),e=this.findNextMatch(this.inlineRules,this.pos);this.pos=this.sourceLength},u.prototype.parseInlineRunTerminated=function(t,e){e=e||{},t.lastIndex=this.pos;for(var i=t.exec(this.source),s=this.findNextMatch(this.inlineRules,this.pos);this.pos<this.sourceLength&&(i||s);){if(i&&(!s||s.matchIndex>=i.index))return this.pos=i.index,e.eatTerminator&&(this.pos+=i[0].length),[];s&&(s.matchIndex>this.pos&&(this.pos=s.matchIndex),this.relinkRule(s),s=this.findNextMatch(this.inlineRules,this.pos),t.lastIndex=this.pos,i=t.exec(this.source))}return this.pos=this.sourceLength,[]},u.prototype.parseBlock=function(t){if(this.skipWhitespace(),this.pos>=this.sourceLength)return[];var e=this.findNextMatch(this.blockRules,this.pos);return e&&e.matchIndex===this.pos?this.relinkRule(e):this.parseInlineRun(/(\\r?\\n\\r?\\n)/gm)},u.prototype.relinkRule=function(t){var e;t.rule.relink?void 0!==(e=t.rule.relink(this.source,this.fromTitle,this.toTitle,this.options))&&(this.entry.add(e),e.output&&this.builder.add(e.output,t.matchIndex,this.pos)):void 0!==t.rule.matchRegExp?this.pos=t.rule.matchRegExp.lastIndex:t.rule.parse()},u.prototype.amendRules=function(t,e){var i;if(h.prototype.amendRules.call(this,t,e),'only'===t)i=!0;else{if('except'!==t)return;i=!1}i!==0<=e.indexOf('macrodef')&&(this.options.placeholder=void 0),i!==0<=e.indexOf('html')&&(this.options.noWidgets=!0),i!==0<=e.indexOf('prettylink')&&(this.options.noPrettylinks=!0)},exports.relink=function(t,e,i,s){if(s.settings.survey(t,e,s)){var n=$tw.utils.extend({},s);n.settings=s.settings.createChildLibrary(s.currentTiddler);n=new u(s.type,t,e,i,n);return 0<n.entry.children.length?(n.entry.output=n.builder.results(),n.entry):void 0}};","module-type":"relinkfieldtype","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/fields.js":{"text":"'use strict';require('$:/plugins/flibbles/relink/js/settings.js');var f=require('$:/plugins/flibbles/relink/js/utils/entry').newType('field');f.prototype.report=function(){var i=this,t=[];return $tw.utils.each(this.children,function(e){e.report?$tw.utils.each(e.report(),function(e){e?t.push(i.field+': '+e):t.push(i.field)}):t.push(i.field)}),t},exports.fields=function(s,r,l,n,u){var e=u.settings.getFields();$tw.utils.each(e,function(e,i){var t=s.fields[i],e=e.relink(t,r,l,u);void 0!==e&&((t=new f).field=i,t.output=e.output,t.add(e),n[i]=t)})};","module-type":"relinkoperator","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text.js":{"text":"'use strict';var a=Object.create(null);$tw.modules.applyMethods('relinktextoperator',a);var s={'$:/DefaultTiddlers':'text/x-tiddler-filter'};exports.text=function(t,e,l,i,r){var d=t.fields;d.text&&(d=s[d.title]||d.type||'text/vnd.tiddlywiki',!a[d]||(r=a[d].call(this,t,e,l,r))&&(i.text=r))};","module-type":"relinkoperator","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/filtertext.js":{"text":"'use strict';var l=require('$:/plugins/flibbles/relink/js/settings').getType('filter');exports['text/x-tiddler-filter']=function(e,t,i,r){return l.relink(e.fields.text,t,i,r)};","module-type":"relinktextoperator","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext.js":{"text":"'use strict';var s=require('$:/plugins/flibbles/relink/js/utils/placeholder.js'),u=require('$:/plugins/flibbles/relink/js/settings.js').getType('wikitext');exports['text/vnd.tiddlywiki']=function(e,t,i,l){var r=new s,l=$tw.utils.extend({currentTiddler:e.fields.title,placeholder:r},l),l=u.relink(e.fields.text,t,i,l);return l&&l.output&&(r=r.getPreamble(),l.output=r+l.output),l};","module-type":"relinktextoperator","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/code.js":{"text":"exports.name=['codeinline','codeblock'],exports.relink=function(e,s,t,n){var r;this.parser.pos=this.matchRegExp.lastIndex,(r=2<this.match[0].length?/\\r?\\n```$/gm:new RegExp(this.match[1],'mg')).lastIndex=this.parser.pos;e=r.exec(e);this.parser.pos=e?e.index+e[0].length:this.parser.sourceLength};","module-type":"relinkwikitextrule","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/comment.js":{"text":"exports.name=['commentinline','commentblock'],exports.relink=function(e,n,t,o){this.parser.pos=this.endMatchRegExp.lastIndex};","module-type":"relinkwikitextrule","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/filteredtransclude.js":{"text":"exports.name=['filteredtranscludeinline','filteredtranscludeblock'];var a=require('$:/plugins/flibbles/relink/js/settings').getType('filter'),o=require('./utils.js'),u=require('$:/plugins/flibbles/relink/js/utils/entry').newType('filteredtransclude');u.prototype.report=function(){var r=[],i=this;return $tw.utils.each(this.children,function(e){var t;'filter'===e.name?(t='}}}',i.template&&(t='||'+i.template+t),$tw.utils.each(e.report(),function(e){r.push('{{{'+e+t)})):r.push('{{{'+i.filter+'||}}}')}),r},exports.relink=function(e,t,r,i){var l=this.match;filter=l[1],tooltip=l[2],template=l[3],style=l[4],classes=l[5],parser=this.parser,entry=new u,parser.pos=this.matchRegExp.lastIndex;var n=!1,s=a.relink(filter,t,r,i);if(void 0!==s&&(entry.add(s),s.output&&(n=!0,filter=s.output)),$tw.utils.trim(template)===t&&(template=template.replace(t,r),entry.add({name:'title',output:template}),n=!0),n){i=this.makeFilteredtransclude(filter,tooltip,template,style,classes,i);void 0===i?entry.impossible=!0:entry.output=i+o.getEndingNewline(l[0]),entry.filter=filter}else if(entry.children.length<=0)return;return entry.template=template,entry},exports.makeFilteredtransclude=function(e,t,r,i,l,n){return(s=e).indexOf('|')<0&&s.indexOf('}}')<0&&(!(s=r)||s.indexOf('|')<0&&s.indexOf('{')<0&&s.indexOf('}')<0)?function(e,t,r,i,l){t=void 0===t?'':'|'+t;r=void 0===r?'':'||'+r;l=void 0===l?'':'.'+l;return'{{{'+e+t+r+'}}'+(i=i||'')+'}'+l}(e,t,r,i,l):n.noWidgets?void 0:function(e,t,r,i,l,n){var s=!1;void 0!==l&&(l=l.split('.').join(' '));function a(e,t,r){if(!t)return'';if(void 0===(i=o.wrapAttributeValue(t))){if(!n.placeholder)return void(s=!0);var r=r?void 0:e,i='<<'+n.placeholder.getPlaceholderFor(t,r,n)+'>>'}return' '+e+'='+i}l=['<$list',a('filter',e),a('tooltip',t),a('template',r,!0),a('style',i),a('itemClass',l),'/>'];if(s)return;return l.join('')}(e,t,r,i,l,n);var s};","module-type":"relinkwikitextrule","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/html.js":{"text":"var b=require('./utils.js'),m=require('$:/plugins/flibbles/relink/js/utils/rebuilder'),e=require('$:/plugins/flibbles/relink/js/settings.js'),x=e.getType('reference'),T=e.getType('filter'),y=require('./macrocall.js'),e=require('$:/plugins/flibbles/relink/js/utils/entry');exports.name='html';var k=e.newCollection('html');k.prototype.forEachChildReport=function(e,t,i){return'filtered'===i?t+='={{{'+e+'}}}':'indirect'===i?t+='={{'+e+'}}':'macro'===i?t+='='+e:0<e.length&&(t+='=\"'+e+'\"'),'<'+this.element+' '+t+' />'},exports.relink=function(e,t,i,r){r.settings.getAttribute(this.nextTag.tag);var n,a,l,s,u=new m(e,this.nextTag.start),o=new k;for(a in o.attributes=Object.create(null),o.element=this.nextTag.tag,this.nextTag.attributes){var g=this.nextTag.attributes[a],p=e.indexOf('=',g.start);if(!(p<0||p>g.end)){'$importvariables'===this.nextTag.tag&&'filter'===a&&(n=g);var f=void 0;if('string'===g.type){var d,c=function(e,t,i){if('$macrocall'===e.tag){var r=e.attributes.$name;if(r){r=i.settings.getMacro(r.value);if(r)return r[t]}}else{e=i.settings.getAttribute(e.tag);if(e)return e[t]}return}(this.nextTag,a,r);if(!c)continue;if(void 0===(h=c.relink(g.value,t,i,r)))continue;h.output&&(p=b.determineQuote(e,g),d=g.value.length+2*p.length,void 0===(f=b.wrapAttributeValue(h.output,p))&&(r.placeholder?f='<<'+r.placeholder.getPlaceholderFor(h.output,c.name,r)+'>>':h.impossible=!0))}else if('indirect'===g.type){if(void 0===(h=x.relinkInBraces(g.textReference,t,i,r)))continue;h.output&&(d=g.textReference.length+4,f='{{'+h.output+'}}')}else if('filtered'===g.type){if(void 0===(h=T.relinkInBraces(g.filter,t,i,r)))continue;h.output&&(d=g.filter.length+6,f='{{{'+h.output+'}}}')}else if('macro'===g.type){var h,v=g.value;if(void 0===(h=y.relinkAttribute(v,e,t,i,r)))continue;h.impossible||(d=v.end-v.start,f=h.output)}o.addChild(h,a,g.type),void 0!==f&&('$importvariables'===this.nextTag.tag&&'filter'===a&&(n=f),v=g.end-d,u.add(f,v,g.end))}}if(n&&(s=r,'string'==typeof(l=n)&&(l=$tw.utils.parseAttribute('p='+l,0)),l=function(e,t){{var i;e='filtered'===e.type?(i=t.settings.getVariableWidget(),t.wiki.filterTiddlers(e.filter,i)[0]||''):'indirect'===e.type?(i=t.settings.getVariableWidget(),t.wiki.getTextReference(e.textReference,'',i.variables.currentTiddler.value)):'macro'===e.type?(i=t.settings.getVariableWidget()).getVariable(e.value.name,{params:e.value.params}):e.value}return e}(l,s),s.settings.import(l)),this.parser.pos=this.nextTag.end,o.hasChildren())return o.output=u.results(this.nextTag.end),o};","module-type":"relinkwikitextrule","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/image.js":{"text":"var x=require('$:/plugins/flibbles/relink/js/utils/rebuilder'),v=require('$:/plugins/flibbles/relink/js/fieldtypes/reference'),b=require('$:/plugins/flibbles/relink/js/settings').getType('filter'),O=require('./macrocall.js'),k=require('./utils.js'),e=require('$:/plugins/flibbles/relink/js/utils/entry');exports.name='image';var y=e.newCollection('image');y.prototype.forEachChildReport=function(e,t,i){var r='source'===t?this.tooltip?'[img['+this.tooltip.value+']]':'[img[]]':('indirect'===i?r='{{'+e+'}}':'filtered'===i?r='{{{'+e+'}}}':'macro'===i&&(r=e),'[img '+t+'='+r+']');return r},exports.relink=function(e,t,i,r){var l,a,n=this.nextImage.start,d=new x(e,n),u=!1,o=!1,s=new y;s.attributes=Object.create(null),this.nextImage.attributes.source.value!==t||(l=i,a=this.nextImage.attributes.tooltip,l.indexOf(']')<0&&(a||l.indexOf('|')<0))||(r.noWidgets||!k.wrapAttributeValue(i)&&!r.placeholder?o=!0:(u=!0,d.add('<$image',n,n+4))),n+=4;var p,f=!1;for(p in this.nextImage.attributes){var g,c,h,m=this.nextImage.attributes[p];'source'!==p&&'tooltip'!==p||(f?n=e.indexOf('|',n):(n=e.indexOf('[',n),f=!0),u&&(0<=' \\t\\n'.indexOf(e[n-1])?d.add('',n,n+1):d.add(' ',n,n+1)),n+=1),'source'===p?(n=e.indexOf(m.value,n),m.value===t&&(g={name:'title'},u?void 0===(h=k.wrapAttributeValue(i))?(c=r.placeholder.getPlaceholderFor(i,void 0,r),d.add('source=<<'+c+'>>',n,n+t.length)):d.add('source='+h,n,n+t.length):o?g.impossible=!0:d.add(i,n,n+t.length),s.addChild(g,p,'string')),n=e.indexOf(']]',n),u&&d.add('/>',n,n+2),n+=2):'tooltip'===p?(u&&(n=e.indexOf(m.value,n),h=k.wrapAttributeValue(m.value),d.add('tooltip='+h,n,n+m.value.length)),s.tooltip=this.nextImage.attributes.tooltip):n=function(e,t,i,r,l,a){var n=t.text,d=n.indexOf(e.name,e.start);{var u,o,s;d+=e.name.length,d=n.indexOf('=',d),'string'===e.type?(d=n.indexOf(e.value,d),o=k.determineQuote(n,e),o=d+o.length+e.value.length):'indirect'===e.type?(o=(d=n.indexOf('{{',d))+e.textReference.length+4,(u=v.relinkInBraces(e.textReference,i,r,a))&&(l.addChild(u,e.name,'indirect'),u.output&&t.add('{{'+u.output+'}}',d,o))):'filtered'===e.type?(o=(d=n.indexOf('{{{',d))+e.filter.length+6,void 0!==(u=b.relinkInBraces(e.filter,i,r,a))&&(l.addChild(u,e.name,'filtered'),u.output&&(s='{{{'+u.output+'}}}',t.add(s,d,o)))):'macro'===e.type&&(d=n.indexOf('<<',d),o=e.value.end,s=e.value,oldValue=e.value,void 0!==(a=O.relinkAttribute(s,n,i,r,a))&&(l.addChild(a,e.name,'macro'),a.output&&t.add(a.output,d,o)))}return o}(m,d,t,i,s,r)}if(this.parser.pos=n,s.hasChildren())return s.output=d.results(n),s};","module-type":"relinkwikitextrule","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/import.js":{"text":"var s=require('$:/plugins/flibbles/relink/js/settings.js').getType('filter');function u(t){this.filter=t}exports.name='import',u.prototype.name='import',u.prototype.eachChild=function(t){return t(this.filter)},u.prototype.report=function(){return this.filter.report().map(function(t){return 0<t.length?'\\\\import '+t:'\\\\import'})},exports.relink=function(t,r,e,i){var n=this.matchRegExp.lastIndex,o=this.parse()[0].attributes.filter.value,p=void 0,e=s.relink(o,r,e,i);return void 0!==e&&(p=new u(e),n=t.substring(n+o.length,this.parser.pos),e.output&&(o=e.output,p.output='\\\\import '+o+n)),i.settings.import(o),p};","module-type":"relinkwikitextrule","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/macrocall.js":{"text":"var d=require('./utils.js'),i=require('$:/plugins/flibbles/relink/js/utils/rebuilder'),e=(require('$:/plugins/flibbles/relink/js/settings.js'),require('$:/plugins/flibbles/relink/js/utils/entry'));function w(){}exports.name=['macrocallinline','macrocallblock'],w.prototype.impossible=!0,w.prototype.name='macroparam',w.prototype.report=function(){return[]};var b=e.newCollection('macrocall');function l(e,t,r,a,n,i){var u=i.settings.getMacro(e.name),s=!1;if(u&&!e.params.every(function(e){return!i.settings.survey(e.value,r,i)})){var o,l,p=$tw.utils.extend({},e),m=new b;for(o in m.parameters=Object.create(null),p.params=e.params.slice(),u){try{l=function(e,t,r,a){var n,i=!1;for(n=0;n<r.length;n++){var u=r[n].name;if(u===t)return n;void 0===u&&(i=!0)}if(!i)return-1;var s=x(e,t,a);if(0<=s){var o=0;for(n=0;n<r.length;n++)if(void 0===r[n].name){if(o===s)return n;o++}else x(e,r[n].name,a)<s&&o++}return-1}(e.name,o,e.params,i)}catch(e){if(e instanceof w){m.addChild(e);continue}}if(!(l<0)){var c=e.params[l],f=u[o],h=f.relink(c.value,r,a,i);if(void 0!==h&&(m.addChild(h,o,'string'),h.output)){var v=d.determineQuote(t,c),g=d.wrapParameterValue(h.output,v),c=$tw.utils.extend({},c);if(void 0===g){if(!n||!i.placeholder){h.impossible=!0;continue}f=i.placeholder.getPlaceholderFor(h.output,f.name,i);c.newValue='<<'+f+'>>',c.type='macro'}else c.start=c.end-(c.value.length+2*v.length),c.value=h.output,c.newValue=g;p.params[l]=c,s=!0}}}return m.hasChildren()?(m.macro=e.name,s&&(m.output=p),m):void 0}}function p(e,t){for(var r=new i(t,e.start),a=0;a<e.params.length;a++){var n=e.params[a];n.newValue&&r.add(n.newValue,n.start,n.end)}return r.results(e.end)}function x(e,t,r){e=r.settings.getMacroDefinition(e);if(void 0===e)throw new w;for(var a=e.params||[],n=0;n<a.length;n++)if(a[n].name===t)return n;return-1}b.prototype.forEachChildReport=function(e,t,r){t=0<e.length?t+': \"'+e+'\"':t;return'<<'+this.macro+' '+t+'>>'},exports.relink=function(e,t,r,a){var n=this.match[1],i=this.match[2],u=this.match[0];if(this.parser.pos=this.matchRegExp.lastIndex,a.settings.survey(u,t,a)){var s=this.matchRegExp.lastIndex-this.match[0].length;if(a.settings.getMacro(n)){var o=n.length+2,o=function(e,t){var r=[],a=/\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/gm,n=a.exec(e);for(;n;){var i={value:n[2]||n[3]||n[4]||n[5]||n[6]};n[1]&&(i.name=n[1]),i.end=a.lastIndex+t,r.push(i),n=a.exec(e)}return r}(i,(o=$tw.utils.skipWhiteSpace(u,o))+s),n={name:n,start:s,end:this.matchRegExp.lastIndex,params:o},s=!a.noWidgets,o=function(e,t,r){var a,n=Object.create(null),i=new Array(t.length),u=!1;for(a=0;a<t.length;a++){var s=t[a].name;s?(i[a]=s,n[s]=!0):u=!0}if(u){e=r.settings.getMacroDefinition(e);if(void 0===e)return;var o=e.params||[],l=0;for(a=0;a<t.length;a++)if(void 0===i[a]){for(;l<o.length&&n[o[l].name];)l++;if(o.length<=l)break;i[a]=o[l].name,n[o[l].name]=!0}}return i}(n.name,n.params,a);void 0===o&&(s=!1);s=l(n,e,t,r,s,a);return s&&s.output&&(s.output=function(e,t,r,a){{if(function(e){for(var t=0;t<e.params.length;t++)if('macro'===e.params[t].type)return!0;return!1}(e)){for(var n=[],i=0;i<e.params.length;i++){var u=e.params[i];u=u.newValue||d.wrapAttributeValue(u.value),n.push(' '+r[i]+'='+u)}return'<$macrocall $name='+d.wrapAttributeValue(e.name)+n.join('')+'/>'}return p(e,t)}}(s.output,e,o,a)),s}}},exports.relinkAttribute=function(e,t,r,a,n){a=l(e,t,r,a,!1,n);return a&&a.output&&(a.output=p(a.output,t)),a};","module-type":"relinkwikitextrule","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/macrodef.js":{"text":"var d=require('$:/plugins/flibbles/relink/js/settings');function c(t,e){this.macro=t,this.body=e}exports.name='macrodef',c.prototype.name='macrodef',c.prototype.eachChild=function(t){return t(this.body)},c.prototype.report=function(){var e='\\\\define '+this.macro+'()';return this.body.report?this.body.report().map(function(t){return e+' '+t}):[e]},exports.relink=function(t,e,r,s){var i,n,o=this.parse(),p=this.match;s.settings.addMacroDefinition(o[0]),this.parser.pos=this.matchRegExp.lastIndex,p[3]?(a=/\\r?\\n\\\\end[^\\S\\n\\r]*(?:\\r?\\n|$)/gm,n=''):(u=$tw.utils.skipWhiteSpace(t,this.parser.pos),a=/(?:\\r?\\n|$)/gm,n=t.substring(this.parser.pos,u),this.parser.pos=u),a.lastIndex=this.parser.pos;var a,h,u=a.exec(t);return u&&(a=t.substring(this.parser.pos,u.index),t=(t=/^relink-(?:(\\w+)-)?(\\d+)$/.exec(p[1]))&&''===p[2]?t[1]||'title':'wikitext',(t=d.getType(t))&&(h=t.relink(a,e,r,s)),void 0!==h&&(i=new c(p[1],h),h.output&&(i.output=p[0]+n+h.output+u[0])),this.parser.pos=u.index+u[0].length),i};","module-type":"relinkwikitextrule","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js":{"text":"var e,d=require('./utils.js');function l(){}function p(t,e){if(e.wiki.renderText('text/plain','text/vnd.tiddlywiki',t)===t&&t.indexOf('</$link>')<=0)return t;var i=d.wrapAttributeValue(t);return i?'<$text text='+i+'/>':e.placeholder?'<$text text=<<'+e.placeholder.getPlaceholderFor(t,'caption',e)+'>>/>':void 0}l.prototype.name='prettylink',l.prototype.report=function(){return['[['+(this.caption||this.link)+']]']},exports.name='prettylink',exports.relink=function(t,e,i,r){this.parser.pos=this.matchRegExp.lastIndex;var n,o=this.match;if(o[2]===e)n=o[1];else if(void 0!==o[2]||o[1]!==e)return;o=new l;return o.caption=n,o.link=e,o.output=this.makeLink(i,n,r),void 0===o.output&&(o.impossible=!0),o},exports.makeLink=function(t,e,i){var r,n,o,l,a;if(!i.noPrettylinks&&this.canBePretty(t,!!e))l=t,l=(a=e)?'[['+a+'|'+l+']]':'[['+l+']]';else if(i.noWidgets)l=void 0;else if(void 0===e)if(exports.shorthandSupported(i)){if(!(r=d.wrapAttributeValue(t))){if(!i.placeholder)return;r='<<'+i.placeholder.getPlaceholderFor(t,void 0,i)+'>>'}l='<$link to='+r+'/>'}else i.placeholder&&(l='<$link to=<<'+(n=i.placeholder.getPlaceholderFor(t,void 0,i))+'>>><$text text=<<'+n+'>>/></$link>');else(r=d.wrapAttributeValue(t))?void 0!==(o=p(e,i))&&(l='<$link to='+r+'>'+o+'</$link>'):i.placeholder&&(l='<$link to=<<'+(n=i.placeholder.getPlaceholderFor(t,void 0,i))+'>>>'+(o=p(e,i))+'</$link>');return l},exports.canBePretty=function(t,e){return t.indexOf(']]')<0&&']'!==t[t.length-1]&&(e||t.indexOf('|')<0)},exports.shorthandSupported=function(t){return void 0===e&&(t=t.wiki.renderText('text/plain','text/vnd.tiddlywiki','<$link to=test/>'),e='test'===t),e};","module-type":"relinkwikitextrule","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/relink.js":{"text":"var p=require('$:/plugins/flibbles/relink/js/settings.js'),l=require('$:/plugins/flibbles/relink/js/language.js');exports.name='relink',exports.types={pragma:!0},exports.init=function(e){this.parser=e,this.matchRegExp=/^\\\\relink[^\\S\\n]+([^(\\s]+)([^\\r\\n]*)(\\r?\\n)?/gm},exports.parse=function(){var i;this.parser.pos=this.matchRegExp.lastIndex;var e,s=Object.create(null),n=void 0,t=[],a=this;return this.interpretSettings(function(e,t,r){i=e,r&&!p.getType(r)&&(n=l.getString('Error/UnrecognizedType',{variables:{type:r},wiki:a.parser.wiki})),s[t]=r}),i&&((e=Object.create(null))[i]=s,t.push({type:'set',attributes:{name:{type:'string',value:''}},children:[],isMacroDefinition:!0,relink:e})),n&&t.push({type:'element',tag:'span',attributes:{class:{type:'string',value:'tc-error tc-relink-error'}},children:[{type:'text',text:n}]}),t},exports.relink=function(e,t,r,i){this.parser.pos=this.matchRegExp.lastIndex;this.interpretSettings(function(e,t,r){i.settings.addSetting(e,t,r,i.currentTiddler)})},exports.interpretSettings=function(e){var t=this.match[2];if(''!==t)for(var r=this.match[1],i=/\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*([^\\s]+))?/gm,s=i.exec(t);s;)e(r,s[1],s[2]),s=i.exec(t)};","module-type":"wikirule","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/rules.js":{"text":"exports.name='rules',exports.relink=function(){this.parse()};","module-type":"relinkwikitextrule","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/syslink.js":{"text":"require('./utils.js');var n=require('$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js');function r(){}exports.name='syslink',r.prototype.name='syslink',r.prototype.report=function(){return['~'+this.link]},exports.relink=function(t,i,e,n){var s=void 0;return this.parser.pos=this.matchRegExp.lastIndex,this.match[0]===i&&'~'!==this.match[0][0]&&((s=new r).link=i,s.output=this.makeSyslink(e,n),void 0===s.output&&(s.impossible=!0)),s},exports.makeSyslink=function(t,i){var e=t.match(this.matchRegExp);return e&&e[0]===t&&'~'!==t[0]?t:n.makeLink(t,void 0,i)};","module-type":"relinkwikitextrule","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/transclude.js":{"text":"var d=require('$:/plugins/flibbles/relink/js/fieldtypes/reference'),u=require('./utils.js');exports.name=['transcludeinline','transcludeblock'];function s(){}function o(e,t){e=$tw.utils.trim(e);var i=u.wrapAttributeValue(e);return void 0===i&&t.placeholder&&(i='<<'+t.placeholder.getPlaceholderFor(e,void 0,t)+'>>'),i}function a(e){return!e||e.indexOf('}')<0&&e.indexOf('{')<0&&e.indexOf('|')<0}function c(e,t,i){if(t){var r=u.wrapAttributeValue(t);if(void 0===r){if(!i.placeholder)return;r='<<'+i.placeholder.getPlaceholderFor(t,e,i)+'>>'}return' '+e+'='+r}return''}function p(e,t){return'string'!=typeof e&&(e=d.toString(e)),e=e||'',void 0!==t?'{{'+e+'||'+t+'}}':'{{'+e+'}}'}s.prototype.name='transclude',s.prototype.report=function(){var e,t=this.reference||{},i=[];return this.referenceChanged&&(e=t.index?'##'+t.index:t.field?'!!'+t.field:'',this.template&&(e=e+'||'+this.template),i.push('{{'+e+'}}')),this.templateChanged&&(t=d.toString(t),i.push('{{'+t+'||}}')),i},exports.relink=function(e,t,i,r){var n=this.match,l=$tw.utils.parseTextReference(n[1]),d=n[2],o=new s,a=!1;if(this.parser.pos=this.matchRegExp.lastIndex,$tw.utils.trim(l.title)===t&&(l.title=l.title.replace(t,i),a=!0,o.referenceChanged=!0),$tw.utils.trim(d)===t&&(d=d.replace(t,i),a=!0,o.templateChanged=!0),a){o.reference=l,o.template=d;r=this.makeTransclude(l,d,r);return r?(r+=u.getEndingNewline(n[0]),o.output=r):o.impossible=!0,o}},exports.makeTransclude=function(e,t,i){var r,n,l;return a(t)?(l=e.title,d.canBePretty(l)&&a(l)?r=p(e,t):i.noWidgets||void 0!==(n=o(e.title,i))&&(r='<$tiddler tiddler='+n+'>'+p({field:e.field,index:e.index},t)+'</$tiddler>')):i.noWidgets||void 0!==(t=o(t,i))&&(e.title?(n=o(e.title,i),i=function(e,t,i){i=[c('field',e,i),c('index',t,i)];return void 0!==i[0]&&void 0!==i[1]?i.join(''):void 0}(e.field,e.index,i),void 0!==n&&void 0!==i&&(r='<$tiddler tiddler='+n+'><$transclude tiddler='+t+i+'/></$tiddler>')):r='<$transclude tiddler='+t+'/>'),r};","module-type":"relinkwikitextrule","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/utils.js":{"text":"function f(n,r){r={'':function(n){return n},'\\'':function(n){return'\\''+n+'\\''},'\"':function(n){return'\"'+n+'\"'},'\"\"\"':function(n){return'\"\"\"'+n+'\"\"\"'},'[[':function(n){return'[['+n+']]'}}[r];if(r)return r(n)}exports.wrapAttributeValue=function(n,r){var t=['','\\'','\"','\"\"\"'],e={'':function(n){return!/([\\/\\s<>\"'=])/.test(n)},'\\'':function(n){return n.indexOf('\\'')<0},'\"':function(n){return n.indexOf('\"')<0},'\"\"\"':function(n){return n.indexOf('\"\"\"')<0&&'\"'!=n[n.length-1]}};if(e[r]&&e[r](n))return f(n,r);for(var u=0;u<t.length;u++){var i=t[u];if(e[i](n))return f(n,i)}},exports.wrapParameterValue=function(n,r){var t=['','\\'','\"','[[','\"\"\"'],e={'':function(n){return!/([\\s>\"'=])/.test(n)},'\\'':function(n){return n.indexOf('\\'')<0},'\"':function(n){return n.indexOf('\"')<0},'[[':exports.canBePrettyOperand,'\"\"\"':function(n){return n.indexOf('\"\"\"')<0&&'\"'!=n[n.length-1]}};if(e[r]&&e[r](n))return f(n,r);for(var u=0;u<t.length;u++){var i=t[u];if(e[i](n))return f(n,i)}},exports.canBePrettyOperand=function(n){return n.indexOf(']')<0},exports.determineQuote=function(n,r){var t=r.end-1;return'\\''===n[t]?'\\'':'\"'===n[t]?'\"\"\"'===n.substr(t-2,3)?'\"\"\"':'\"':']]'===n.substr(t-1,2)&&'[['===n.substr(t-r.value.length-3,2)?'[[':''},exports.getEndingNewline=function(n){var r=n.length;return'\\n'===n[r-1]?'\\r'===n[r-2]?'\\r\\n':'\\n':''};","module-type":"library","type":"application/javascript"},"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/wikilink.js":{"text":"require('./utils.js');var e=require('$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js');function k(){}exports.name='wikilink',k.prototype.name='wikilink',k.prototype.report=function(){return[$tw.config.textPrimitives.unWikiLink+this.link]},exports.relink=function(i,t,e,n){var r=void 0;return this.parser.pos=this.matchRegExp.lastIndex,this.match[0]===t&&this.match[0][0]!==$tw.config.textPrimitives.unWikiLink&&((r=new k).link=t,r.output=this.makeWikilink(e,n),void 0===r.output&&(r.impossible=!0)),r},exports.makeWikilink=function(i,t){return i.match(this.matchRegExp)&&i[0]!==$tw.config.textPrimitives.unWikiLink?i:e.makeLink(i,void 0,t)};","module-type":"relinkwikitextrule","type":"application/javascript"},"$:/plugins/flibbles/relink/js/surveyors/raw.js":{"text":"exports.survey=function(e,n,r){return 0<=e.indexOf(n)};","module-type":"relinksurveyor","type":"application/javascript"},"$:/plugins/flibbles/relink/js/utils/entry.js":{"text":"function r(){this.children=[]}function i(){this.children=Object.create(null),this.types=Object.create(null)}(module.exports=r).newType=function(t){function e(){r.apply(this,arguments)}return(e.prototype=Object.create(r.prototype)).name=t,e},r.prototype.eachChild=function(t){if(this.children)for(var e=0;e<this.children.length;e++)t(this.children[e])},r.prototype.add=function(t){this.children.push(t)},r.prototype.report=function(){var e=[];return $tw.utils.each(this.children,function(t){$tw.utils.each(t.report(),function(t){e.push(t)})}),e},r.newCollection=function(t){function e(){i.apply(this,arguments)}return(e.prototype=Object.create(i.prototype)).name=t,e},i.prototype.eachChild=function(t){for(var e in this.children)t(this.children[e])},i.prototype.addChild=function(t,e,r){this.children[e]=t,this.types[e]=r},i.prototype.report=function(){var t,e=[];for(t in this.children){var r=this.children[t],i=this.types[t];if(r.report)for(var n=r.report(),o=0;o<n.length;o++)e.push(this.forEachChildReport(n[o],t,i));else e.push(this.forEachChildReport('',t,i))}return e},i.prototype.hasChildren=function(){return 0<Object.keys(this.children).length};","module-type":"library","type":"application/javascript"},"$:/plugins/flibbles/relink/js/utils/macroConfig.js":{"text":"var n=require('$:/plugins/flibbles/relink/js/settings.js'),e=require('$:/core/modules/widgets/widget.js').widget;function i(t,e,i){this.macros=Object.create(null),this.parent=e,this.title=i,this.wiki=t,this.widgetList=[],this.reservedmacroNames=Object.create(null)}(module.exports=i).prototype.import=function(t){this.parent&&(e=this.getVariableWidget());var e=function(t,e,i){i=e.makeWidget({tree:[{type:'importvariables',attributes:{filter:{type:'string',value:t}}}]},{parentWidget:i});return i.execute(),i.renderChildren(),i.children[0]}(t,this.wiki,e);this._compileList(e.tiddlerList),this.widgetList.push(e),this.addWidget(e)},i.prototype.refresh=function(t){if(this.parent.refresh(t),this.widget.refresh(t)){this.macros=Object.create(null);for(var e=0;e<this.widgetList.length;e++)this._compileList(this.widgetList[e].tiddlerList);return!0}return!1},i.prototype.getType=function(t){return n.getType(t)},i.prototype.getFields=function(){return this.parent.getFields()},i.prototype.getOperators=function(){return this.parent.getOperators()},i.prototype.getAttributes=function(){return this.parent.getAttributes()},i.prototype.survey=function(t,e,i){return this.parent.survey(t,e,i)},i.prototype.getAttribute=function(t){return this.parent.getAttribute(t)},i.prototype.getMacros=function(){var t,e=this.parent.getMacros();for(t in this.macros){var i,r=this.macros[t];for(i in r)e[t+'/'+i]=r[i]}return e},i.prototype.getMacro=function(t){var e,i=this.macros[t];return this.parent&&(e=this.parent.getMacro(t)),i&&e?$tw.utils.extend(Object.create(null),i,e):i||e},i.prototype.addSetting=function(t,e,i,r){var s=this.macros[t];i=i||n.getDefaultType(this.wiki),void 0===s&&(s=this.macros[t]=Object.create(null));i=n.getType(i);i&&(i.source=r,r=this.wiki.getTiddler(r),i.fields=r.fields,s[e]=i)},i.prototype.createChildLibrary=function(t){return new i(this.wiki,this,t)},i.prototype.addWidget=function(t){for(this.widget=t;0<this.widget.children.length;)this.widget=this.widget.children[0]},i.prototype.getVariableWidget=function(){var t;return this.widget||(t=this.parent&&this.parent.widget,(t=new e({},{parentWidget:t})).setVariable('currentTiddler',this.title),t=new e({},{parentWidget:t}),this.addWidget(t)),this.widget},i.prototype.reserveMacroName=function(t){this.reservedmacroNames[t]={value:'',params:[]}},i.prototype.addMacroDefinition=function(t){t=this.getVariableWidget().makeChildWidget(t);t.computeAttributes(),t.execute(),this.addWidget(t)},i.prototype.getMacroDefinition=function(t){return this.getVariableWidget().variables[t]||$tw.macros[t]||this.reservedmacroNames[t]},i.prototype._compileList=function(t){for(var e=0;e<t.length;e++){var i=this.wiki.parseTiddler(t[e]);if(i)for(var r=i.tree[0];r&&'set'===r.type;){if(r.relink)for(var s in r.relink){var n=r.relink[s];for(paramName in n)this.addSetting(s,paramName,n[paramName],t[e])}r=r.children&&r.children[0]}}};","module-type":"library","type":"application/javascript"},"$:/plugins/flibbles/relink/js/utils/placeholder.js":{"text":"function e(){this.placeholders=Object.create(null),this.reverseMap=Object.create(null)}(module.exports=e).prototype.getPlaceholderFor=function(e,r,t){var i=this.reverseMap[e],o=t.settings||t.wiki.getRelinkConfig();if(i)return i;var n=0,l='relink-';for(r&&'title'!==r&&(l+=r+'-');i=l+(n+=1),o.getMacroDefinition(i););return o.reserveMacroName(i),this.placeholders[i]=e,this.reverseMap[e]=i},e.prototype.getPreamble=function(){var e,r=[];for(e in this.placeholders){var t=this.placeholders[e];r.push('\\\\define '+e+'() '+t+'\\n')}return r.join('')};","module-type":"library","type":"application/javascript"},"$:/plugins/flibbles/relink/js/utils/rebuilder.js":{"text":"function t(t,i){this.text=t,this.index=i||0,this.pieces=[]}(module.exports=t).prototype.add=function(t,i,e){this.pieces.push(this.text.substring(this.index,i),t),this.index=e},t.prototype.changed=function(){return 0<this.pieces.length},t.prototype.results=function(t){if(this.changed())return this.pieces.push(this.text.substring(this.index,t)),this.pieces.join('')};","module-type":"library","type":"application/javascript"},"$:/config/flibbles/relink/attributes/$button/set":{"text":"reference"},"$:/config/flibbles/relink/attributes/$button/setTo":{"text":"title"},"$:/config/flibbles/relink/attributes/$button/to":{"text":"title"},"$:/config/flibbles/relink/attributes/$checkbox/tiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$checkbox/tag":{"text":"title"},"$:/config/flibbles/relink/attributes/$count/filter":{"text":"filter"},"$:/config/flibbles/relink/attributes/$draggable/tiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$draggable/filter":{"text":"filter"},"$:/config/flibbles/relink/attributes/$edit-bitmap/tiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$edit-text/tiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$edit/tiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$encrypt/filter":{"text":"filter"},"$:/config/flibbles/relink/attributes/$fieldmangler/tiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$fields/tiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$image/source":{"text":"title"},"$:/config/flibbles/relink/attributes/$importvariables/filter":{"text":"filter"},"$:/config/flibbles/relink/attributes/$linkcatcher/to":{"text":"title"},"$:/config/flibbles/relink/attributes/$linkcatcher/set":{"text":"title"},"$:/config/flibbles/relink/attributes/$link/to":{"text":"title"},"$:/config/flibbles/relink/attributes/$list/filter":{"text":"filter"},"$:/config/flibbles/relink/attributes/$list/template":{"text":"title"},"$:/config/flibbles/relink/attributes/$list/editTemplate":{"text":"title"},"$:/config/flibbles/relink/attributes/$list/emptyMessage":{"text":"wikitext"},"$:/config/flibbles/relink/attributes/$list/history":{"text":"title"},"$:/config/flibbles/relink/attributes/$navigator/story":{"text":"title"},"$:/config/flibbles/relink/attributes/$navigator/history":{"text":"title"},"$:/config/flibbles/relink/attributes/$radio/tiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$range/tiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$reveal/stateTitle":{"text":"title"},"$:/config/flibbles/relink/attributes/$select/tiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$setvariable/tiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$setvariable/subtiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$setvariable/filter":{"text":"filter"},"$:/config/flibbles/relink/attributes/$set/tiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$set/subtiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$set/filter":{"text":"filter"},"$:/config/flibbles/relink/attributes/$tiddler/tiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$transclude/tiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$transclude/subtiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$view/tiddler":{"text":"title"},"$:/config/flibbles/relink/attributes/$view/subtiddler":{"text":"title"},"$:/plugins/flibbles/relink/configuration":{"text":"<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/flibbles/relink/Configuration]!has[draft.of]]\" \"$:/plugins/flibbles/relink/ui/configuration/Fields\">>\n</div>\n"},"$:/config/flibbles/relink/fields/caption":{"text":"wikitext"},"$:/config/flibbles/relink/fields/filter":{"text":"filter"},"$:/config/flibbles/relink/fields/list":{"text":"list"},"$:/config/flibbles/relink/fields/list-after":{"text":"title"},"$:/config/flibbles/relink/fields/list-before":{"text":"title"},"$:/config/flibbles/relink/fields/tags":{"text":"list"},"$:/plugins/flibbles/relink/language/PluginLibrary":{"text":"//Relink// Library"},"$:/plugins/flibbles/relink/language/PluginLibrary/Hint":{"text":"The //Relink// library contains //Relink// as well as its supplemental plugins. It is maintained by Flibbles. See the <a href={{$:/plugins/flibbles/relink!!source}}>github page</a> for more information."},"$:/plugins/flibbles/relink/language/Buttons/Delete/Hint":{"text":"delete"},"$:/plugins/flibbles/relink/language/Buttons/LinkToInline/Hint":{"text":"go to defining tiddler"},"$:/plugins/flibbles/relink/language/Buttons/NewAttribute/Hint":{"text":"Specify a new widget/element attribute to be updated whenever a tiddler is renamed"},"$:/plugins/flibbles/relink/language/Buttons/NewAttribute/Caption":{"text":"add"},"$:/plugins/flibbles/relink/language/Buttons/NewField/Hint":{"text":"Specify a new field to be updated whenever a tiddler is renamed"},"$:/plugins/flibbles/relink/language/Buttons/NewField/Caption":{"text":"add"},"$:/plugins/flibbles/relink/language/Buttons/NewOperator/Hint":{"text":"Specify a new filter operator to be considered whenever a tiddler is renamed"},"$:/plugins/flibbles/relink/language/Buttons/NewOperator/Caption":{"text":"add"},"$:/plugins/flibbles/relink/language/Buttons/NewParameter/Hint":{"text":"Specify a new macro parameter to be updated whenever a tiddler is renamed"},"$:/plugins/flibbles/relink/language/Buttons/NewParameter/Caption":{"text":"add"},"$:/plugins/flibbles/relink/language/Error/InvalidAttributeName":{"text":"Illegal characters in attribute name \"<$text text=<<attributeName>>/>\". Attributes cannot contain slashes ('/'), closing angle or square brackets ('>' or ']'), quotes or apostrophes ('\"' or \"'\"), equals ('='), or whitespace"},"$:/plugins/flibbles/relink/language/Error/InvalidElementName":{"text":"Illegal characters in element/widget name \"<$text text=<<elementName>>/>\". Element tags can only contain letters and the characters hyphen (`-`) and dollar sign (`$`)"},"$:/plugins/flibbles/relink/language/Error/InvalidMacroName":{"text":"Illegal characters in macro name \"<$text text=<<macroName>>/>\". Macros cannot contain whitespace"},"$:/plugins/flibbles/relink/language/Error/InvalidParameterName":{"text":"Illegal characters in parameter name \"<$text text=<<parameterName>>/>\". Parameters can only contain letters, digits, and the characters underscore (`_`) and hyphen (`-`)"},"$:/plugins/flibbles/relink/language/Error/RelinkFilterOperator":{"text":"Filter Error: Unknown suffix for the 'relink' filter operator"},"$:/plugins/flibbles/relink/language/Error/ReportFailedRelinks":{"text":"Relink could not update '<<from>>' to '<<to>>' inside the following tiddlers:"},"$:/plugins/flibbles/relink/language/Error/UnrecognizedType":{"text":"Relink parse error: Unrecognized field type '<<type>>'"},"$:/plugins/flibbles/relink/language/Help/Attributes":{"text":"See the <a href={{{[{$:/plugins/flibbles/relink!!demo}addsuffix[#Attributes]]}}}>Attributes documentation page</a> for details."},"$:/plugins/flibbles/relink/language/Help/Fields":{"text":"See the <a href={{{[{$:/plugins/flibbles/relink!!demo}addsuffix[#Fields]]}}}>Fields documentation page</a> for details."},"$:/plugins/flibbles/relink/language/Help/Macros":{"text":"See the <a href={{{[{$:/plugins/flibbles/relink!!demo}addsuffix[#Macros]]}}}>Macros documentation page</a> for details."},"$:/plugins/flibbles/relink/language/Help/Operators":{"text":"See the <a href={{{[{$:/plugins/flibbles/relink!!demo}addsuffix[#Operators]]}}}>Operators documentation page</a> for details."},"$:/plugins/flibbles/relink/language/TiddlerInfo/References/Empty":{"text":"No tiddlers contain any fields, links, macros, transclusions, or widgets referencing this one"},"$:/plugins/flibbles/relink/language/TiddlerInfo/References/Description":{"text":"The following tiddlers contain fields, links, macros, transclusions, or widgets referencing this one:"},"$:/plugins/flibbles/relink/language/TiddlerInfo/References/Caption":{"text":"//Relink// References"},"$:/plugins/flibbles/relink/language/ui/Attributes/Caption":{"text":"Attributes"},"$:/plugins/flibbles/relink/language/ui/Fields/Caption":{"text":"Fields"},"$:/plugins/flibbles/relink/language/ui/Macros/Caption":{"text":"Macros"},"$:/plugins/flibbles/relink/language/ui/Operators/Caption":{"text":"Operators"},"$:/plugins/flibbles/relink/license":{"type":"text/vnd.tiddlywiki","text":"<a href={{$:/plugins/flibbles/relink!!demo}}>Relink Plugin</a> Copyright (c) 2019-<<now YYYY>> Cameron Fischer\n\n[[BSD 3-Clause License|https://raw.githubusercontent.com/flibbles/tw5-relink/master/LICENSE]]\n"},"$:/config/flibbles/relink/macros/csvtiddlers/filter":{"text":"filter"},"$:/config/flibbles/relink/macros/datauri/title":{"text":"title"},"$:/config/flibbles/relink/macros/jsontiddler/title":{"text":"title"},"$:/config/flibbles/relink/macros/jsontiddlers/filter":{"text":"filter"},"$:/config/flibbles/relink/macros/list-links/filter":{"text":"filter"},"$:/config/flibbles/relink/macros/list-links-draggable/tiddler":{"text":"title"},"$:/config/flibbles/relink/macros/list-links-draggable/itemTemplate":{"text":"title"},"$:/config/flibbles/relink/macros/list-tagged-draggable/tag":{"text":"title"},"$:/config/flibbles/relink/macros/list-tagged-draggable/itemTemplate":{"text":"title"},"$:/config/flibbles/relink/macros/tabs/buttonTemplate":{"text":"title"},"$:/config/flibbles/relink/macros/tabs/default":{"text":"title"},"$:/config/flibbles/relink/macros/tabs/tabsList":{"text":"filter"},"$:/config/flibbles/relink/macros/tabs/template":{"text":"title"},"$:/config/flibbles/relink/macros/tag/tag":{"text":"title"},"$:/config/flibbles/relink/macros/tag-pill/tag":{"text":"title"},"$:/config/flibbles/relink/macros/timeline/subfilter":{"text":"filter"},"$:/config/flibbles/relink/macros/toc/tag":{"text":"title"},"$:/config/flibbles/relink/macros/toc/itemClassFilter":{"text":"filter"},"$:/config/flibbles/relink/macros/toc-expandable/tag":{"text":"title"},"$:/config/flibbles/relink/macros/toc-expandable/itemClassFilter":{"text":"filter"},"$:/config/flibbles/relink/macros/toc-expandable/exclude":{"text":"list"},"$:/config/flibbles/relink/macros/toc-selective-expandable/tag":{"text":"title"},"$:/config/flibbles/relink/macros/toc-selective-expandable/itemClassFilter":{"text":"filter"},"$:/config/flibbles/relink/macros/toc-selective-expandable/exclude":{"text":"list"},"$:/config/flibbles/relink/macros/toc-tabbed-external-nav/tag":{"text":"title"},"$:/config/flibbles/relink/macros/toc-tabbed-external-nav/selectedTiddler":{"text":"title"},"$:/config/flibbles/relink/macros/toc-tabbed-external-nav/unselectedText":{"text":"wikitext"},"$:/config/flibbles/relink/macros/toc-tabbed-external-nav/missingText":{"text":"wikitext"},"$:/config/flibbles/relink/macros/toc-tabbed-external-nav/template":{"text":"title"},"$:/config/flibbles/relink/macros/toc-tabbed-internal-nav/tag":{"text":"title"},"$:/config/flibbles/relink/macros/toc-tabbed-internal-nav/selectedTiddler":{"text":"title"},"$:/config/flibbles/relink/macros/toc-tabbed-internal-nav/unselectedText":{"text":"wikitext"},"$:/config/flibbles/relink/macros/toc-tabbed-internal-nav/missingText":{"text":"wikitext"},"$:/config/flibbles/relink/macros/toc-tabbed-internal-nav/template":{"text":"title"},"$:/config/flibbles/relink/operators/list":{"text":"reference"},"$:/config/flibbles/relink/operators/tag":{"text":"title"},"$:/config/flibbles/relink/operators/title":{"text":"title"},"$:/config/flibbles/relink/operators/field:title":{"text":"title"},"$:/language/EditTemplate/Title/Impossibles/Prompt":{"text":"''Warning:'' Not all references in the following tiddlers can be updated by //Relink// due to the complexity of the new title:"},"$:/language/EditTemplate/Title/References/Prompt":{"text":"The following tiddlers will be updated if relinking:"},"$:/language/EditTemplate/Title/Relink/Prompt":{"text":"Use //Relink// to update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' across all other tiddlers"},"$:/core/ui/EditTemplate/title":{"tags":"$:/tags/EditTemplate","text":"<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\" focus=\"true\" tabindex={{$:/config/EditTabIndex}}/>\n\n<$reveal state=\"!!draft.title\" type=\"nomatch\" text={{!!draft.of}} tag=\"div\">\n\n<$vars pattern=\"\"\"[\\|\\[\\]{}]\"\"\" bad-chars=\"\"\"`| [ ] { }`\"\"\">\n\n<$list filter=\"[all[current]regexp:draft.title<pattern>]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/BadCharacterWarning}}\n\n</div>\n\n</$list>\n\n</$vars>\n\n<$list filter=\"[{!!draft.title}!is[missing]]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}\n\n</div>\n\n</$list>\n\n<$list filter=\"[{!!draft.of}!is[missing]]\" variable=\"listItem\">\n\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\n\n<$checkbox tiddler=\"$:/config/RelinkOnRename\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}</$checkbox>\n\n<$list filter=\"[all[relinkable]relink:references<fromTitle>limit[1]]\" variable=\"listItem\">\n\n<$vars stateTiddler=<<qualify \"$:/state/edit/references\">> >\n\n<$tiddler tiddler=<<fromTitle>> >\n\n<$set\n\tname=\"prompt\"\n\tfilter=\"[all[relinkable]relink:impossible<toTitle>]\"\n\tvalue=\"EditTemplate/Title/Impossibles/Prompt\"\n\temptyValue=\"EditTemplate/Title/References/Prompt\" >\n<$reveal type=\"nomatch\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"show\" class=\"tc-btn-invisible\">{{$:/core/images/right-arrow}}\n<$macrocall $name=lingo title=<<prompt>> />\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"hide\" class=\"tc-btn-invisible\">{{$:/core/images/down-arrow}}\n<$macrocall $name=lingo title=<<prompt>> />\n</$button>\n</$reveal>\n</$set>\n\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$list variable=\"listItem\" filter=\"[all[relinkable]!title[$:/StoryList]relink:references<fromTitle>sort[title]]\" template=\"$:/plugins/flibbles/relink/ui/ListItemTemplate\">\n</$list>\n</$reveal>\n</$tiddler>\n\n</$vars>\n\n</$list>\n\n</$vars>\n\n</$list>\n\n</$reveal>\n"},"$:/config/flibbles/relink/PluginLibrary":{"caption":"{{$:/plugins/flibbles/relink/language/PluginLibrary}}","url":"https://flibbles.github.io/tw5-relink/library/index.html","tags":"$:/tags/PluginLibrary","text":"{{$:/plugins/flibbles/relink/language/PluginLibrary/Hint}}\n"},"$:/plugins/flibbles/relink/readme":{"type":"text/vnd.tiddlywiki","text":"When renaming a tiddler, Relink can update the fields, filters, and widgets\nof all other tiddlers. However, it works through whitelisting.\n\nIt's already configured to update tiddler titles for all core widgets, filters,\nand fields, but the whitelists can be customized for each of this in the\nconfiguration panel.\n\nSee <a href={{$:/plugins/flibbles/relink!!source}}>the tw5-relink website</a> for more details and examples.\n"},"$:/config/flibbles/relink/settings/default-type":{"text":"title"},"$:/plugins/flibbles/relink/ui/ListItemTemplate":{"text":"<$set\n\tname=\"classes\"\n\tfilter=\"[<listItem>relink:impossible<toTitle>]\"\n\tvalue=\"tc-menu-list-item tc-relink-impossible\"\n\temptyValue=\"tc-menu-list-item\">\n<div class=<<classes>>>\n<$link to=<<listItem>>><$text text=<<listItem>> /></$link>\n</div>\n</$set>\n"},"$:/plugins/flibbles/relink/ui/TiddlerInfo/References":{"caption":"{{$:/plugins/flibbles/relink/language/TiddlerInfo/References/Caption}}","tags":"$:/tags/TiddlerInfo","text":"\\define lingo-base() $:/plugins/flibbles/relink/language/TiddlerInfo/\n\\define filter() [relink:references<currentTiddler>!title[$:/StoryList]!prefix[$:/temp/]sort[title]]\n<$list filter=\"[subfilter<filter>first[]]\">\n\n<<lingo References/Description>>\n</$list>\n\n<table class=\"tc-relink-references-table\">\n<tbody>\n<$list filter=<<filter>> emptyMessage=<<lingo References/Empty>> variable=\"listItem\" template=\"$:/plugins/flibbles/relink/ui/TiddlerInfo/ReferencesTemplate\" />\n</tbody>\n</table>\n"},"$:/plugins/flibbles/relink/ui/TiddlerInfo/ReferencesTemplate":{"text":"<tr class=\"tc-relink-references\">\n<td class=\"tc-relink-references-title\">\n<$link to=<<listItem>>/>\n</td>\n<td class=\"tc-relink-references-report\">\n<$list filter=\"[<listItem>relink:report<currentTiddler>]\">\n\n<$text text=<<currentTiddler>> />\n</$list>\n\n</td>\n</tr>\n"},"$:/plugins/flibbles/relink/ui/components/button-delete":{"text":"\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define prefix() $:/config/flibbles/relink/\n\n<$list filter=\"[all[current]prefix<prefix>]\" >\n<$button class=\"tc-btn-invisible\" tooltip={{$:/plugins/flibbles/relink/language/Buttons/Delete/Hint}}><$list filter=\"[all[current]is[tiddler]]\">\n<$action-deletetiddler $tiddler=<<currentTiddler>> />\n</$list><$list filter=\"[all[current]is[shadow]]\">\n<$action-setfield $tiddler=<<tiddlerName>> text=\"\" />\n</$list>\n{{$:/core/images/delete-button}}\n</$button>\n</$list><$list filter=\"[all[current]!prefix<prefix>]\">\n<$link><$button class=\"tc-btn-invisible\" tooltip={{$:/plugins/flibbles/relink/language/Buttons/LinkToInline/Hint}}>{{$:/core/images/link}}</$button></$link>\n</$list>\n"},"$:/plugins/flibbles/relink/ui/components/select-fieldtype":{"text":"\\define prefix() $:/config/flibbles/relink/\n\n<$vars type={{{ [<signature>relink:type[]] }}} >\n<$list filter=\"[all[current]prefix<prefix>]\" >\n<$select tiddler=<<currentTiddler>> >\n<$list variable=\"option\" filter=\"[relink:types[]]\">\n<option><$text text=<<option>> /></option>\n</$list>\n</$select>\n</$list><$list filter=\"[all[current]!prefix<prefix>]\">\n<$text text=<<type>> />\n</$list>\n</$vars>\n"},"$:/plugins/flibbles/relink/ui/components/tables":{"text":"\\define .make-table(title, plugin, default-table-state:yes)\n\n<$list variable=\"render\" filter=\"[relink:signatures<__plugin__>prefix<__category__>first[]]\">\n<$set name=\"table-state\" value=<<qualify \"\"\"$:/state/flibbles/relink/tables/$title$\"\"\">>>\n<tr><th class=\"tc-relink-header-plugin\" colspan=<<column-count>> >\n<$reveal type=\"nomatch\" state=<<table-state>> text=\"yes\" default=\"\"\"$default-table-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<table-state>> setTo=\"yes\">\n{{$:/core/images/right-arrow}} ''$title$''\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<table-state>> text=\"yes\" default=\"\"\"$default-table-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<table-state>> setTo=\"no\">\n{{$:/core/images/down-arrow}} ''$title$''\n</$button>\n</$reveal>\n</th></tr>\n<$list\n\tvariable=\"signature\"\n\tfilter=\"[relink:signatures<__plugin__>prefix<__category__>sort[]]\">\n<$vars key={{{ [<signature>removeprefix<__category__>removeprefix[/]] }}} >\n<$tiddler tiddler={{{[<signature>relink:source[]]}}} >\n<$reveal tag=\"tr\" type=\"match\" state=<<table-state>> text=\"yes\" default=\"\"\"$default-table-state$\"\"\">\n<$macrocall $name=<<__list-row-macro__>> signature=<<signature>> />\n<td class=\"tc-relink-column-type\">{{||$:/plugins/flibbles/relink/ui/components/select-fieldtype}}</td>\n<td class=\"tc-relink-column-delete\">{{||$:/plugins/flibbles/relink/ui/components/button-delete}}</td>\n</$reveal>\n</$tiddler>\n</$vars>\n</$list>\n</$set>\n</$list>\n\\end\n\n\\define tables(category, list-row-macro, header-list)\n<$vars\n\tcolumn-count={{{[enlist<__header-list__>] [[DeleteColumn]] +[count[]]}}}>\n\n<table class=\"tc-relink-whitelist\"><tbody>\n<tr>\n<$list variable=\"header\" filter=\"[enlist<__header-list__>butlast[]]\"><th><<header>></th></$list>\n<!-- We have the last column extend into the delete/link column, which is unlabeled. -->\n<th colspan=2><$text text={{{ [enlist<__header-list__>last[]] }}} /></th>\n</tr>\n\n<<.make-table Custom \"\" yes>>\n\n<$list\n\tfilter=\"[plugin-type[plugin]![$:/core]![$:/plugins/flibbles/relink]]\">\n<$set name=\"subtitle\" value={{!!description}} emptyValue={{!!title}} >\n<$macrocall $name=\".make-table\" title=<<subtitle>> plugin=<<currentTiddler>> />\n</$set>\n</$list>\n\n<<.make-table Core \"$:/plugins/flibbles/relink\">>\n\n</tbody></table>\n</$vars>\n\\end\n"},"$:/plugins/flibbles/relink/ui/configuration/Attributes":{"caption":"{{$:/plugins/flibbles/relink/language/ui/Attributes/Caption}}","tags":"$:/tags/flibbles/relink/Configuration","text":"\\import $:/plugins/flibbles/relink/ui/components/tables\n\\define prefix-attr() $:/config/flibbles/relink/attributes/\n\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define element-name-tiddler() $:/state/flibbles/relink/element-name\n\\define attribute-name-tiddler() $:/state/flibbles/relink/attribute-name\n\n\\define row()\n<$set name=\"element\"\n filter=\"[<key>splitbefore[/]removesuffix[/]]\">\n<$set name=\"attribute\"\n filter=\"[<key>removeprefix<element>removeprefix[/]]\">\n<td><$text text=<<element>> /></td>\n<td><$text text=<<attribute>> /></td>\n</$set></$set>\n\\end\n\\define body()\n\n{{$:/plugins/flibbles/relink/language/Help/Attributes}}\n\n<em class=\"tc-edit\">Add a new attribute:</em>\n<$edit-text\n\ttiddler=<<element-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"widget/element\" />\n<$edit-text\n\ttiddler=<<attribute-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"attribute\" />\n<$reveal type=\"nomatch\" text=\"\" state=<<element-name-tiddler>> >\n<$reveal type=\"nomatch\" text=\"\" state=<<attribute-name-tiddler>> >\n<$relinkmangler>\n<$button\n\ttooltip={{$(lingo-base)$NewAttribute/Hint}}\n\taria-label={{$(lingo-base)$NewAttribute/Caption}}>\n<$action-sendmessage\n\t$message=\"relink-add-attribute\"\n\telement={{$(element-name-tiddler)$}}\n\tattribute={{$(attribute-name-tiddler)$}} />\n<$action-deletetiddler $tiddler=<<attribute-name-tiddler>> />\n<$action-deletetiddler $tiddler=<<element-name-tiddler>> />\n<$text text={{$(lingo-base)$NewAttribute/Caption}}/>\n</$button>\n</$relinkmangler>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<attribute-name-tiddler>> >\n<$button>\n<$text text={{$(lingo-base)$NewAttribute/Caption}}/>\n</$button>\n</$reveal>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<element-name-tiddler>> >\n<$button>\n<$text text={{$(lingo-base)$NewAttribute/Caption}}/>\n</$button>\n</$reveal>\n\n<$macrocall\n\t$name=tables\n\tcategory=\"attributes\"\n\theader-list=\"[[Widget/HTML Element]] Attribute Type\"\n\tlist-row-macro=\"row\" />\n\\end\n\n<<body>>\n"},"$:/plugins/flibbles/relink/ui/configuration/Fields":{"caption":"{{$:/plugins/flibbles/relink/language/ui/Fields/Caption}}","tags":"$:/tags/flibbles/relink/Configuration","text":"\\import $:/plugins/flibbles/relink/ui/components/tables\n\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define field-name-tiddler() $:/state/flibbles/relink/field-name\n\n\\define row()\n<td><$text text=<<key>> /></td>\n\\end\n\\define body()\n\n{{$:/plugins/flibbles/relink/language/Help/Fields}}\n\n<em class=\"tc-edit\">Add a new field:</em>\n<$edit-text\n\ttiddler=<<field-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"field name\" />\n<$reveal type=\"nomatch\" text=\"\" state=<<field-name-tiddler>> >\n<$relinkmangler>\n<$button\n\ttooltip={{$(lingo-base)$NewField/Hint}}\n\taria-label={{$(lingo-base)$NewField/Caption}}>\n<$action-sendmessage\n\t$message=\"relink-add-field\"\n\tfield={{$(field-name-tiddler)$}} />\n<$action-deletetiddler $tiddler=<<field-name-tiddler>> />\n<$text text={{$(lingo-base)$NewField/Caption}}/>\n</$button>\n</$relinkmangler>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<field-name-tiddler>> >\n<$button>\n<$text text={{$(lingo-base)$NewField/Caption}}/>\n</$button>\n</$reveal>\n\n\n<$macrocall\n\t$name=tables\n\tcategory=\"fields\"\n\theader-list=\"[[Field Name]] [[Field Type]]\"\n\tlist-row-macro=\"row\" />\n\\end\n\n<<body>>\n"},"$:/plugins/flibbles/relink/ui/configuration/Macros":{"caption":"{{$:/plugins/flibbles/relink/language/ui/Macros/Caption}}","tags":"$:/tags/flibbles/relink/Configuration","text":"\\import $:/plugins/flibbles/relink/ui/components/tables\n\\define prefix-macro() $:/config/flibbles/relink/macros/\n\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define macro-name-tiddler() $:/state/flibbles/relink/macro-name\n\\define parameter-name-tiddler() $:/state/flibbles/relink/parameter-name\n\n\\define row()\n<$set name=\"parameter\"\n filter=\"[<key>relink:splitafter[/]]\">\n<$set name=\"macro\"\n filter=\"[<key>removesuffix<parameter>removesuffix[/]]\">\n<td><$text text=<<macro>> /></td>\n<td><$text text=<<parameter>> /></td>\n</$set></$set>\n\\end\n\\define body()\n\n{{$:/plugins/flibbles/relink/language/Help/Macros}}\n\n<em class=\"tc-edit\">Add a new macro parameter:</em>\n<$edit-text\n\ttiddler=<<macro-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"macro\" />\n<$edit-text\n\ttiddler=<<parameter-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"parameter\" />\n<$reveal type=\"nomatch\" text=\"\" state=<<macro-name-tiddler>> >\n<$reveal type=\"nomatch\" text=\"\" state=<<parameter-name-tiddler>> >\n<$relinkmangler>\n<$button\n\ttooltip={{$(lingo-base)$NewParameter/Hint}}\n\taria-label={{$(lingo-base)$NewParameter/Caption}}>\n<$action-sendmessage\n\t$message=\"relink-add-parameter\"\n\tmacro={{$(macro-name-tiddler)$}}\n\tparameter={{$(parameter-name-tiddler)$}} />\n<$action-deletetiddler $tiddler=<<parameter-name-tiddler>> />\n<$action-deletetiddler $tiddler=<<macro-name-tiddler>> />\n<$text text={{$(lingo-base)$NewParameter/Caption}}/>\n</$button>\n</$relinkmangler>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<parameter-name-tiddler>> >\n<$button>\n<$text text={{$(lingo-base)$NewParameter/Caption}}/>\n</$button>\n</$reveal>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<macro-name-tiddler>> >\n<$button>\n<$text text={{$(lingo-base)$NewParameter/Caption}}/>\n</$button>\n</$reveal>\n\n\n<$macrocall\n\t$name=tables\n\tcategory=\"macros\"\n\theader-list=\"Macro Parameter Type\"\n\tlist-row-macro=\"row\" />\n\\end\n\n<<body>>\n"},"$:/plugins/flibbles/relink/ui/configuration/Operators":{"caption":"{{$:/plugins/flibbles/relink/language/ui/Operators/Caption}}","tags":"$:/tags/flibbles/relink/Configuration","text":"\\import $:/plugins/flibbles/relink/ui/components/tables\n\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define operator-name-tiddler() $:/state/flibbles/relink/operator-name\n\n\\define row()\n<td><$text text=<<key>> /></td>\n\\end\n\\define body()\n\n{{$:/plugins/flibbles/relink/language/Help/Operators}}\n\n<em class=\"tc-edit\">Add a new filter operator:</em>\n<$edit-text\n\ttiddler=<<operator-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"operator name\" />\n<$reveal type=\"nomatch\" text=\"\" state=<<operator-name-tiddler>>>\n<$relinkmangler>\n<$button\n\ttooltip={{$(lingo-base)$NewOperator/Hint}}\n\taria-label={{$(lingo-base)$NewOperator/Caption}}>\n<$action-sendmessage\n\t$message=\"relink-add-operator\"\n\toperator={{$(operator-name-tiddler)$}} />\n<$action-deletetiddler $tiddler=<<operator-name-tiddler>> />\n<$text text={{$(lingo-base)$NewOperator/Caption}}/>\n</$button>\n</$relinkmangler>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<operator-name-tiddler>>>\n<$button>\n<$text text={{$(lingo-base)$NewOperator/Caption}}/>\n</$button>\n</$reveal>\n\n<$macrocall\n\t$name=tables\n\tcategory=\"operators\"\n\theader-list=\"[[Filter Operator]] [[Operand Type]]\"\n\tlist-row-macro=\"row\" />\n\\end\n\n<<body>>\n"},"$:/plugins/flibbles/relink/ui/stylesheet.css":{"text":".tc-relink-references {\n}\n\n.tc-relink-references-table {\n\twidth: 100%;\n\tborder: none;\n}\n\n.tc-relink-references-table td {\n\tborder-left: none;\n}\n\n.tc-relink-references-table tr:first-child td {\n\tborder-top: none;\n}\n\n.tc-relink-references-title {\n\ttext-align: left;\n\tvertical-align: top;\n}\n\n.tc-relink-references-occurrence {\n\tfont-style: italic;\n\ttext-align: left;\n\tfont-weight: 200;\n\tpadding-left: 25px;\n\tvertical-align: top;\n}\n\n.tc-relink-header-plugin {\n\ttext-align: left;\n}\n\n.tc-relink-header-plugin button {\n\twidth: 100%\n}\n\n.tc-relink-column-type {\n\twidth: 8em;\n}\n\n.tc-relink-column-type select {\n\twidth: 100%;\n}\n\n.tc-relink-column-delete {\n\tborder-left: none;\n\ttext-align: left;\n}\n\n.tc-relink-column-delete button {\n\tpadding-left: 1em;\n}\n\n.tc-relink-impossible a.tc-tiddlylink {\n\tcolor: red;\n}\n","tags":"$:/tags/Stylesheet","type":"text/css"}}}
{"tiddlers":{"$:/config/flibbles/relink-titles/custom":{"text":""},"$:/plugins/flibbles/relink-titles/configuration":{"caption":"{{$:/plugins/flibbles/relink-titles/language/Caption}}","tags":"$:/tags/flibbles/relink/Configuration","text":"\\define lingo-base() $:/plugins/flibbles/relink-titles/language/\n\\define customTiddler() $:/config/flibbles/relink-titles/custom\n\n<<lingo Help>>\n\n<table>\n<tbody>\n<$list filter=\"[[$:/tags/flibbles/relink-titles/Filter]tagging[]]\">\n<tr>\n<td>\n<$checkbox\n\ttiddler={{{ [all[current]addprefix[$:/config/flibbles/relink-titles/disabled/]] }}}\n\tfield=\"text\"\n\tchecked=\"enabled\"\n\tunchecked=\"disabled\"\n\tdefault=\"enabled\"\n> ''{{!!caption}}''</$checkbox></td><td>\n\n<$transclude />\n\n</td></tr></$list>\n</tbody></table>\n\n!!! <<lingo Custom/Caption>>\n\n<<lingo Hint>>\n<$edit tag=\"textarea\" tiddler=<<customTiddler>> class=\"tc-edit-texteditor\"/>\n\n<!-- We want to sanity check the custom tiddler, but we can only do it on\n Tiddlywiki versions that support \"subfilter\". So first two filter steps\n confirm that subfilter isn't just a field:subfilter[] operator. -->\n<$vars\n\tfromTiddler=\"testTiddler\"\n\ttoTiddler=\"testTiddler\">\n<$list\n\tvariable=\"erroneousTiddler\"\n\tfilter=\"[subfilter<customTiddler>field:title<customTiddler>subfilter{$:/config/flibbles/relink-titles/custom}]\" >\n\n{{$:/core/images/warning}} <<lingo Warning>>\n</$list></$vars>\n"},"$:/plugins/flibbles/relink-titles/configuration/filters/directory":{"caption":"{{$:/plugins/flibbles/relink-titles/language/Directory/Caption}}","filter":"[removeprefix<fromTiddler>prefix[/]addprefix<toTiddler>]","tags":"$:/tags/flibbles/relink-titles/Filter","text":"{{$:/plugins/flibbles/relink-titles/language/Directory/Description}}\n"},"$:/plugins/flibbles/relink-titles/language/Caption":{"text":"Titles"},"$:/plugins/flibbles/relink-titles/language/Custom/Caption":{"text":"Custom"},"$:/plugins/flibbles/relink-titles/language/Directory/Caption":{"text":"Rename subdirectories"},"$:/plugins/flibbles/relink-titles/language/Directory/Description":{"text":"For wikis set up hierarchically using `/`, like a filesystem. This option will update all tiddlers nested inside the target tiddler. i.e. `fromTiddler/path/file` becomes `toTiddler/path/file`."},"$:/plugins/flibbles/relink-titles/language/Prefix/Caption":{"text":"prefix for $:/prefix"},"$:/plugins/flibbles/relink-titles/language/Help":{"text":"See the <a href={{{ [{$:/plugins/flibbles/relink-titles!!demo}addsuffix[#Plugins/Titles]] }}}>//Relink-titles// documentation page</a> for details."},"$:/plugins/flibbles/relink-titles/language/Hint":{"text":"The variables `fromTiddler` and `toTiddler` are defined as what the triggering relinked tiddler was and will be called."},"$:/plugins/flibbles/relink-titles/language/Warning":{"text":"''Warning:'' This filter appears unsafe. It seems to indiscriminately change tiddlers into ''<$text text=<<erroneousTiddler>> />'', and it will probably be thrown out."},"$:/plugins/flibbles/relink-titles/readme":{"text":"Highly customizable relinking of tiddler titles //related// to the renamed tiddler.\n\n* Rename a hierarchy of subtiddlers when renaming a root tiddler.\n* Make custom filter rules to rename other tiddlers the way you want when Relinking.\n* Integrates with other plugins for plugin-specific rules.\n\nSee <a href={{$:/plugins/flibbles/relink-titles!!source}}>the tw5-relink website</a> for more details and examples.\n\n{{$:/core/images/warning}} ''Warning:'' You must use //Relink// v1.10.2 or greater with this, or this plugin may delete some tiddler bodies while trying to relink titles.\n"},"$:/plugins/flibbles/relink-titles/relinkoperations/title.js":{"text":"'use strict';var c='$:/config/flibbles/relink-titles/custom',o='$:/tags/flibbles/relink-titles/Filter',k='$:/config/flibbles/relink-titles/disabled/',g=require('$:/plugins/flibbles/relink/js/utils/entry').newType('title');g.prototype.report=function(){return['title: '+this.title]},exports.title=function(e,i,t,l,r){var n=function(e,i,t){t.__titlesCache||(i=function(e,i,t){var l=t.wiki.makeWidget();return l.setVariable('fromTiddler',e),l.setVariable('toTiddler',i),t.wiki.makeWidget(null,{parentWidget:l})}(e,i,t),t.__titlesCache={widget:i,filters:function(e,i){var t=[];$tw.utils.each(i.wiki.getTiddlersWithTag(o),function(e){e=function(i,t){var e=t.wiki.getTiddler(k+i);if(e&&'disabled'===e.fields.text)return null;return t.wiki.getCacheForTiddler(i,'relinkFilter',function(){var e=t.wiki.getTiddler(i);return e&&e.fields.filter?t.wiki.compileFilter(e.fields.filter):null})}(e,i);e&&t.push(e)});e=function(i,t){return t.wiki.getCacheForTiddler(c,'relinkFilter',function(){var e=t.wiki.getTiddler(c);if(e&&e.fields.text){e=t.wiki.compileFilter(e.fields.text);if(0==e.call(t.wiki,[c],i).length)return e}return null})}(e,i);e&&t.push(e);return t}(i,t),touched:Object.create(null)});return t.__titlesCache}(i,t,r);if(!n.touched[e.fields.title])for(var d=n.filters,s=n.widget,u=0;u<d.length;u++){var f=d[u].call(r.wiki,[e.fields.title],s)[0];if(f&&(f!==e.fields.title||i===t)){var a=new g;a.title=e.fields.title,i!==t&&(r.wiki.getTiddler(f)||n.touched[f])?a.impossible=!0:a.output=f,l.title=a,n.touched[e.fields.title]=!0,n.touched[f]=!0;break}}};","module-type":"relinkoperator","type":"application/javascript"}}}
{"tiddlers":{"$:/config/ShortcutInfo/insert-command-palette-result":{"created":"20200604175511112","modified":"20200604175520378","tags":"","type":"text/vnd.tiddlywiki","text":"Insert the current result in the previously focused element"},"$:/config/ShortcutInfo/open-command-palette-command-mode":{"created":"20200604175511112","modified":"20200604175520378","tags":"","type":"text/vnd.tiddlywiki","text":"Open the command palette in command mode"},"$:/config/ShortcutInfo/open-command-palette-selection":{"created":"20200604175511112","modified":"20200604175520378","tags":"","type":"text/vnd.tiddlywiki","text":"Open the command palette with current selection"},"$:/config/ShortcutInfo/open-command-palette":{"created":"20200531223953066","modified":"20200531224011568","tags":"","type":"text/vnd.tiddlywiki","text":"Open the command palette"},"$:/config/shortcuts/insert-command-palette-result":{"created":"20200604175539239","modified":"20200604175658624","type":"text/vnd.tiddlywiki","text":"ctrl+shift+I"},"$:/config/shortcuts/open-command-palette-command-mode":{"created":"20200604175539239","modified":"20200604175658624","type":"text/vnd.tiddlywiki","text":"ctrl-shift-P"},"$:/config/shortcuts/open-command-palette-selection":{"created":"20200604175539239","modified":"20200604175658624","type":"text/vnd.tiddlywiki","text":""},"$:/config/shortcuts/open-command-palette":{"created":"20200531223906490","modified":"20200604175559200","tags":"","type":"text/vnd.tiddlywiki","text":"ctrl-P"},"$:/plugins/souk21/commandpalette/Browser Refresh":{"command-palette-name":"Browser Refresh","command-palette-type":"message","created":"20200604212446283","modified":"20200604212453363","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-browser-refresh\n"},"$:/plugins/souk21/commandpalette/Cancel Tiddler":{"command-palette-mode":"drafts","command-palette-name":"Cancel Tiddler","command-palette-type":"history","command-palette-hint":"Choose Draft to cancel","created":"20200605221333412","modified":"20200605221425246","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-cancel-tiddler\n"},"$:/plugins/souk21/commandpalette/Clone Tiddler":{"command-palette-name":"Clone Tiddler","command-palette-type":"history","command-palette-hint":"Chose tiddler to clone","created":"20200605211432310","modified":"20200605211434831","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-new-tiddler\n"},"$:/plugins/souk21/commandpalette/Close All Tiddlers":{"command-palette-name":"Close All Tiddlers","command-palette-type":"message","created":"20200604001529132","modified":"20200610112248371","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-close-all-tiddlers\n"},"$:/plugins/souk21/commandpalette/Close Tiddler":{"command-palette-name":"Close Tiddler","command-palette-type":"history","command-palette-hint":"Choose tiddler to close","created":"20200605211324321","modified":"20200605211327367","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-close-tiddler\n"},"$:/plugins/souk21/commandpalette/Close other Tiddlers":{"command-palette-name":"Close other Tiddlers","command-palette-type":"history","command-palette-hint":"Choose tiddler to keep","created":"20200605211357951","modified":"20200605211404900","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-close-other-tiddlers\n"},"$:/plugins/souk21/commandpalette/Command Palette Settings":{"command-palette-name":"Command Palette Settings","command-palette-type":"prompt","created":"20200604001529132","modified":"20200610112433842","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"|\n"},"$:/core/ui/KeyboardShortcuts/CommandPalette":{"created":"20200531223354098","key":"((open-command-palette))","modified":"20200604175332730","tags":"$:/tags/KeyboardShortcut","type":"text/vnd.tiddlywiki","text":"<$action-sendmessage $message=\"open-command-palette\"/>"},"$:/plugins/souk21/commandpalette/CommandPaletteCommandMode":{"created":"20200604175339522","key":"((open-command-palette-command-mode))","modified":"20200604175716862","tags":"$:/tags/KeyboardShortcut","type":"text/vnd.tiddlywiki","text":"<$action-sendmessage $message=\"open-command-palette\" $param=\">\"/>"},"$:/plugins/souk21/commandpalette/CommandPaletteHistory":{"text":"{\n \"history\": [\n \"Explorer\",\n \"Clone Tiddler\",\n \"See Drafts\",\n \"Refresh Server\",\n \"Permaview\",\n \"See Themes\",\n \"Refresh Command Palette\",\n \"See Shadows Tiddlers\",\n \"See Orphans Tiddlers\",\n \"Remove tag\",\n \"Add tag to tiddler\",\n \"Delete Tiddler\",\n \"Close Tiddler\",\n \"Recent Tiddlers\",\n \"New Task with Title\",\n \"Edit Tiddler\",\n \"See Mising Tiddlers\",\n \"Show CommandTiddlers\",\n \"See untagged Tiddlers\",\n \"See Languages\",\n \"See Plugins\",\n \"New Command Wizard\",\n \"Cancel Tiddler\",\n \"Save Tiddler\",\n \"Close other Tiddlers\",\n \"Permalink\",\n \"Create Command\",\n \"Unfold All Tiddlers\",\n \"Fold All Tiddlers\",\n \"Print\",\n \"Close All Tiddlers\",\n \"Save Wiki\",\n \"Home\",\n \"Toggle Fullscreen\",\n \"New Tiddler\"\n ]\n}","type":"application/json","created":"20200603153247010","modified":"20200610112340290"},"$:/plugins/souk21/commandpalette/CommandPaletteSearchSteps":{"text":"{\n \"steps\": [\n {\"filter\": \"[!is[system]search:title[]]\", \"hint\": \"in title\", \"caret\": \"25\"},\n {\"filter\": \"[all[system+shadows]search:title[]]\", \"hint\": \"in title (system)\", \"caret\": \"33\"},\n {\"filter\": \"[search[]]\", \"hint\": \"all\", \"caret\": \"8\"},\n {\"filter\": \"[all[shadows]search[]]\", \"hint\": \"shadows\", \"caret\": \"20\"}\n ]\n}","type":"application/json","created":"20200604123820982","modified":"20200610112355489"},"$:/plugins/souk21/commandpalette/CommandPaletteSelection":{"created":"20200604175339522","key":"((open-command-palette-selection))","modified":"20200604175716862","tags":"$:/tags/KeyboardShortcut","type":"text/vnd.tiddlywiki","text":"<$action-sendmessage $message=\"open-command-palette-selection\"/>"},"$:/plugins/souk21/commandpalette/CommandPaletteSettings":{"text":"{\n \"maxResults\": \"30\",\n \"maxResultHintSize\": 45,\n \"neverBasic\": \"false\",\n \"smoothScroll\": \"false\"\n}","type":"application/json","created":"20200604160432063","modified":"20200610112626066"},"$:/plugins/souk21/commandpalette/Compact.css":{"created":"20200603190000307","modified":"20200623022617588","tags":"$:/tags/CommandPaletteTheme $:/tags/Stylesheet","type":"text/vnd.tiddlywiki","text":"\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n:root {\n --palette-radius: 5px;\n}\n.commandpalette {\n position: fixed;\n background: <<colour background>>;\n z-index: 9999999;\n left: 50%;\n top: 10%;\n transform: translate(-50%, 0%);\n width: 500px;\n display: none;\n flex-direction: column;\n font-size: 21px;\n border-radius: var(--palette-radius);\n box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 14px;\n border: 2px solid <<colour page-background>>;\n}\n.inputhintwrapper {\n display: flex;\n align-items: center;\n border-bottom: 1px solid <<colour page-background>>;\n}\n.commandpalette input {\n border: 0;\n background: 0;\n height: 40px;\n color: <<colour foreground>>;\n border-radius: var(--palette-radius) var(--palette-radius) 0px 0px;\n outline: 0;\n min-width: 50px;\n flex: 1;\n padding-left: 7px;\n}\n.commandpalettehint {\n color: <<colour foreground>>;\n font-size: 13px;\n text-align: right;\n flex-shrink: 0;\n padding-right: 7px;\n opacity: 0.6;\n}\n.commandpaletteresultselected>.commandpalettehint {\n color: <<colour background>>;\n opacity: 1;\n}\n.commandpalettehintmain {\n\n}\n.commandpaletteresult {\n background: <<colour background>>;\n font-size: 15px;\n color: <<colour foreground>>;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-left: 6px;\n padding-top: 4px;\n padding-bottom: 4px;\n cursor: pointer;\n}\n.commandpaletteresult:not(:last-child) {\n border-bottom: <<colour page-background>> solid 1px;\n}\n.commandpaletteresult:hover:not(.commandpaletteresultselected) {\n background: <<colour page-background>>;\n}\n.commandpaletteresultselected {\n background: <<colour primary>>;\n color: <<colour page-background>>;\n}\n.cp-scroll{\n max-height: 50vh;\n overflow-y: auto;\n position: relative;\n border-radius: 0px 0px var(--palette-radius) var(--palette-radius);\n}"},"$:/plugins/souk21/commandpalette/ControlPanel Command":{"command-palette-name":"Show Control Panel","command-palette-type":"actionString","created":"20200604143925638","modified":"20200610112527794","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"<$action-navigate $to=\"$:/ControlPanel\"/>"},"$:/plugins/souk21/commandpalette/Delete Tiddler":{"command-palette-name":"Delete Tiddler","command-palette-type":"history","command-palette-hint":"Choose tiddler to delete","created":"20200605211241408","modified":"20200605211244812","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-delete-tiddler\n"},"$:/plugins/souk21/commandpalette/Edit Tiddler":{"command-palette-name":"Edit Tiddler","command-palette-type":"history","command-palette-hint":"Choose tiddler to edit","created":"20200605211111710","modified":"20200605211127693","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-edit-tiddler\n"},"$:/plugins/souk21/commandpalette/Filter operation":{"command-palette-name":"Filter operation","command-palette-type":"prompt","created":"20200604001529132","modified":"20200610112604366","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"[\n"},"$:/plugins/souk21/commandpalette/Fold All Tiddlers":{"command-palette-name":"Fold All Tiddlers","command-palette-type":"message","created":"20200604212356931","modified":"20200604212403497","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-fold-all-tiddlers\n"},"$:/plugins/souk21/commandpalette/Home":{"command-palette-name":"Home","command-palette-type":"message","created":"20200604212243502","modified":"20200604212247135","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-home\n"},"$:/plugins/souk21/commandpalette/InsertCommandPaletteResult":{"created":"20200604175339522","key":"((insert-command-palette-result))","modified":"20200604175716862","tags":"$:/tags/KeyboardShortcut","type":"text/vnd.tiddlywiki","text":"<$action-sendmessage $message=\"insert-command-palette-result\"/>"},"$:/plugins/souk21/commandpalette/New Journal Command":{"command-palette-name":"New Journal","command-palette-type":"actionString","created":"20200604143925638","modified":"20200610112527794","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"{{$:/core/ui/Actions/new-journal}}\n"},"$:/plugins/souk21/commandpalette/New Tiddler with title":{"command-palette-name":"New Tiddler with title","command-palette-type":"prompt","created":"20200604000707983","modified":"20200610112449264","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"+\n"},"$:/plugins/souk21/commandpalette/New Tiddler":{"command-palette-name":"New Tiddler","command-palette-type":"message","created":"20200604211924196","modified":"20200604212110424","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-new-tiddler\n"},"$:/plugins/souk21/commandpalette/Original.css":{"created":"20200603190000307","modified":"20200623022617588","tags":"$:/tags/CommandPaletteTheme","type":"text/vnd.tiddlywiki","text":"\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n:root {\n --palette-radius: 5px;\n}\n.commandpalette {\n position: fixed;\n background:<<colour page-background>>;\n z-index: 9999999;\n left: 50%;\n top: 10%;\n transform: translate(-50%, 0%);\n width: 500px;\n display: none;\n flex-direction: column;\n font-size: 21px;\n border-radius: var(--palette-radius);\n box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 14px;\n border: 4px solid rgba(0, 0, 0, 0);\n}\n.commandpalette input {\n border: 0;\n height: 40px;\n color: <<colour foreground>>;\n border-radius: var(--palette-radius) var(--palette-radius) 0px 0px;\n padding-left: 11px;\n padding-right: 11px;\n width: 100%;\n outline: 0;\n}\n.commandpalettehint {\n color: <<colour foreground>>;\n font-size: 13px;\n text-align: right;\n flex-shrink: 0;\n padding-right: 7px;\n opacity: 0.6;\n}\n.commandpaletteresultselected>.commandpalettehint {\n color: <<colour background>>;\n opacity: 1;\n}\n.commandpalettehintmain {\n}\n.commandpaletteresult {\n background: <<colour background>>;\n font-size: 15px;\n color: <<colour foreground>>;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-left: 6px;\n padding-top: 4px;\n padding-bottom: 4px;\n cursor: pointer;\n}\n.commandpaletteresult:not(:last-child) {\n border-bottom: <<colour page-background>> solid 1px;\n}\n.commandpaletteresult:hover:not(.commandpaletteresultselected) {\n background: <<colour page-background>>;\n}\n.commandpaletteresultselected {\n background: <<colour primary>>;\n color: <<colour page-background>>;\n}\n.cp-scroll{\n max-height: 50vh;\n overflow-y: auto;\n position: relative;\n border-radius: 0px 0px var(--palette-radius) var(--palette-radius);\n}"},"$:/plugins/souk21/commandpalette/Permalink":{"command-palette-name":"Permalink","command-palette-type":"history","command-palette-hint":"Choose tiddler to permaling","created":"20200605211220042","modified":"20200605211221257","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-permalink\n"},"$:/plugins/souk21/commandpalette/Permaview":{"command-palette-name":"Permaview","command-palette-type":"message","created":"20200604212411320","modified":"20200604212415435","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-permaview\n"},"$:/plugins/souk21/commandpalette/Print":{"command-palette-name":"Print","command-palette-type":"message","created":"20200604212424040","modified":"20200604212427027","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-print\n"},"$:/plugins/souk21/commandpalette/Recent Tiddlers Command":{"command-palette-caret":"33","command-palette-name":"Recent Tiddlers","command-palette-type":"prompt-basic","command-palette-hint":"Recent","created":"20200604001529132","modified":"20200610112702585","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"[!is[system]!sort[created]search[]]\n"},"$:/plugins/souk21/commandpalette/Refresh Server":{"command-palette-name":"Refresh Server","command-palette-type":"message","created":"20200604212332329","modified":"20200604212339404","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-server-refresh\n"},"$:/plugins/souk21/commandpalette/Save Tiddler":{"command-palette-mode":"drafts","command-palette-name":"Save Tiddler","command-palette-type":"history","command-palette-hint":"Choose Draft to save","created":"20200605221150599","modified":"20200605221400754","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-save-tiddler\n"},"$:/plugins/souk21/commandpalette/Save Wiki":{"command-palette-name":"Save Wiki","command-palette-type":"message","created":"20200604212312470","modified":"20200604212316943","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-save-wiki\n"},"$:/plugins/souk21/commandpalette/Search Tags":{"command-palette-name":"Search Tags","command-palette-type":"prompt","created":"20200604001529132","modified":"20200610112728489","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"#\n"},"$:/plugins/souk21/commandpalette/Search fields":{"command-palette-caret":"16","command-palette-name":"Search fields","command-palette-type":"prompt-basic","created":"20200604023259497","modified":"20200610112923528","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"[fields[]search[]]\n"},"$:/plugins/souk21/commandpalette/Search tiddlers with tag":{"command-palette-name":"Search tiddlers with tag","command-palette-type":"prompt","created":"20200604001529132","modified":"20200610112742356","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"@\n"},"$:/plugins/souk21/commandpalette/Search":{"command-palette-name":"Search","command-palette-type":"prompt","created":"20200604001529132","modified":"20200610112649578","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki"},"$:/plugins/souk21/commandpalette/See Drafts":{"command-palette-caret":"27","command-palette-name":"See Drafts","command-palette-type":"prompt-basic","created":"20200604001529132","modified":"20200610112802828","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"[has:field[draft.of]search[]]\n"},"$:/plugins/souk21/commandpalette/See Languages":{"command-palette-caret":"43","command-palette-name":"See Languages","command-palette-type":"prompt-basic","created":"20200606102156692","modified":"20200606102215081","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"[!has[draft.of]plugin-type[language]search[]]\n"},"$:/plugins/souk21/commandpalette/See Missing Tiddlers":{"command-palette-caret":"20","command-palette-name":"See Mising Tiddlers","command-palette-type":"prompt-basic","created":"20200604203347766","modified":"20200610112812369","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"[all[missing]search[]]\n"},"$:/plugins/souk21/commandpalette/See Orphans Tiddlers":{"command-palette-caret":"20","command-palette-name":"See Orphans Tiddlers","command-palette-type":"prompt-basic","created":"20200604203457770","modified":"20200610112820353","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"[all[orphans]search[]]\n"},"$:/plugins/souk21/commandpalette/See Plugins":{"command-palette-caret":"41","command-palette-name":"See Plugins","command-palette-type":"prompt-basic","created":"20200606101904501","modified":"20200606101924380","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"[!has[draft.of]plugin-type[plugin]search[]]\n"},"$:/plugins/souk21/commandpalette/See Shadows Tiddlers":{"command-palette-caret":"20","command-palette-name":"See Shadows Tiddlers","command-palette-type":"prompt-basic","created":"20200604203634770","modified":"20200610112829887","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"[all[shadows]search[]]\n"},"$:/plugins/souk21/commandpalette/See Story List":{"command-palette-caret":"26","command-palette-name":"See Story List","command-palette-type":"prompt-basic","created":"20200604203347766","modified":"20200610112812369","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"[list[$:/StoryList]search[]]"},"$:/plugins/souk21/commandpalette/See Themes":{"command-palette-caret":"40","command-palette-name":"See Themes","command-palette-type":"prompt-basic","created":"20200606102041205","modified":"20200606102101828","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"[!has[draft.of]plugin-type[theme]search[]]\n"},"$:/plugins/souk21/commandpalette/See all content-types":{"command-palette-caret":"48","command-palette-name":"See all content-type","command-palette-type":"prompt-basic","created":"20200604201605853","modified":"20200610112751272","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"[all[tiddlers+shadows]each[type]get[type]search[]]\n"},"$:/plugins/souk21/commandpalette/See untagged tiddlers":{"command-palette-caret":"29","command-palette-name":"See untagged Tiddlers","command-palette-type":"prompt-basic","created":"20200604020335070","modified":"20200610112839898","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"[untagged[]!is[system]search[]]\n"},"$:/plugins/souk21/commandpalette/Show help":{"command-palette-name":"Show help","command-palette-type":"prompt","created":"20200604001529132","modified":"20200610112849596","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"?\n"},"$:/plugins/souk21/commandpalette/Toggle Fullscreen":{"command-palette-name":"Toggle Fullscreen","command-palette-type":"message","created":"20200604212224319","modified":"20200604212229222","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"tm-full-screen\n"},"$:/plugins/souk21/commandpalette/Unfold All Tiddlers":{"command-palette-name":"Unfold All Tiddlers","command-palette-type":"actionString","created":"20200605205037837","modified":"20200605205546285","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"<$action-sendmessage $message=\"tm-unfold-all-tiddlers\" foldedStatePrefix=\"$:/state/folded/\"/>\n"},"$:/plugins/souk21/commandpalette/Version":{"command-palette-caret":"49","command-palette-name":"Version","command-palette-type":"prompt-basic","created":"20200604001529132","modified":"20200610112802828","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"[[$:/plugins/souk21/commandpalette]get[version]]"},"$:/plugins/souk21/commandpalette/View":{"created":"20200601134627220","modified":"20200606112407150","tags":"$:/tags/AboveStory","type":"text/vnd.tiddlywiki","text":"<$commandpalettewidget/>\n"},"$:/plugins/souk21/commandpalette/show tiddler commands":{"command-palette-name":"Show CommandTiddlers","command-palette-type":"prompt","created":"20200603235441202","modified":"20200610112900184","tags":"$:/tags/CommandPaletteCommand","type":"text/vnd.tiddlywiki","text":"@$:/tags/CommandPaletteCommand\n"},"$:/core/modules/widgets/commandpalettewidget.js":{"text":"/*\\\ntitle: $:/core/modules/widgets/commandpalettewidget.js\ntype: application/javascript\nmodule-type: widget\n\nCommand Palette Widget\n\n\\*/\n(function () {\n\n\t/*jslint node: true, browser: true */\n\t/*global $tw: false */\n\t'use strict';\n\n\tvar Widget = require('$:/core/modules/widgets/widget.js').widget;\n\n\tclass CommandPaletteWidget extends Widget {\n\t\tconstructor(parseTreeNode, options) {\n\t\t\tsuper(parseTreeNode, options);\n\t\t\tthis.initialise(parseTreeNode, options);\n\t\t\tthis.currentSelection = 0; //0 is nothing selected, 1 is first result,...\n\t\t\tthis.symbolProviders = {};\n\t\t\tthis.actions = [];\n\t\t\tthis.triggers = [];\n\t\t\tthis.blockProviderChange = false;\n\t\t\tthis.defaultSettings = {\n\t\t\t\tmaxResults: 15,\n\t\t\t\tmaxResultHintSize: 45,\n\t\t\t\tneverBasic: false,\n\t\t\t\tshowHistoryOnOpen: true,\n\t\t\t\tescapeGoesBack: true,\n\t\t\t\talwaysPassSelection: true,\n\t\t\t\ttheme: '$:/plugins/souk21/commandpalette/Compact.css',\n\t\t\t};\n\t\t\tthis.settings = {};\n\t\t\tthis.commandHistoryPath = '$:/plugins/souk21/commandpalette/CommandPaletteHistory';\n\t\t\tthis.settingsPath = '$:/plugins/souk21/commandpalette/CommandPaletteSettings';\n\t\t\tthis.searchStepsPath = '$:/plugins/souk21/commandpalette/CommandPaletteSearchSteps';\n\t\t\tthis.customCommandsTag = '$:/tags/CommandPaletteCommand';\n\t\t\tthis.themesTag = '$:/tags/CommandPaletteTheme';\n\t\t\tthis.typeField = 'command-palette-type';\n\t\t\tthis.nameField = 'command-palette-name';\n\t\t\tthis.hintField = 'command-palette-hint';\n\t\t\tthis.modeField = 'command-palette-mode';\n\t\t\tthis.userInputField = 'command-palette-user-input';\n\t\t\tthis.caretField = 'command-palette-caret';\n\t\t\tthis.immediateField = 'command-palette-immediate';\n\t\t\tthis.triggerField = 'command-palette-trigger';\n\t\t}\n\n\t\tactionStringBuilder(text) {\n\t\t\treturn (e) => this.invokeActionString(text, this, e);\n\t\t}\n\n\t\tactionStringInput(action, hint, e) {\n\t\t\tthis.blockProviderChange = true;\n\t\t\tthis.allowInputFieldSelection = true;\n\t\t\tthis.hint.innerText = hint;\n\t\t\tthis.input.value = '';\n\t\t\tthis.currentProvider = () => { };\n\t\t\tthis.currentResolver = (e) => {\n\t\t\t\tthis.invokeActionString(action, this, e, { 'commandpaletteinput': this.input.value });\n\t\t\t\tthis.closePalette();\n\t\t\t}\n\t\t\tthis.showResults([]);\n\t\t\tthis.onInput(this.input.value);\n\t\t}\n\n\t\tinvokeFieldMangler(tiddler, message, param, e) {\n\t\t\tlet action = `<$fieldmangler tiddler=\"${tiddler}\">\n\t\t\t<$action-sendmessage $message=\"${message}\" $param=\"${param}\"/>\n\t\t\t</$fieldmangler>`;\n\t\t\tthis.invokeActionString(action, this, e);\n\t\t}\n\n\t\t//filter = (tiddler, terms) => [tiddlers]\n\t\ttagOperation(e, hintTiddler, hintTag, filter, allowNoSelection, message) {\n\t\t\tthis.blockProviderChange = true;\n\t\t\tif (allowNoSelection) this.allowInputFieldSelection = true;\n\t\t\tthis.currentProvider = this.historyProviderBuilder(hintTiddler);\n\t\t\tthis.currentResolver = (e) => {\n\t\t\t\tif (this.currentSelection === 0) return;\n\t\t\t\tlet tiddler = this.currentResults[this.currentSelection - 1].result.name;\n\t\t\t\tthis.currentProvider = (terms) => {\n\t\t\t\t\tthis.currentSelection = 0;\n\t\t\t\t\tthis.hint.innerText = hintTag;\n\t\t\t\t\tlet searches = filter(tiddler, terms);\n\t\t\t\t\tsearches = searches.map(s => { return { name: s }; });\n\t\t\t\t\tthis.showResults(searches);\n\t\t\t\t}\n\t\t\t\tthis.input.value = \"\";\n\t\t\t\tthis.onInput(this.input.value);\n\t\t\t\tthis.currentResolver = (e) => {\n\t\t\t\t\tif (!allowNoSelection && this.currentSelection === 0) return;\n\t\t\t\t\tlet tag = this.input.value;\n\t\t\t\t\tif (this.currentSelection !== 0) {\n\t\t\t\t\t\ttag = this.currentResults[this.currentSelection - 1].result.name;\n\t\t\t\t\t}\n\t\t\t\t\tthis.invokeFieldMangler(tiddler, message, tag, e);\n\t\t\t\t\tif (!e.getModifierState('Shift')) {\n\t\t\t\t\t\tthis.closePalette();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.onInput(this.input.value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.input.value = \"\";\n\t\t\tthis.onInput(this.input.value);\n\t\t}\n\n\t\trefreshThemes(e) {\n\t\t\tthis.themes = this.getTiddlersWithTag(this.themesTag);\n\t\t\tlet found = false;\n\t\t\tfor (let theme of this.themes) {\n\t\t\t\tlet themeName = theme.fields.title;\n\t\t\t\tif (themeName === this.settings.theme) {\n\t\t\t\t\tfound = true;\n\t\t\t\t\tthis.addTagIfNecessary(themeName, '$:/tags/Stylesheet', e);\n\t\t\t\t} else {\n\t\t\t\t\tthis.invokeFieldMangler(themeName, 'tm-remove-tag', '$:/tags/Stylesheet', e);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (found) return;\n\t\t\tthis.addTagIfNecessary(this.defaultSettings.theme, '$:/tags/Stylesheet', e);\n\t\t}\n\n\t\t//Re-adding an existing tag changes modification date\n\t\taddTagIfNecessary(tiddler, tag, e) {\n\t\t\tif (this.hasTag(tiddler, tag)) return;\n\t\t\tthis.invokeFieldMangler(tiddler, 'tm-add-tag', tag, e);\n\t\t}\n\n\t\thasTag(tiddler, tag) {\n\t\t\treturn $tw.wiki.getTiddler(tiddler).fields.tags.includes(tag);\n\t\t}\n\n\t\trefreshCommands() {\n\t\t\tthis.actions = [];\n\t\t\tthis.actions.push({ name: \"Refresh Command Palette\", action: (e) => { this.refreshCommandPalette(); this.promptCommand('') }, keepPalette: true });\n\t\t\tthis.actions.push({ name: \"Explorer\", action: (e) => this.explorer(e), keepPalette: true });\n\t\t\tthis.actions.push({ name: \"See History\", action: (e) => this.showHistory(e), keepPalette: true });\n\t\t\tthis.actions.push({ name: \"New Command Wizard\", action: (e) => this.newCommandWizard(e), keepPalette: true });\n\t\t\tthis.actions.push({\n\t\t\t\tname: \"Add tag to tiddler\",\n\t\t\t\taction: (e) => this.tagOperation(e, 'Pick tiddler to tag', 'Pick tag to add (⇧⏎ to add multiple)',\n\t\t\t\t\t(tiddler, terms) => $tw.wiki.filterTiddlers(`[!is[system]tags[]] [is[system]tags[]] -[[${tiddler}]tags[]] +[search[${terms}]]`),\n\t\t\t\t\ttrue,\n\t\t\t\t\t'tm-add-tag'),\n\t\t\t\tkeepPalette: true\n\t\t\t});\n\t\t\tthis.actions.push({\n\t\t\t\tname: \"Remove tag\",\n\t\t\t\taction: (e) => this.tagOperation(e, 'Pick tiddler to untag', 'Pick tag to remove (⇧⏎ to remove multiple)',\n\t\t\t\t\t(tiddler, terms) => $tw.wiki.filterTiddlers(`[[${tiddler}]tags[]] +[search[${terms}]]`),\n\t\t\t\t\tfalse,\n\t\t\t\t\t'tm-remove-tag'),\n\t\t\t\tkeepPalette: true\n\t\t\t});\n\n\t\t\tlet commandTiddlers = this.getTiddlersWithTag(this.customCommandsTag);\n\t\t\tfor (let tiddler of commandTiddlers) {\n\t\t\t\tif (!tiddler.fields[this.typeField] === undefined) continue;\n\t\t\t\tlet name = tiddler.fields[this.nameField];\n\t\t\t\tlet type = tiddler.fields[this.typeField];\n\t\t\t\tlet text = tiddler.fields.text;\n\t\t\t\tif (text === undefined) text = '';\n\t\t\t\tlet textFirstLine = text.match(/^.*/)[0];\n\t\t\t\tlet hint = tiddler.fields[this.hintField];\n\t\t\t\tif (hint === undefined) hint = tiddler.fields[this.nameField];\n\t\t\t\tif (hint === undefined) hint = '';\n\t\t\t\tif (type === 'shortcut') {\n\t\t\t\t\tlet trigger = tiddler.fields[this.triggerField];\n\t\t\t\t\tif (trigger === undefined) continue;\n\t\t\t\t\tthis.triggers.push({ name, trigger, text, hint });\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (!tiddler.fields[this.nameField] === undefined) continue;\n\t\t\t\tif (type === 'prompt') {\n\t\t\t\t\tlet immediate = !!tiddler.fields[this.immediateField];\n\t\t\t\t\tlet caret = tiddler.fields[this.caretField];\n\t\t\t\t\tlet action = { name: name, action: () => this.promptCommand(textFirstLine, caret), keepPalette: !immediate, immediate: immediate };\n\t\t\t\t\tthis.actions.push(action);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (type === 'prompt-basic') {\n\t\t\t\t\tlet caret = tiddler.fields[this.caretField];\n\t\t\t\t\tlet action = { name: name, action: () => this.promptCommandBasic(textFirstLine, caret, hint), keepPalette: true };\n\t\t\t\t\tthis.actions.push(action);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (type === 'message') {\n\t\t\t\t\tthis.actions.push({ name: name, action: (e) => this.tmMessageBuilder(textFirstLine)(e) });\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (type === 'actionString') {\n\t\t\t\t\tlet userInput = tiddler.fields[this.userInputField] !== undefined && tiddler.fields[this.userInputField] === 'true';\n\t\t\t\t\tif (userInput) {\n\t\t\t\t\t\tthis.actions.push({ name: name, action: (e) => this.actionStringInput(text, hint, e), keepPalette: true });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.actions.push({ name: name, action: (e) => this.actionStringBuilder(text)(e) });\n\t\t\t\t\t}\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (type === 'history') {\n\t\t\t\t\tlet mode = tiddler.fields[this.modeField];\n\t\t\t\t\tthis.actions.push({ name: name, action: (e) => this.commandWithHistoryPicker(textFirstLine, hint, mode).handler(e), keepPalette: true });\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tnewCommandWizard() {\n\t\t\tthis.blockProviderChange = true;\n\t\t\tthis.input.value = '';\n\t\t\tthis.hint.innerText = 'Command Name';\n\t\t\tlet name = '';\n\t\t\tlet type = '';\n\t\t\tlet hint = '';\n\n\t\t\tlet messageStep = () => {\n\t\t\t\tthis.input.value = '';\n\t\t\t\tthis.hint.innerText = 'Enter Message';\n\t\t\t\tthis.currentResolver = (e) => {\n\t\t\t\t\tthis.tmMessageBuilder('tm-new-tiddler',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: '$:/' + name,\n\t\t\t\t\t\t\ttags: this.customCommandsTag,\n\t\t\t\t\t\t\t[this.typeField]: type,\n\t\t\t\t\t\t\t[this.nameField]: name,\n\t\t\t\t\t\t\t[this.hintField]: hint,\n\t\t\t\t\t\t\ttext: this.input.value\n\t\t\t\t\t\t})(e);\n\t\t\t\t\tthis.closePalette();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet hintStep = () => {\n\t\t\t\tthis.input.value = '';\n\t\t\t\tthis.hint.innerText = 'Enter hint';\n\t\t\t\tthis.currentResolver = (e) => {\n\t\t\t\t\thint = this.input.value;\n\t\t\t\t\tmessageStep();\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t\tlet typeStep = () => {\n\t\t\t\tthis.input.value = '';\n\t\t\t\tthis.hint.innerText = 'Enter type (prompt, prompt-basic, message, actionString, history)'\n\t\t\t\tthis.currentResolver = (e) => {\n\t\t\t\t\ttype = this.input.value;\n\t\t\t\t\tif (type === 'history') {\n\t\t\t\t\t\thintStep();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.tmMessageBuilder('tm-new-tiddler',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: '$:/' + name,\n\t\t\t\t\t\t\t\ttags: this.customCommandsTag,\n\t\t\t\t\t\t\t\t[this.typeField]: type,\n\t\t\t\t\t\t\t\t[this.nameField]: name\n\t\t\t\t\t\t\t})(e);\n\t\t\t\t\t\tthis.closePalette();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.currentProvider = (terms) => { }\n\t\t\tthis.currentResolver = (e) => {\n\t\t\t\tif (this.input.value.length === 0) return;\n\t\t\t\tname = this.input.value;\n\t\t\t\ttypeStep();\n\t\t\t}\n\t\t\tthis.showResults([]);\n\t\t}\n\n\t\texplorer(e) {\n\t\t\tthis.blockProviderChange = true;\n\t\t\tthis.input.value = '$:/';\n\t\t\tthis.lastExplorerInput = '$:/';\n\t\t\tthis.hint.innerText = 'Explorer (⇧⏎ to add multiple)';\n\t\t\tthis.currentProvider = (terms) => this.explorerProvider('$:/', terms);\n\t\t\tthis.currentResolver = (e) => {\n\t\t\t\tif (this.currentSelection === 0) return;\n\t\t\t\tthis.currentResults[this.currentSelection - 1].result.action(e);\n\t\t\t}\n\t\t\tthis.onInput();\n\t\t}\n\n\t\texplorerProvider(url, terms) {\n\t\t\tlet switchFolder = (url) => {\n\t\t\t\tthis.input.value = url;\n\t\t\t\tthis.lastExplorerInput = this.input.value;\n\t\t\t\tthis.currentProvider = (terms) => this.explorerProvider(url, terms);\n\t\t\t\tthis.onInput();\n\t\t\t};\n\t\t\tif (!this.input.value.startsWith(url)) {\n\t\t\t\tthis.input.value = this.lastExplorerInput;\n\t\t\t}\n\t\t\tthis.lastExplorerInput = this.input.value;\n\t\t\tthis.currentSelection = 0;\n\t\t\tlet search = this.input.value.substr(url.length);\n\t\t\tlet tiddlers = $tw.wiki.filterTiddlers(`[removeprefix[${url}]splitbefore[/]sort[]search[${search}]]`);\n\t\t\tlet folders = [];\n\t\t\tlet files = [];\n\t\t\tfor (let tiddler of tiddlers) {\n\t\t\t\tif (tiddler.endsWith('/')) {\n\t\t\t\t\tfolders.push({ name: tiddler, action: (e) => switchFolder(`${url}${tiddler}`) });\n\t\t\t\t} else {\n\t\t\t\t\tfiles.push({\n\t\t\t\t\t\tname: tiddler, action: (e) => {\n\t\t\t\t\t\t\tthis.navigateTo(`${url}${tiddler}`);\n\t\t\t\t\t\t\tif (!e.getModifierState('Shift')) {\n\t\t\t\t\t\t\t\tthis.closePalette();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet topResult;\n\t\t\tif (url !== '$:/') {\n\t\t\t\tlet splits = url.split('/');\n\t\t\t\tsplits.splice(splits.length - 2);\n\t\t\t\tlet parent = splits.join('/') + '/';\n\t\t\t\ttopResult = { name: '..', action: (e) => switchFolder(parent) };\n\t\t\t\tthis.showResults([topResult, ...folders, ...files]);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.showResults([...folders, ...files]);\n\t\t}\n\n\t\tsetSetting(name, value) {\n\t\t\t//doing the validation here too (it's also done in refreshSettings, so you can load you own settings with a json file)\n\t\t\tif (typeof value === 'string') {\n\t\t\t\tif (value === 'true') value = true;\n\t\t\t\tif (value === 'false') value = false;\n\t\t\t}\n\t\t\tthis.settings[name] = value;\n\t\t\t$tw.wiki.setTiddlerData(this.settingsPath, this.settings);\n\t\t}\n\n\t\t//loadSettings?\n\t\trefreshSettings() {\n\t\t\t//get user or default settings\n\t\t\tthis.settings = $tw.wiki.getTiddlerData(this.settingsPath, { ...this.defaultSettings });\n\t\t\t//Adding eventual missing properties to current user settings\n\t\t\tfor (let prop in this.defaultSettings) {\n\t\t\t\tif (!this.defaultSettings.hasOwnProperty(prop)) continue;\n\t\t\t\tif (this.settings[prop] === undefined) {\n\t\t\t\t\tthis.settings[prop] = this.defaultSettings[prop];\n\t\t\t\t}\n\t\t\t}\n\t\t\t//cast all booleans\n\t\t\tfor (let prop in this.settings) {\n\t\t\t\tif (!this.settings.hasOwnProperty(prop)) continue;\n\t\t\t\tif (typeof this.settings[prop] !== 'string') continue;\n\t\t\t\tif (this.settings[prop].toLowerCase() === 'true') this.settings[prop] = true;\n\t\t\t\tif (this.settings[prop].toLowerCase() === 'false') this.settings[prop] = false;\n\t\t\t}\n\t\t}\n\n\t\t//helper function to retrieve all tiddlers (+ their fields) with a tag\n\t\tgetTiddlersWithTag(tag) {\n\t\t\tlet tiddlers = $tw.wiki.getTiddlersWithTag(tag);\n\t\t\treturn tiddlers.map(t => $tw.wiki.getTiddler(t));\n\t\t}\n\n\t\trender(parent, nextSibling) {\n\t\t\tthis.parentDomNode = parent;\n\t\t\tthis.execute();\n\t\t\tthis.history = $tw.wiki.getTiddlerData(this.commandHistoryPath, { history: [] }).history;\n\n\t\t\t$tw.rootWidget.addEventListener('open-command-palette', (e) => this.openPalette(e));\n\t\t\t$tw.rootWidget.addEventListener('open-command-palette-selection', (e) => this.openPaletteSelection(e));\n\t\t\t$tw.rootWidget.addEventListener('insert-command-palette-result', (e) => this.insertSelectedResult(e));\n\n\t\t\tlet inputAndMainHintWrapper = this.createElement('div', { className: 'inputhintwrapper' });\n\t\t\tthis.div = this.createElement('div', { className: 'commandpalette' }, { display: 'none' });\n\t\t\tthis.input = this.createElement('input', { type: 'text' });\n\t\t\tthis.hint = this.createElement('div', { className: 'commandpalettehint commandpalettehintmain' });\n\t\t\tinputAndMainHintWrapper.append(this.input, this.hint);\n\t\t\tthis.scrollDiv = this.createElement('div', { className: 'cp-scroll' });\n\t\t\tthis.div.append(inputAndMainHintWrapper, this.scrollDiv);\n\t\t\tthis.input.addEventListener('keydown', (e) => this.onKeyDown(e));\n\t\t\tthis.input.addEventListener('input', () => this.onInput(this.input.value));\n\t\t\twindow.addEventListener('click', (e) => this.onClick(e));\n\t\t\tparent.insertBefore(this.div, nextSibling);\n\n\t\t\tthis.refreshCommandPalette();\n\n\t\t\tthis.symbolProviders['>'] = { searcher: (terms) => this.actionProvider(terms), resolver: (e) => this.actionResolver(e) };\n\t\t\tthis.symbolProviders['#'] = { searcher: (terms) => this.tagListProvider(terms), resolver: (e) => this.tagListResolver(e) };\n\t\t\tthis.symbolProviders['@'] = { searcher: (terms) => this.tagProvider(terms), resolver: (e) => this.defaultResolver(e) };\n\t\t\tthis.symbolProviders['?'] = { searcher: (terms) => this.helpProvider(terms), resolver: (e) => this.helpResolver(e) };\n\t\t\tthis.symbolProviders['['] = { searcher: (terms, hint) => this.filterProvider(terms, hint), resolver: (e) => this.filterResolver(e) };\n\t\t\tthis.symbolProviders['+'] = { searcher: (terms) => this.createTiddlerProvider(terms), resolver: (e) => this.createTiddlerResolver() };\n\t\t\tthis.symbolProviders['|'] = { searcher: (terms) => this.settingsProvider(terms), resolver: (e) => this.settingsResolver() };\n\t\t\tthis.currentResults = [];\n\t\t\tthis.currentProvider = {};\n\t\t}\n\n\t\trefreshSearchSteps() {\n\t\t\tthis.searchSteps = [];\n\t\t\tlet steps = $tw.wiki.getTiddlerData(this.searchStepsPath);\n\t\t\tsteps = steps.steps;\n\t\t\tfor (let step of steps) {\n\t\t\t\tthis.searchSteps.push(this.searchStepBuilder(step.filter, step.caret, step.hint));\n\t\t\t}\n\t\t}\n\n\t\trefreshCommandPalette() {\n\t\t\tthis.refreshSettings();\n\t\t\tthis.refreshThemes();\n\t\t\tthis.refreshCommands();\n\t\t\tthis.refreshSearchSteps();\n\t\t}\n\n\t\tupdateCommandHistory(command) {\n\t\t\tthis.history = Array.from(new Set([command.name, ...this.history]));\n\t\t\t$tw.wiki.setTiddlerData(this.commandHistoryPath, { history: this.history });\n\t\t}\n\n\t\thistoryProviderBuilder(hint, mode) {\n\t\t\treturn (terms) => {\n\t\t\t\tthis.currentSelection = 0;\n\t\t\t\tthis.hint.innerText = hint;\n\t\t\t\tlet results;\n\t\t\t\tif (mode !== undefined && mode === 'drafts') {\n\t\t\t\t\tresults = $tw.wiki.filterTiddlers('[has:field[draft.of]]');\n\t\t\t\t} else if (mode !== undefined && mode === 'story') {\n\t\t\t\t\tresults = $tw.wiki.filterTiddlers('[list[$:/StoryList]]');\n\t\t\t\t} else {\n\t\t\t\t\tresults = this.getHistory();\n\t\t\t\t}\n\t\t\t\tresults = results.map(r => { return { name: r } });\n\t\t\t\tthis.showResults(results);\n\t\t\t};\n\t\t}\n\n\t\tcommandWithHistoryPicker(message, hint, mode) {\n\t\t\tlet handler = (e) => {\n\t\t\t\tthis.blockProviderChange = true;\n\t\t\t\tthis.allowInputFieldSelection = true;\n\t\t\t\tthis.currentProvider = provider;\n\t\t\t\tthis.currentResolver = resolver;\n\t\t\t\tthis.input.value = '';\n\t\t\t\tthis.onInput(this.input.value);\n\t\t\t}\n\t\t\tlet provider = this.historyProviderBuilder(hint, mode);\n\t\t\tlet resolver = (e) => {\n\t\t\t\tif (this.currentSelection === 0) return;\n\t\t\t\tlet title = this.currentResults[this.currentSelection - 1].result.name;\n\t\t\t\tthis.parentWidget.dispatchEvent({\n\t\t\t\t\ttype: message,\n\t\t\t\t\tparam: title,\n\t\t\t\t\ttiddlerTitle: title,\n\t\t\t\t});\n\t\t\t\tthis.closePalette();\n\t\t\t}\n\t\t\treturn {\n\t\t\t\thandler,\n\t\t\t\tprovider,\n\t\t\t\tresolver\n\t\t\t}\n\t\t}\n\t\tonInput(text) {\n\t\t\tif (this.blockProviderChange) { //prevent provider changes\n\t\t\t\tthis.currentProvider(text);\n\t\t\t\tthis.setSelectionToFirst();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet { resolver, provider, terms } = this.parseCommand(text);\n\t\t\tthis.currentResolver = resolver;\n\t\t\tthis.currentProvider = provider;\n\t\t\tthis.currentProvider(terms);\n\t\t\tthis.setSelectionToFirst();\n\t\t}\n\t\tparseCommand(text) {\n\t\t\tlet terms = \"\";\n\t\t\tlet prefix = text.substr(0, 1);\n\t\t\tlet resolver;\n\t\t\tlet provider;\n\t\t\tlet shortcut = this.triggers.find(t => text.startsWith(t.trigger));\n\t\t\tif (shortcut !== undefined) {\n\t\t\t\tresolver = (e) => {\n\t\t\t\t\tlet inputWithoutShortcut = this.input.value.substr(shortcut.trigger.length);\n\t\t\t\t\tthis.invokeActionString(shortcut.text, this, e, { 'commandpaletteinput': inputWithoutShortcut });\n\t\t\t\t\tthis.closePalette();\n\t\t\t\t}\n\t\t\t\tprovider = (terms) => {\n\t\t\t\t\tthis.hint.innerText = shortcut.hint;\n\t\t\t\t\tthis.showResults([]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet providerSymbol = Object.keys(this.symbolProviders).find(p => p === prefix);\n\t\t\t\tif (providerSymbol === undefined) {\n\t\t\t\t\tresolver = this.defaultResolver;\n\t\t\t\t\tprovider = this.defaultProvider;\n\t\t\t\t\tterms = text;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tprovider = this.symbolProviders[providerSymbol].searcher;\n\t\t\t\t\tresolver = this.symbolProviders[providerSymbol].resolver;\n\t\t\t\t\tterms = text.substring(1);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn { resolver, provider, terms }\n\t\t}\n\t\tonClick(e) {\n\t\t\tif (this.isOpened && !this.div.contains(e.target)) {\n\t\t\t\tthis.closePalette();\n\t\t\t}\n\t\t}\n\t\topenPaletteSelection(e) {\n\t\t\tlet selection = this.getCurrentSelection();\n\t\t\te.param = selection;\n\t\t\tthis.openPalette(e);\n\t\t}\n\t\topenPalette(e) {\n\t\t\tthis.isOpened = true;\n\t\t\tthis.allowInputFieldSelection = false;\n\t\t\tthis.goBack = undefined;\n\t\t\tthis.blockProviderChange = false;\n\t\t\tlet activeElement = this.getActiveElement();\n\t\t\tthis.previouslyFocused = { element: activeElement, start: activeElement.selectionStart, end: activeElement.selectionEnd, caretPos: activeElement.selectionEnd };\n\t\t\tthis.input.value = '';\n\t\t\tif (e.param !== undefined) {\n\t\t\t\tthis.input.value = e.param;\n\t\t\t}\n\t\t\tif (this.settings.alwaysPassSelection) {\n\t\t\t\tthis.input.value += this.getCurrentSelection();\n\t\t\t}\n\t\t\tthis.currentSelection = 0;\n\t\t\tthis.onInput(this.input.value); //Trigger results on open\n\t\t\tthis.div.style.display = 'flex';\n\t\t\tthis.input.focus();\n\t\t}\n\n\t\tinsertSelectedResult() {\n\t\t\tif (!this.isOpened) return;\n\t\t\tif (this.currentSelection === 0) return; //TODO: what to do here?\n\t\t\tlet previous = this.previouslyFocused;\n\t\t\tlet previousValue = previous.element.value;\n\t\t\tif (previousValue === undefined) return;\n\t\t\tlet selection = this.currentResults[this.currentSelection - 1].result.name;\n\t\t\tif (previous.start !== previous.end) {\n\t\t\t\tthis.previouslyFocused.element.value = previousValue.substring(0, previous.start) + selection + previousValue.substring(previous.end);\n\t\t\t} else {\n\t\t\t\tthis.previouslyFocused.element.value = previousValue.substring(0, previous.start) + selection + previousValue.substring(previous.start);\n\t\t\t}\n\t\t\tthis.previouslyFocused.caretPos = previous.start + selection.length;\n\t\t\tthis.closePalette();\n\t\t}\n\n\t\tclosePalette() {\n\t\t\tthis.div.style.display = 'none';\n\t\t\tthis.isOpened = false;\n\t\t\tthis.focusAtCaretPosition(this.previouslyFocused.element, this.previouslyFocused.caretPos);\n\t\t}\n\t\tonKeyDown(e) {\n\t\t\tif (e.key === 'Escape') {\n\t\t\t\t//\t\t\t\t\t\t\t\t\t\\/ There's no previous state\n\t\t\t\tif (!this.settings.escapeGoesBack || this.goBack === undefined) {\n\t\t\t\t\tthis.closePalette();\n\t\t\t\t} else {\n\t\t\t\t\tthis.goBack();\n\t\t\t\t\tthis.goBack = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (e.key === 'ArrowUp') {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\tlet sel = this.currentSelection - 1;\n\n\t\t\t\tif (sel === 0) {\n\t\t\t\t\tif (!this.allowInputFieldSelection) {\n\t\t\t\t\t\tsel = this.currentResults.length;\n\t\t\t\t\t}\n\t\t\t\t} else if (sel < 0) {\n\t\t\t\t\tsel = this.currentResults.length;\n\t\t\t\t}\n\t\t\t\tthis.setSelection(sel);\n\t\t\t}\n\t\t\telse if (e.key === 'ArrowDown') {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\tlet sel = (this.currentSelection + 1) % (this.currentResults.length + 1);\n\t\t\t\tif (!this.allowInputFieldSelection && sel === 0 && this.currentResults.length !== 0) {\n\t\t\t\t\tsel = 1;\n\t\t\t\t}\n\t\t\t\tthis.setSelection(sel);\n\t\t\t}\n\t\t\telse if (e.key === 'Enter') {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\tthis.validateSelection(e);\n\t\t\t}\n\t\t}\n\t\taddResult(result, id) {\n\t\t\tlet resultDiv = this.createElement('div', { className: 'commandpaletteresult', innerText: result.name });\n\t\t\tif (result.hint !== undefined) {\n\t\t\t\tlet hint = this.createElement('div', { className: 'commandpalettehint', innerText: result.hint });\n\t\t\t\tresultDiv.append(hint);\n\t\t\t}\n\t\t\tresultDiv.result = result;\n\t\t\tthis.currentResults.push(resultDiv);\n\t\t\tresultDiv.addEventListener('click', (e) => { this.setSelection(id + 1); this.validateSelection(e); });\n\t\t\tthis.scrollDiv.append(resultDiv);\n\t\t}\n\t\tvalidateSelection(e) {\n\t\t\tthis.currentResolver(e);\n\t\t}\n\t\tdefaultResolver(e) {\n\t\t\tif (e.getModifierState('Shift')) {\n\t\t\t\tthis.input.value = '+' + this.input.value; //this resolver expects that the input starts with +\n\t\t\t\tthis.createTiddlerResolver(e);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.currentSelection === 0) return;\n\t\t\tlet selectionTitle = this.currentResults[this.currentSelection - 1].result.name;\n\t\t\tthis.closePalette();\n\t\t\tthis.navigateTo(selectionTitle);\n\t\t}\n\t\tnavigateTo(title) {\n\t\t\tthis.parentWidget.dispatchEvent({\n\t\t\t\ttype: 'tm-navigate',\n\t\t\t\tparam: title,\n\t\t\t\tnavigateTo: title\n\t\t\t});\n\t\t}\n\n\t\tshowHistory() {\n\t\t\tthis.hint.innerText = 'History';\n\t\t\tthis.currentProvider = (terms) => {\n\t\t\t\tlet results;\n\t\t\t\tif (terms.length === 0) {\n\t\t\t\t\tresults = this.getHistory();\n\t\t\t\t} else {\n\t\t\t\t\tresults = this.getHistory().filter(h => h.includes(terms));\n\t\t\t\t}\n\t\t\t\tresults = results.map(r => { return { name: r, action: () => { this.navigateTo(r); this.closePalette(); } } });\n\t\t\t\tthis.showResults(results);\n\t\t\t};\n\t\t\tthis.currentResolver = (e) => {\n\t\t\t\tif (this.currentSelection === 0) return;\n\t\t\t\tthis.currentResults[this.currentSelection - 1].result.action(e);\n\t\t\t};\n\t\t\tthis.input.value = '';\n\t\t\tthis.blockProviderChange = true;\n\t\t\tthis.onInput(this.input.value);\n\t\t}\n\n\t\tsetSelectionToFirst() {\n\t\t\tlet sel = 1;\n\t\t\tif (this.allowInputFieldSelection || this.currentResults.length === 0) {\n\t\t\t\tsel = 0;\n\t\t\t}\n\t\t\tthis.setSelection(sel)\n\t\t}\n\n\t\tsetSelection(id) {\n\t\t\tthis.currentSelection = id;\n\t\t\tfor (let i = 0; i < this.currentResults.length; i++) {\n\t\t\t\tlet selected = this.currentSelection === i + 1;\n\t\t\t\tthis.currentResults[i].className = selected ? 'commandpaletteresult commandpaletteresultselected' : 'commandpaletteresult';\n\t\t\t}\n\t\t\tif (this.currentSelection === 0) {\n\t\t\t\tthis.scrollDiv.scrollTop = 0;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet scrollHeight = this.scrollDiv.offsetHeight;\n\t\t\tlet scrollPos = this.scrollDiv.scrollTop;\n\t\t\tlet selectionPos = this.currentResults[this.currentSelection - 1].offsetTop;\n\t\t\tlet selectionHeight = this.currentResults[this.currentSelection - 1].offsetHeight;\n\n\t\t\tif (selectionPos < scrollPos || selectionPos >= scrollPos + scrollHeight) {\n\t\t\t\t//select the closest scrolling position showing the selection\n\t\t\t\tlet a = selectionPos;\n\t\t\t\tlet b = selectionPos - scrollHeight + selectionHeight;\n\t\t\t\ta = Math.abs(a - scrollPos);\n\t\t\t\tb = Math.abs(b - scrollPos);\n\t\t\t\tif (a < b) {\n\t\t\t\t\tthis.scrollDiv.scrollTop = selectionPos;\n\t\t\t\t} else {\n\t\t\t\t\tthis.scrollDiv.scrollTop = selectionPos - scrollHeight + selectionHeight;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tgetHistory() {\n\t\t\tlet history = $tw.wiki.getTiddlerData('$:/HistoryList');\n\t\t\tif (history === undefined) {\n\t\t\t\thistory = [];\n\t\t\t}\n\t\t\thistory = [...history.reverse().map(x => x.title), ...$tw.wiki.filterTiddlers('[list[$:/StoryList]]')];\n\t\t\treturn Array.from(new Set(history.filter(t => this.tiddlerOrShadowExists(t))));\n\t\t}\n\n\t\ttiddlerOrShadowExists(title) {\n\t\t\treturn $tw.wiki.tiddlerExists(title) || $tw.wiki.isShadowTiddler(title);\n\t\t}\n\n\t\tdefaultProvider(terms) {\n\t\t\tthis.hint.innerText = 'Search tiddlers (⇧⏎ to create)';\n\t\t\tlet searches;\n\t\t\tif (terms.startsWith('\\\\')) terms = terms.substr(1);\n\t\t\tif (terms.length === 0) {\n\t\t\t\tif (this.settings.showHistoryOnOpen) {\n\t\t\t\t\tsearches = this.getHistory().map(s => { return { name: s, hint: 'history' } });\n\t\t\t\t} else {\n\t\t\t\t\tsearches = [];\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tsearches = this.searchSteps.reduce((a, c) => [...a, ...c(terms)], []);\n\t\t\t\tsearches = Array.from(new Set(searches));\n\t\t\t}\n\t\t\tthis.showResults(searches);\n\t\t}\n\n\t\tsearchStepBuilder(filter, caret, hint) {\n\t\t\treturn (terms) => {\n\t\t\t\tlet search = filter.substr(0, caret) + terms + filter.substr(caret);\n\t\t\t\tlet results = $tw.wiki.filterTiddlers(search).map(s => { return { name: s, hint: hint } });\n\t\t\t\treturn results;\n\t\t\t}\n\t\t}\n\n\t\ttagListProvider(terms) {\n\t\t\tthis.currentSelection = 0;\n\t\t\tthis.hint.innerText = 'Search tags';\n\t\t\tlet searches;\n\t\t\tif (terms.length === 0) {\n\t\t\t\tsearches = $tw.wiki.filterTiddlers('[!is[system]tags[]][is[system]tags[]][all[shadows]tags[]]');\n\t\t\t}\n\t\t\telse {\n\t\t\t\tsearches = $tw.wiki.filterTiddlers('[all[]tags[]!is[system]search[' + terms + ']][all[]tags[]is[system]search[' + terms + ']][all[shadows]tags[]search[' + terms + ']]');\n\t\t\t}\n\t\t\tsearches = searches.map(s => { return { name: s }; });\n\t\t\tthis.showResults(searches);\n\t\t}\n\t\ttagListResolver(e) {\n\t\t\tif (this.currentSelection === 0) {\n\t\t\t\tlet input = this.input.value.substr(1);\n\t\t\t\tlet exist = $tw.wiki.filterTiddlers('[tag[' + input + ']]');\n\t\t\t\tif (!exist)\n\t\t\t\t\treturn;\n\t\t\t\tthis.input.value = '@' + input;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet result = this.currentResults[this.currentSelection - 1];\n\t\t\tthis.input.value = '@' + result.innerText;\n\t\t\tthis.onInput(this.input.value);\n\t\t}\n\t\ttagProvider(terms) {\n\t\t\tthis.currentSelection = 0;\n\t\t\tthis.hint.innerText = 'Search tiddlers with @tag(s)';\n\t\t\tlet searches = [];\n\t\t\tif (terms.length !== 0) {\n\t\t\t\tlet { tags, searchTerms, tagsFilter } = this.parseTags(this.input.value);\n\t\t\t\tlet taggedTiddlers = $tw.wiki.filterTiddlers(tagsFilter);\n\n\t\t\t\tif (taggedTiddlers.length !== 0) {\n\t\t\t\t\tif (tags.length === 1) {\n\t\t\t\t\t\tlet tag = tags[0];\n\t\t\t\t\t\tlet tagTiddlerExists = this.tiddlerOrShadowExists(tag);\n\t\t\t\t\t\tif (tagTiddlerExists && searchTerms.some(s => tag.includes(s))) searches.push(tag);\n\t\t\t\t\t}\n\t\t\t\t\tsearches = [...searches, ...taggedTiddlers];\n\t\t\t\t}\n\t\t\t}\n\t\t\tsearches = searches.map(s => { return { name: s } });\n\t\t\tthis.showResults(searches);\n\t\t}\n\n\t\tparseTags(input) {\n\t\t\tlet splits = input.split(' ').filter(s => s !== '');\n\t\t\tlet tags = [];\n\t\t\tlet searchTerms = [];\n\t\t\tfor (let i = 0; i < splits.length; i++) {\n\t\t\t\tif (splits[i].startsWith('@')) {\n\t\t\t\t\ttags.push(splits[i].substr(1));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tsearchTerms.push(splits[i]);\n\t\t\t}\n\t\t\tlet tagsFilter = `[all[tiddlers+system+shadows]${tags.reduce((a, c) => { return a + 'tag[' + c + ']' }, '')}]`;\n\t\t\tif (searchTerms.length !== 0) {\n\t\t\t\ttagsFilter = tagsFilter.substr(0, tagsFilter.length - 1); //remove last ']'\n\t\t\t\ttagsFilter += `search[${searchTerms.join(' ')}]]`;\n\t\t\t}\n\t\t\treturn { tags, searchTerms, tagsFilter };\n\t\t}\n\n\t\tsettingsProvider(terms) {\n\t\t\tthis.currentSelection = 0;\n\t\t\tthis.hint.innerText = 'Select the setting you want to change';\n\t\t\tlet isNumerical = (terms) => terms.length !== 0 && terms.match(/\\D/gm) === null;\n\t\t\tlet isBoolean = (terms) => terms.length !== 0 && terms.match(/(true\\b)|(false\\b)/gmi) !== null;\n\t\t\tthis.showResults([\n\t\t\t\t{ name: 'Theme (currently ' + this.settings.theme.match(/[^\\/]*$/) + ')', action: () => this.promptForThemeSetting() },\n\t\t\t\tthis.settingResultBuilder('Max results', 'maxResults', 'Choose the maximum number of results', isNumerical, 'Error: value must be a positive integer'),\n\t\t\t\tthis.settingResultBuilder('Show history on open', 'showHistoryOnOpen', 'Chose whether to show the history when you open the palette', isBoolean, 'Error: value must be \\'true\\' or \\'false\\''),\n\t\t\t\tthis.settingResultBuilder('Escape to go back', 'escapeGoesBack', 'Chose whether ESC should go back when possible', isBoolean, 'Error: value must be \\'true\\' or \\'false\\''),\n\t\t\t\tthis.settingResultBuilder('Use selection as search query', 'alwaysPassSelection', 'Chose your current selection is passed to the command palette', isBoolean, 'Error: value must be \\'true\\' or \\'false\\''),\n\t\t\t\tthis.settingResultBuilder('Never Basic', 'neverBasic', 'Chose whether to override basic prompts to show filter operation', isBoolean, 'Error: value must be \\'true\\' or \\'false\\''),\n\t\t\t\tthis.settingResultBuilder('Field preview max size', 'maxResultHintSize', 'Choose the maximum hint length for field preview', isNumerical, 'Error: value must be a positive integer'),\n\t\t\t]);\n\t\t}\n\n\t\tsettingResultBuilder(name, settingName, hint, validator, errorMsg) {\n\t\t\treturn { name: name + ' (currently ' + this.settings[settingName] + ')', action: () => this.promptForSetting(settingName, hint, validator, errorMsg) }\n\t\t}\n\n\t\tsettingsResolver(e) {\n\t\t\tif (this.currentSelection === 0) return;\n\t\t\tthis.goBack = () => {\n\t\t\t\tthis.input.value = '|';\n\t\t\t\tthis.blockProviderChange = false;\n\t\t\t\tthis.onInput(this.input.value);\n\t\t\t}\n\t\t\tthis.currentResults[this.currentSelection - 1].result.action();\n\t\t}\n\n\t\tpromptForThemeSetting() {\n\t\t\tthis.blockProviderChange = true;\n\t\t\tthis.allowInputFieldSelection = false;\n\t\t\tthis.currentProvider = (terms) => {\n\t\t\t\tthis.currentSelection = 0;\n\t\t\t\tthis.hint.innerText = 'Choose a theme';\n\t\t\t\tlet defaultValue = this.defaultSettings['theme'];\n\t\t\t\tlet results = [{ name: 'Revert to default value: ' + defaultValue.match(/[^\\/]*$/), action: () => { this.setSetting('theme', defaultValue); this.refreshThemes(); } }];\n\t\t\t\tfor (let theme of this.themes) {\n\t\t\t\t\tlet name = theme.fields.title;\n\t\t\t\t\tlet shortName = name.match(/[^\\/]*$/);\n\t\t\t\t\tlet action = () => { this.setSetting('theme', name); this.refreshThemes(); }\n\t\t\t\t\tresults.push({ name: shortName, action: action });\n\t\t\t\t}\n\t\t\t\tthis.showResults(results);\n\t\t\t}\n\t\t\tthis.currentResolver = (e) => {\n\t\t\t\tthis.currentResults[this.currentSelection - 1].result.action(e);\n\t\t\t}\n\t\t\tthis.input.value = '';\n\t\t\tthis.onInput(this.input.value);\n\t\t}\n\n\t\t//Validator = (terms) => bool\n\t\tpromptForSetting(settingName, hint, validator, errorMsg) {\n\t\t\tthis.blockProviderChange = true;\n\t\t\tthis.allowInputFieldSelection = true;\n\t\t\tthis.currentProvider = (terms) => {\n\t\t\t\tthis.currentSelection = 0;\n\t\t\t\tthis.hint.innerText = hint;\n\t\t\t\tlet defaultValue = this.defaultSettings[settingName];\n\t\t\t\tlet results = [{ name: 'Revert to default value: ' + defaultValue, action: () => this.setSetting(settingName, defaultValue) }];\n\t\t\t\tif (!validator(terms)) {\n\t\t\t\t\tresults.push({ name: errorMsg });\n\t\t\t\t}\n\t\t\t\tthis.showResults(results);\n\t\t\t};\n\t\t\tthis.currentResolver = (e) => {\n\t\t\t\tif (this.currentSelection === 0) {\n\t\t\t\t\tlet input = this.input.value;\n\t\t\t\t\tif (validator(input)) {\n\t\t\t\t\t\tthis.setSetting(settingName, input);\n\t\t\t\t\t\tthis.goBack = undefined;\n\t\t\t\t\t\tthis.blockProviderChange = false;\n\t\t\t\t\t\tthis.allowInputFieldSelection = false;\n\t\t\t\t\t\tthis.promptCommand('|');\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlet action = this.currentResults[this.currentSelection - 1].result.action;\n\t\t\t\t\tif (action) {\n\t\t\t\t\t\taction();\n\t\t\t\t\t\tthis.goBack = undefined;\n\t\t\t\t\t\tthis.blockProviderChange = false;\n\t\t\t\t\t\tthis.allowInputFieldSelection = false;\n\t\t\t\t\t\tthis.promptCommand('|');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.input.value = this.settings[settingName];\n\t\t\tthis.onInput(this.input.value);\n\t\t}\n\n\t\tshowResults(results) {\n\t\t\tfor (let cur of this.currentResults) {\n\t\t\t\tcur.remove();\n\t\t\t}\n\t\t\tthis.currentResults = [];\n\t\t\tlet resultCount = 0;\n\t\t\tfor (let result of results) {\n\t\t\t\tthis.addResult(result, resultCount);\n\t\t\t\tresultCount++;\n\t\t\t\tif (resultCount >= this.settings.maxResults)\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\ttmMessageBuilder(message, params = {}) {\n\t\t\treturn (e) => {\n\t\t\t\tlet event = {\n\t\t\t\t\ttype: message,\n\t\t\t\t\tparamObject: params,\n\t\t\t\t\tevent: e,\n\t\t\t\t};\n\t\t\t\tthis.parentWidget.dispatchEvent(event);\n\t\t\t};\n\t\t}\n\t\tactionProvider(terms) {\n\t\t\tthis.currentSelection = 0;\n\t\t\tthis.hint.innerText = 'Search commands';\n\t\t\tlet results;\n\t\t\tif (terms.length === 0) {\n\t\t\t\tresults = this.getCommandHistory();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tresults = this.actions.filter(a => a.name.toLowerCase().includes(terms.toLowerCase()));\n\t\t\t}\n\t\t\tthis.showResults(results);\n\t\t}\n\n\t\thelpProvider(terms) { //TODO: tiddlerify?\n\t\t\tthis.currentSelection = 0;\n\t\t\tthis.hint.innerText = 'Help';\n\t\t\tlet searches = [\n\t\t\t\t{ name: '... Search', action: () => this.promptCommand('') },\n\t\t\t\t{ name: '> Commands', action: () => this.promptCommand('>') },\n\t\t\t\t{ name: '+ Create tiddler with title', action: () => this.promptCommand('+') },\n\t\t\t\t{ name: '# Search tags', action: () => this.promptCommand('#') },\n\t\t\t\t{ name: '@ List tiddlers with tag', action: () => this.promptCommand('@') },\n\t\t\t\t{ name: '[ Filter operation', action: () => this.promptCommand('[') },\n\t\t\t\t{ name: '| Command Palette Settings', action: () => this.promptCommand('|') },\n\t\t\t\t{ name: '\\\\ Escape first character', action: () => this.promptCommand('\\\\') },\n\t\t\t\t{ name: '? Help', action: () => this.promptCommand('?') },\n\t\t\t];\n\t\t\tthis.showResults(searches);\n\t\t}\n\n\t\tfilterProvider(terms, hint) {\n\t\t\tthis.currentSelection = 0;\n\t\t\tthis.hint.innerText = hint === undefined ? 'Filter operation' : hint;\n\t\t\tterms = '[' + terms;\n\t\t\tlet fields = $tw.wiki.filterTiddlers('[fields[]]');\n\t\t\tlet results = $tw.wiki.filterTiddlers(terms).map(r => { return { name: r } });\n\t\t\tlet insertResult = (i, result) => results.splice(i + 1, 0, result);\n\t\t\tfor (let i = 0; i < results.length; i++) {\n\t\t\t\tlet initialResult = results[i];\n\t\t\t\tlet alreadyMatched = false;\n\t\t\t\tlet date = 'Invalid Date';\n\t\t\t\tif (initialResult.name.length === 17) { //to be sure to only match tiddly dates (17 char long)\n\t\t\t\t\tdate = $tw.utils.parseDate(initialResult.name).toLocaleString();\n\t\t\t\t}\n\t\t\t\tif (date !== \"Invalid Date\") {\n\t\t\t\t\tresults[i].hint = date;\n\t\t\t\t\tresults[i].action = () => { };\n\t\t\t\t\talreadyMatched = true;\n\t\t\t\t}\n\t\t\t\tlet isTag = $tw.wiki.getTiddlersWithTag(initialResult.name).length !== 0;\n\t\t\t\tif (isTag) {\n\t\t\t\t\tif (alreadyMatched) {\n\t\t\t\t\t\tinsertResult(i, { ...results[i] });\n\t\t\t\t\t\ti += 1;\n\t\t\t\t\t}\n\t\t\t\t\tresults[i].action = () => this.promptCommand('@' + initialResult.name);\n\t\t\t\t\tresults[i].hint = 'Tag'; //Todo more info?\n\t\t\t\t\talreadyMatched = true;\n\t\t\t\t}\n\t\t\t\tlet isTiddler = this.tiddlerOrShadowExists(initialResult.name);\n\t\t\t\tif (isTiddler) {\n\t\t\t\t\tif (alreadyMatched) {\n\t\t\t\t\t\tinsertResult(i, { ...results[i] });\n\t\t\t\t\t\ti += 1;\n\t\t\t\t\t}\n\t\t\t\t\tresults[i].action = () => { this.navigateTo(initialResult.name); this.closePalette() }\n\t\t\t\t\tresults[i].hint = 'Tiddler';\n\t\t\t\t\talreadyMatched = true;\n\t\t\t\t}\n\t\t\t\tlet isField = fields.includes(initialResult.name);\n\t\t\t\tif (isField) {\n\t\t\t\t\tif (alreadyMatched) {\n\t\t\t\t\t\tinsertResult(i, { ...results[i] });\n\t\t\t\t\t\ti += 1;\n\t\t\t\t\t}\n\t\t\t\t\tlet parsed;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tparsed = $tw.wiki.parseFilter(this.input.value)\n\t\t\t\t\t} catch (e) { } //The error is already displayed to the user\n\t\t\t\t\tlet foundTitles = [];\n\t\t\t\t\tfor (let node of parsed || []) {\n\t\t\t\t\t\tif (node.operators.length !== 2) continue;\n\t\t\t\t\t\tif (node.operators[0].operator === 'title' && node.operators[1].operator === 'fields') {\n\t\t\t\t\t\t\tfoundTitles.push(node.operators[0].operand);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tlet hint = 'Field';\n\t\t\t\t\tif (foundTitles.length === 1) {\n\t\t\t\t\t\thint = $tw.wiki.getTiddler(foundTitles[0]).fields[initialResult.name];\n\t\t\t\t\t\tif (hint instanceof Date) {\n\t\t\t\t\t\t\thint = hint.toLocaleString();\n\t\t\t\t\t\t}\n\t\t\t\t\t\thint = hint.toString().replace(/(\\r\\n|\\n|\\r)/gm, '');\n\t\t\t\t\t\tlet maxSize = this.settings.maxResultHintSize - 3;\n\t\t\t\t\t\tif (hint.length > maxSize) {\n\t\t\t\t\t\t\thint = hint.substring(0, maxSize);\n\t\t\t\t\t\t\thint += '...';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tresults[i].hint = hint;\n\t\t\t\t\tresults[i].action = () => { };\n\t\t\t\t\talreadyMatched = true;\n\t\t\t\t}\n\t\t\t\t// let isContentType = terms.includes('content-type');\n\t\t\t}\n\t\t\tthis.showResults(results);\n\t\t}\n\n\t\tfilterResolver(e) {\n\t\t\tif (this.currentSelection === 0) return;\n\t\t\tthis.currentResults[this.currentSelection - 1].result.action();\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\thelpResolver(e) {\n\t\t\tif (this.currentSelection === 0) return;\n\t\t\tthis.currentResults[this.currentSelection - 1].result.action();\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tcreateTiddlerProvider(terms) {\n\t\t\tthis.currentSelection = 0;\n\t\t\tthis.hint.innerText = 'Create new tiddler with title @tag(s)';\n\t\t\tthis.showResults([]);\n\t\t}\n\n\t\tcreateTiddlerResolver(e) {\n\t\t\tlet { tags, searchTerms } = this.parseTags(this.input.value.substr(1));\n\t\t\tlet title = searchTerms.join(' ');\n\t\t\ttags = tags.join(' ');\n\t\t\tthis.tmMessageBuilder('tm-new-tiddler', { title: title, tags: tags })(e);\n\t\t\tthis.closePalette();\n\t\t}\n\n\t\tpromptCommand(value, caret) {\n\t\t\tthis.blockProviderChange = false;\n\t\t\tthis.input.value = value;\n\t\t\tthis.input.focus();\n\t\t\tif (caret !== undefined) {\n\t\t\t\tthis.input.setSelectionRange(caret, caret);\n\t\t\t}\n\t\t\tthis.onInput(this.input.value);\n\t\t}\n\n\t\tpromptCommandBasic(value, caret, hint) {\n\t\t\tif (this.settings.neverBasic === 'true' || this.settings.neverBasic === true) { //TODO: validate settings to avoid unnecessary checks\n\t\t\t\tthis.promptCommand(value, caret);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.input.value = \"\";\n\t\t\tthis.blockProviderChange = true;\n\t\t\tthis.currentProvider = this.basicProviderBuilder(value, caret, hint);\n\t\t\tthis.onInput(this.input.value);\n\t\t}\n\n\t\tbasicProviderBuilder(value, caret, hint) {\n\t\t\tlet start = value.substr(0, caret);\n\t\t\tlet end = value.substr(caret);\n\t\t\treturn (input) => {\n\t\t\t\tlet { resolver, provider, terms } = this.parseCommand(start + input + end);\n\t\t\t\tlet backgroundProvider = provider;\n\t\t\t\tbackgroundProvider(terms, hint);\n\t\t\t\tthis.currentResolver = resolver;\n\t\t\t}\n\t\t}\n\n\t\tgetCommandHistory() {\n\t\t\tthis.history = this.history.filter(h => this.actions.some(a => a.name === h)); //get rid of deleted command that are still in history;\n\t\t\tlet results = this.history.map(h => this.actions.find(a => a.name === h));\n\t\t\twhile (results.length <= this.settings.maxResults) {\n\t\t\t\tlet nextDefaultAction = this.actions.find(a => !results.includes(a));\n\t\t\t\tif (nextDefaultAction === undefined)\n\t\t\t\t\tbreak;\n\t\t\t\tresults.push(nextDefaultAction);\n\t\t\t}\n\t\t\treturn results;\n\t\t}\n\t\tactionResolver(e) {\n\t\t\tif (this.currentSelection === 0)\n\t\t\t\treturn;\n\t\t\tlet result = this.actions.find(a => a.name === this.currentResults[this.currentSelection - 1].innerText);\n\t\t\tif (result.keepPalette) {\n\t\t\t\tlet curInput = this.input.value;\n\t\t\t\tthis.goBack = () => {\n\t\t\t\t\tthis.input.value = curInput;\n\t\t\t\t\tthis.blockProviderChange = false;\n\t\t\t\t\tthis.onInput(this.input.value);\n\t\t\t\t};\n\t\t\t}\n\t\t\tthis.updateCommandHistory(result);\n\t\t\tresult.action(e);\n\t\t\te.stopPropagation();\n\t\t\tif (result.immediate) {\n\t\t\t\tthis.validateSelection(e);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!result.keepPalette) {\n\t\t\t\tthis.closePalette();\n\t\t\t}\n\t\t}\n\n\t\tgetCurrentSelection() {\n\t\t\tlet selection = window.getSelection().toString();\n\t\t\tif (selection !== '') return selection;\n\t\t\tlet activeElement = this.getActiveElement();\n\t\t\tif (activeElement === undefined || activeElement.selectionStart === undefined) return '';\n\t\t\tif (activeElement.selectionStart > activeElement.selectionEnd) {\n\t\t\t\treturn activeElement.value.substring(activeElement.selectionStart, activeElement.selectionEnd);\n\t\t\t} else {\n\t\t\t\treturn activeElement.value.substring(activeElement.selectionEnd, activeElement.selectionStart);\n\t\t\t}\n\t\t}\n\t\tgetActiveElement(element = document.activeElement) {\n\t\t\tconst shadowRoot = element.shadowRoot\n\t\t\tconst contentDocument = element.contentDocument\n\n\t\t\tif (shadowRoot && shadowRoot.activeElement) {\n\t\t\t\treturn this.getActiveElement(shadowRoot.activeElement)\n\t\t\t}\n\n\t\t\tif (contentDocument && contentDocument.activeElement) {\n\t\t\t\treturn this.getActiveElement(contentDocument.activeElement)\n\t\t\t}\n\n\t\t\treturn element\n\t\t}\n\t\tfocusAtCaretPosition(el, caretPos) {\n\t\t\tif (el !== null) {\n\t\t\t\tel.value = el.value;\n\t\t\t\t// ^ this is used to not only get \"focus\", but\n\t\t\t\t// to make sure we don't have it everything -selected-\n\t\t\t\t// (it causes an issue in chrome, and having it doesn't hurt any other browser)\n\t\t\t\tif (el.createTextRange) {\n\t\t\t\t\tvar range = el.createTextRange();\n\t\t\t\t\trange.move('character', caretPos);\n\t\t\t\t\trange.select();\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// (el.selectionStart === 0 added for Firefox bug)\n\t\t\t\t\tif (el.selectionStart || el.selectionStart === 0) {\n\t\t\t\t\t\tel.focus();\n\t\t\t\t\t\tel.setSelectionRange(caretPos, caretPos);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\n\t\t\t\t\telse { // fail city, fortunately this never happens (as far as I've tested) :)\n\t\t\t\t\t\tel.focus();\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcreateElement(name, proprieties, styles) {\n\t\t\tlet el = this.document.createElement(name);\n\t\t\tfor (let [propriety, value] of Object.entries(proprieties || {})) {\n\t\t\t\tel[propriety] = value;\n\t\t\t}\n\t\t\tfor (let [style, value] of Object.entries(styles || {})) {\n\t\t\t\tel.style[style] = value;\n\t\t\t}\n\t\t\treturn el;\n\t\t}\n\t\t/*\n\t\t\tSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n\t\t\t*/\n\t\trefresh() {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\texports.commandpalettewidget = CommandPaletteWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"}}}
{
"history": [
"Recent Tiddlers",
"See Plugins",
"Explorer",
"Close other Tiddlers",
"See Mising Tiddlers",
"New Command Wizard",
"Refresh Command Palette",
"See Themes",
"Clone Tiddler",
"Show CommandTiddlers",
"Save Wiki",
"Refresh Server",
"Add tag to tiddler",
"See Drafts",
"Permaview",
"See Shadows Tiddlers",
"See Orphans Tiddlers",
"Remove tag",
"Delete Tiddler",
"Close Tiddler",
"Edit Tiddler",
"See untagged Tiddlers",
"See Languages",
"Cancel Tiddler",
"Save Tiddler",
"Permalink",
"Unfold All Tiddlers",
"Fold All Tiddlers",
"Print",
"Close All Tiddlers",
"Home",
"Toggle Fullscreen",
"New Tiddler"
]
}
[!is[system]!sort[modified]search[]]
{
"tiddlers": {
"$:/plugins/sq/streams/Settings/config": {
"title": "$:/plugins/sq/streams/Settings/config",
"caption": "Configuration",
"text": "\\define sortBySettingsGroupFilter()\n[get[settings-group]!is[blank]else[!general]] [get[settings-group-header]!is[blank]else[99]] +[join[]]\n\\end\n\n<$edit-text tiddler=\"$:/state/sq/streams/settings/search\" class=\"sq-search-input\" default=\"\" tag=\"input\" type=\"search\" placeholder=\"search...\"/>\n\n<div class=\"sq-list-group sq-list-group-box-shadow sq-list-stream-settings\">\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/sq/streams]has[settings-template]] +[search:title,caption,description{$:/state/sq/streams/settings/search}] +[sortsub<sortBySettingsGroupFilter>]\">\n<$list filter={{{[{!!condition}!is[blank]] :else[{!!title}]}}} variable=\"list-condition\">\n<div class=\"sq-list-group-item\">\n<$transclude tiddler={{!!settings-template}}/>\n</div>\n</$list>\n</$list>\n</div>"
},
"$:/plugins/sq/streams/Settings/shortcuts": {
"title": "$:/plugins/sq/streams/Settings/shortcuts",
"caption": "Shortcuts",
"text": "\\import $:/core/ui/ControlPanel/KeyboardShortcuts\n\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/ShortcutInfo/streams-]removeprefix[$:/config/ShortcutInfo/]]\" variable=\"shortcutName\">\n<<shortcut-item>>\n</$list>\n</tbody>\n</table>"
},
"$:/plugins/sq/streams/Settings": {
"title": "$:/plugins/sq/streams/Settings",
"tags": "$:/tags/ControlPanel",
"caption": "Streams",
"text": "<<tabs \"$:/plugins/sq/streams/Settings/config $:/plugins/sq/streams/Settings/shortcuts\" \"$:/plugins/sq/streams/Settings/config\" \"$:/state/streams/settings/tabs\">>"
},
"$:/plugins/sq/streams/action-macros": {
"title": "$:/plugins/sq/streams/action-macros",
"text": "\\whitespace trim\n\n\\define swiped-right-actions()\n<$list filter=\"[{$:/config/sq/streams/swipe-behaviour}match[contextmenu]]\" variable=\"_NULL\">\n<$action-setfield $tiddler=<<contextmenu-state>> $field=\"current\" $value=<<dom-data-node-title>>/>\n<$action-setfield $tiddler=<<contextmenu-state>> $field=\"position\" $value={{$:/config/sq/streams/swipe-contextmenu-position}}/>\n<$action-popup $coords=<<tv-popup-coords>> $state=<<contextmenu-state>>/>\n</$list>\n<$list filter=\"[{$:/config/sq/streams/swipe-behaviour}match[indent]]\" variable=\"_NULL\">\n<$vars currentTiddler=<<dom-data-node-title>>>\n<<indent-node-actions>>\n</$vars>\n</$list>\n\\end\n\n\\define swiped-left-actions()\n<$list filter=\"[{$:/config/sq/streams/swipe-behaviour}match[indent]]\" variable=\"_NULL\">\n<$vars currentTiddler=<<dom-data-node-title>>>\n<<unindent-node-actions>>\n</$vars>\n</$list>\n\\end\n\n\n\\define oncontext-menu-actions()\n<$action-setfield $tiddler=<<contextmenu-state>> $field=\"current\" $value=<<dom-data-node-title>>/>\n<$action-setfield $tiddler=<<contextmenu-state>> $field=\"position\" $value=\"left\"/>\n<$action-popup $coords=<<tv-popup-coords>> $state=<<contextmenu-state>>/>\n\\end\n\n\n\\define node-ctrl-btn-actions()\n<$list filter=\"[<dom-data-btn-role>match[stream-node-visibility]]\" variable=\"NULL\">\n<$action-setfield $tiddler=<<dom-data-rowchildren-visibility-state>> text={{{ [<dom-data-rowchildren-visibility-state>get[text]match[hide]then[show]else[hide]] }}} />\n</$list>\n<$list filter=\"[<dom-data-btn-role>match[stream-node-decorator]]\" variable=\"NULL\">\n<$action-navigate $to=<<dom-data-node-title>>/>\n</$list>\n\\end\n\n\n\\define toggle-row-edit-state()\n<$action-unselect/>\n<$list filter=\"[<row-edit-state>get[text]else[]!match<dom-data-node-title>]\" variable=\"NULL\">\n<$list filter=\"[[$:/status/IsReadOnly]get[text]!is[blank]else[no]!match[yes]]\" variable=\"NULL\">\n\t<$action-setfield $tiddler=<<row-edit-state>> text=<<dom-data-node-title>> />\n<!--\t<$action-setfield $tiddler=<<dom-data-node-title>> throttle.refresh=\"yes\"/>-->\n</$list>\n</$list>\n\\end\n\n\n\\define save-edit-node-actions()\n<!-- handle saving a node being edited -->\n<!-- XXX draft -->\n<!--<$action-deletefield $tiddler={{{ [<dom-data-node-title>!is[blank]else<currentTiddler>] }}} $field=\"throttle.refresh\" />-->\n<$action-deletetiddler $tiddler=<<row-edit-state>> />\n\\end\n\n\n\\define indent-node-actions()\n<!-- handle indenting a node -->\n<$vars previous-node={{{ [{!!parent}get[stream-list]enlist-input[]is[tiddler]before<currentTiddler>] }}}>\n<$list filter=\"[<previous-node>minlength[1]]\" variable=\"_NULL\">\n\t<$action-listops $tiddler=<<previous-node>> $field=\"stream-list\" $subfilter=\"+[is[tiddler]] [<currentTiddler>]\"/>\n\t<$action-listops $tiddler={{!!parent}} $field=\"stream-list\" $subfilter=\"+[is[tiddler]] -[<currentTiddler>]\"/>\n\t<$action-setfield $tiddler=<<currentTiddler>> parent=<<previous-node>> />\n</$list>\n</$vars>\n\\end\n\n\n\\define unindent-node-actions()\n<!-- handle unindenting a node -->\n<$vars new-parent={{{ [{!!parent}get[parent]] }}} new-next-node={{{ [{!!parent}get[parent]get[stream-list]enlist-input[]is[tiddler]after{!!parent}] }}}>\n <$list filter=\"[<new-parent>minlength[1]]\" variable=\"_NULL\">\n <$action-listops $tiddler=<<new-parent>> $field=\"stream-list\" $subfilter=\"+[is[tiddler]] +[insertbefore:new-next-node<currentTiddler>]\"/>\n <$action-listops $tiddler={{!!parent}} $field=\"stream-list\" $subfilter=\"+[is[tiddler]] -[<currentTiddler>]\"/>\n <$action-setfield $tiddler=<<currentTiddler>> parent=<<new-parent>> />\n </$list>\n</$vars>\n\\end\n\n\n\\define demote-node-actions()\n<!-- move a node below the next node -->\n<$list filter=\"[{!!parent}get[stream-list]enlist-input[]after<currentTiddler>]\" variable=\"next-node\">\n <$action-listops $tiddler={{!!parent}} $field=\"stream-list\" $subfilter=\"+[insertbefore:currentTiddler<next-node>]\"/>\n</$list>\n\\end\n\n\n\\define promote-node-actions()\n<!-- move a node above the previous node -->\n<$list filter=\"[{!!parent}get[stream-list]enlist-input[]before<currentTiddler>]\" variable=\"previous-node\">\n <$action-listops $tiddler={{!!parent}} $field=\"stream-list\" $subfilter=\"+[insertbefore:previous-node<currentTiddler>]\"/>\n</$list>\n\\end\n\n\n\\define save-node-actions()\n<$list filter=\"\"\"[{$:/config/sq/streams/split-at-caret}match[yes]]\"\"\" variable=\"_NULL\" emptyMessage=<<add-node-actions>> >\n<$list filter=\"[<selectionEnd>!is[blank]else[0]!match[0]]\" variable=\"_NULL\">\n<$list filter=\"[<currentTiddler>get[text]length[]subtract<selectionEnd>!match[0]]\" variable=\"_NULL\" emptyMessage=<<add-node-actions>>>\n\t<$macrocall $name=\"add-node-actions\" startText={{{[<currentTiddler>get[text]split[]rest<selectionEnd>join[]trim[]]}}} streamList={{!!stream-list}} /><!--insertPosition=\"title\"-->\n\t<$action-setfield $tiddler=\"$:/state/sq/streams/caret-position\" text=\"0\"/>\n\t<$action-setfield $tiddler=<<currentTiddler>> text={{{[<currentTiddler>get[text]split[]first<selectionEnd>join[]]}}} stream-list=\"\"/>\n</$list>\n</$list>\n<$list filter=\"[<selectionEnd>!is[blank]else[0]match[0]]\" variable=\"_NULL\">\n\t<$list filter=\"[<currentTiddler>!has[text]]\" variable=\"_NULL\" emptyMessage=<<add-node-actions \"\" \"title\">> >\n\t\t<$list filter=\"\"\"[{$:/config/sq/streams/exit-on-saving-empty-node}match[yes]]\"\"\" variable=\"_NULL\" emptyMessage=<<add-node-actions>> >\n\t\t\t<<cancel-edit-node-actions>>\n\t\t</$list>\n\t</$list>\n</$list>\n</$list>\n\\end\n\n\\define add-new-node-actions()\n<!-- used by new node button at the bottom of a stream -->\n<$list filter=\"[[$:/status/IsReadOnly]get[text]!is[blank]else[no]!match[yes]]\" variable=\"NULL\">\n<<add-node-actions>>\n</$list>\n\\end\n\n\n\\define add-node-actions(startText:\"\",insertPosition:\"after\",streamList:\"\")\n<!-- handle saving a node edit and creating a new subsequent node -->\n<$set name=\"parent\" filter=\"[<currentTiddler>match<stream-root-title>] ~[{!!parent}] +[first[]]\" select=\"0\">\n<$wikify name=\"new-node\" text={{$:/config/sq/streams/new-node-title}}>\n<$wikify name=\"new-node\" text={{{[[<<unusedtitle \"\"\"]addsuffix<new-node>addsuffix[\"\"\">>]]}}}>\n\t<$action-createtiddler $basetitle=<<new-node>> text=<<__startText__>> $template={{$:/config/sq/streams/new-node-tiddler-template}} parent=<<parent>> stream-type=\"default\" stream-list=<<__streamList__>>/>\n\t<$set name=\"parent-nodes\" filter=\"[<parent>get[stream-list]]\" select=\"0\">\n\t<$set name=\"next-node\" filter=\"[enlist<parent-nodes>is[tiddler]$insertPosition$<currentTiddler>]\" select=\"0\">\n\t<$action-listops $tiddler=<<parent>> $field=\"stream-list\" $subfilter=\"+[is[tiddler]] +[insertbefore:next-node<new-node>]\"/>\n\t<$list filter=\"[<parent>!has[stream-type]]\" variable=\"_NULL\">\n\t\t<$action-setfield $tiddler=<<parent>> stream-type=\"default\"/>\n\t</$list>\n\t</$set>\n\t</$set>\n\t<$action-setfield $tiddler=<<row-edit-state>> text=<<new-node>>/>\n</$wikify>\n</$wikify>\n</$set>\n\\end\n\n\n\\define save-multiple-actions()\n<!-- handle multiple nodes entered at once -->\n<$action-confirm $message=\"Split into multiple nodes?\" $prompt={{$:/config/sq/streams/prompt-split-to-multiple}}>\n<$list filter=\"[{!!text}splitregexp{$:/config/sq/streams/node-split-regexp}rest[]reverse[]]\" variable=\"fragment\">\n\t<$action-confirm $message=\"Split into multiple nodes?\" $prompt=\"no\">\n\t\t<$macrocall $name=\"add-node-actions\" startText=<<fragment>> />\n\t</$action-confirm>\n</$list>\n<$action-setfield $tiddler=<<currentTiddler>> text={{{[{!!text}splitregexp{$:/config/sq/streams/node-split-regexp}first[]]}}}/>\n<<add-node-actions>>\n</$action-confirm>\n\\end\n\n\n\\define cancel-edit-node-actions()\n<!-- handle cancelling the edit on an empty node -->\n<$list filter=\"[<currentTiddler>!has[stream-list]!has[text]]\" variable=\"_NULL\">\n\t<$action-listops $tiddler={{{[{!!parent}]}}} $field=\"stream-list\" $subfilter=\"+[is[tiddler]] -[<currentTiddler>]\"/>\n\t<$action-deletetiddler $tiddler=<<currentTiddler>> />\n</$list>\n<!--<$action-deletefield $tiddler=<<currentTiddler>> $field=\"throttle.refresh\" />-->\n<$action-deletetiddler $tiddler=<<row-edit-state>> />\n\\end\n\n\n\\define merge-with-previous-node-actions()\n<!-- handle backspace on an empty node -->\n<$list filter=\"\"\"[<currentTiddler>!has[text]]\"\"\" variable=\"_NULL\">\n\t<<cancel-edit-node-actions>>\n\t<<focus-higher-node-actions>>\n</$list>\n\n<$list filter=\"\"\"[<currentTiddler>has[text]]\"\"\" variable=\"_NULL\">\n<$list filter=\"[<selectionEnd>match[0]]\" variable=\"_NULL\">\n\n<!--<$action-log/>-->\n\t<$set name=\"parent\" value={{!!parent}} select=\"0\">\n\t<$set name=\"stream-list\" filter=\"[<parent>get[stream-list]]\" select=\"0\">\n\t<$list filter=\"[enlist<stream-list>before<currentTiddler>]\" variable=\"previous-node\">\n\t\t<$list filter=\"[<previous-node>!has[stream-list]]\" variable=\"_NULL\">\n\t\t<$action-confirm $message=\"Merge with previous node?\" $prompt={{$:/config/sq/streams/prompt-merge-with-previous}}>\n\t\t\t<$action-setfield $tiddler=\"$:/state/sq/streams/caret-position\" text={{{[<previous-node>get[text]length[]]}}}/>\n\t\t\t<$action-setfield $tiddler=<<previous-node>> text={{{[<previous-node>get[text]!is[blank]else[]addsuffix{!!text}]}}} stream-list={{!!stream-list}}/>\n\t\t\t<$action-setfield $tiddler=<<row-edit-state>> text=<<previous-node>>/>\n\t\t\t<$action-listops $tiddler={{!!parent}} $field=\"stream-list\" $subfilter=\"+[is[tiddler]] -[<currentTiddler>]\"/>\t\t\t\n\t\t\t<$action-deletetiddler $tiddler=<<currentTiddler>>/>\n\t\t</$action-confirm>\t\n\t\t</$list>\n\t</$list>\n\t</$set>\n\t</$set>\n\t\n</$list>\n</$list>\n\n\\end\n\n\n\\define delete-node-actions()\n<$action-confirm $message=\"Do you wish to delete this tiddler?\">\n\t<$transclude tiddler=\"$:/plugins/sq/streams/delete-hook/actions\"/>\n\t<$action-deletetiddler $tiddler=<<currentTiddler>> />\n\t<$list filter=\"[<row-edit-state>get[text]match<currentTiddler>]\">\n\t\t<<focus-higher-node-actions>>\n\t</$list>\n</$action-confirm>\n\\end\n\n\n\\define rename-node-actions()\n<$action-withinput message=\"Rename this tiddler?\" default=<<currentTiddler>> actions=\"\"\"\n\t<$action-sendmessage $message=\"tm-rename-tiddler\" from=<<currentTiddler>> to=<<userInput>>/>\n\t<$list filter=\"[<row-edit-state>match<currentTiddler>]\" variable=\"_NULL\">\n\t\t<$action-setfield $tiddler=<<row-edit-state>> text=<<userInput>>/>\n\t</$list>\n\"\"\"/>\n\\end\n\n\n\\define find-last-child()\n<!-- used by focus-higher-node-actions macro -->\n<$list filter=\"[enlist{!!stream-list}is[tiddler]last[]]\" emptyMessage=\"\"\"<$action-setfield $tiddler=<<row-edit-state>> text=<<currentTiddler>>/>\"\"\">\n\t<$macrocall $name=\"find-last-child\"/>\n</$list>\n\\end\n\n\n\\define focus-higher-node-actions()\n<!-- handles moving up in the nodes with the keyboard -->\n<$vars old-parent={{!!parent}} >\n<$list filter=\"[{!!parent}get[stream-list]enlist-input[]is[tiddler]before<currentTiddler>]\" emptyMessage=\"\"\"<$list filter=\"[<old-parent>!match<stream-root-title>]\"><$action-setfield $tiddler=<<row-edit-state>> text=<<old-parent>> /></$list>\"\"\">\n\t<$macrocall $name=\"find-last-child\"/>\n</$list>\n</$vars>\n\\end\n\n\n\\define find-next-downwards-node()\n<!-- used by focus-lower-node-actions macro -->\n<$list filter=\"[<currentTiddler>has[parent]]\" variable=\"_NULL\">\n<$set name=\"old-parent\" value={{!!parent}} select=\"0\">\n<$set name=\"old-parent-nodes\" filter=\"[<old-parent>get[stream-list]]\" select=\"0\">\n<$list filter=\"[enlist<old-parent-nodes>is[tiddler]after<currentTiddler>]\" emptyMessage=\"\"\"<$set name=\"currentTiddler\" value=<<old-parent>>><<find-next-downwards-node>></$set>\"\"\">\n\t<$action-setfield $tiddler=<<row-edit-state>> text=<<currentTiddler>>/>\t\n</$list>\n</$set>\n</$set>\n</$list>\n\\end\n\n\n\\define focus-lower-node-actions()\n<!-- handles moving down in the nodes with the keyboard -->\n<!--if children, get the first child-->\n<$list filter=\"[<currentTiddler>get[stream-list]enlist-input[]is[tiddler]first[]]\" variable=\"next-node\">\n <$action-setfield $tiddler=<<row-edit-state>> text=<<next-node>> />\n</$list>\n<!-- if no children-->\n<!--- get closest ancestor with next sibling -->\n<$list filter=\"[<currentTiddler>!has[stream-list]]\" variable=\"_NULL\">\n\t<$set name=\"old-active-node\" value=<<currentTiddler>> >\n\t\t<<find-next-downwards-node>>\n\t</$set>\n</$list>\n\\end\n\n\n\\define node-drag-start-actions()\n<!-- parameter to draggable widget -->\n<$action-setfield $tiddler=<<drag-title-state>> text=<<currentTiddler>>/>\n<$action-setfield $tiddler=\"$:/state/sq/nodes/global-drag-state\" text=\"yes\"/>\n<$set name=\"siblings\" filter=\"[{!!parent}get[stream-list]]\" select=\"0\">\n<$list filter=\"[enlist<siblings>after<currentTiddler>]\" variable=\"next-node\">\n\t<$action-setfield $tiddler=<<drag-title-nextsibling-state>> text=<<next-node>> />\n</$set>\n\\end\n\n\n\\define node-drag-end-actions()\n<!-- parameter to draggable widget -->\n<$action-deletetiddler $filter=\"\"\"[<drag-title-state>][<drag-title-nextsibling-state>][[$:/state/sq/nodes/global-drag-state]]\"\"\" />\n\\end\n\n\n\\define stream-drop-actions()\n<!-- handles drag and drop -->\n<$vars startBrackets=\"[[\" endBrackets=\"]]\" parent=<<dropTargetTiddler>> >\n<$vars actionTiddler={{{[<actionTiddler>trim:suffix<endBrackets>trim:prefix<startBrackets>]}}}>\n<!-- if target has no stream-type, assign one -->\n<$list filter=\"[<dropTargetTiddler>!has[stream-type]]\">\n\t<$action-setfield $tiddler=<<dropTargetTiddler>> stream-type=\"default\"/>\n</$list>\n<!-- if action tiddler has no stream-type, assign one -->\n<$list filter=\"[<actionTiddler>!has[stream-type]]\" variable=\"_NULL\">\n\t<$action-setfield $tiddler=<<actionTiddler>> stream-type=\"default\" />\n</$list>\n<!-- if we are dropping onto a new parent, then we might need to handle modifier keys -->\n<$list filter=\"[<actionTiddler>get[parent]!match<parent>] [<actionTiddler>!has[parent]]\" variable=\"_NULL\">\n\t<$wikify name=\"new-node\" text={{$:/config/sq/streams/new-node-title}}>\n\t\t<!-- ctrl modifier key on drop event -->\n\t\t<!-- create a new node with text of dropped node -->\n\t\t<$list filter=\"[<modifier>match{$:/config/sq/streams/dnd-modifier-copy-node}]\" variable=\"_NULL\">\n\t\t\t<$action-createtiddler $basetitle=<<new-node>> text={{{ [<actionTiddler>get[text]] }}} parent=<<parent>> stream-type=\"default\"/>\n\t\t\t<!-- insert into correct position on new parent -->\n\t\t\t<$action-listops $tiddler=<<dropTargetTiddler>> $field=\"stream-list\" $subfilter=\"+[insertbefore:currentTiddler<new-node>]\"/>\n\t\t</$list>\n\t\t<!-- shift modifier key on drop event -->\n\t\t<$list filter=\"[<modifier>match{$:/config/sq/streams/dnd-modifier-transclude-node}]\" variable=\"_NULL\">\n\t\t\t<!-- create new node on target, in correct position, text is a transclusion-->\n\t\t\t<$action-createtiddler $basetitle=<<new-node>> text={{{ [<actionTiddler>addprefix[{{]addsuffix[}}]] }}} parent=<<parent>> stream-type=\"default\"/>\n\t\t\t<!-- insert into correct position on new parent -->\n\t\t\t<$action-listops $tiddler=<<dropTargetTiddler>> $field=\"stream-list\" $subfilter=\"+[insertbefore:currentTiddler<new-node>]\"/>\n\t\t</$list>\n\t</$wikify>\n\t<!-- no modifier key on drop event -->\n\t<!-- insert in correct position on new parent, and remove from old parent -->\n\t<!-- assign new parent -->\n\t<$list filter=\"[<modifier>match[normal]]\" variable=\"_NULL\">\n\t\t<$action-listops $tiddler=<<dropTargetTiddler>> $field=\"stream-list\" $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\t\t<$set name=\"original-parent\" filter=\"[<actionTiddler>get[parent]]\" select=\"0\">\n\t\t\t<$action-listops $tiddler=<<original-parent>> $field=\"stream-list\" $subfilter=\"-[title<actionTiddler>]\"/>\n\t\t</$set>\n\t\t<$action-setfield $tiddler=<<actionTiddler>> parent=<<parent>>/>\n\t</$list>\n</$list>\n<!-- we are dropping on to the same parent, insert in the correct position -->\n<$list filter=\"[<actionTiddler>get[parent]match<parent>]\" variable=\"_NULL\">\n\t<$action-listops $tiddler=<<dropTargetTiddler>> $field=\"stream-list\" $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n</$list>\n</$vars>\n</$vars>\n\\end"
},
"$:/plugins/sq/streams/icons/node-expand-arrow": {
"title": "$:/plugins/sq/streams/icons/node-expand-arrow",
"created": "20200526035137040",
"modified": "20200526100520031",
"type": "text/vnd.tiddlywiki",
"text": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><path d=\"M13.75 9.56879C14.0833 9.76124 14.0833 10.2424 13.75 10.4348L8.5 13.4659C8.16667 13.6584 7.75 13.4178 7.75 13.0329L7.75 6.97072C7.75 6.58582 8.16667 6.34525 8.5 6.5377L13.75 9.56879Z\"></path></svg>"
},
"$:/config/ShortcutInfo/streams-cancel-edit": {
"title": "$:/config/ShortcutInfo/streams-cancel-edit",
"text": "Cancel and exit editing"
},
"$:/config/ShortcutInfo/streams-delete": {
"title": "$:/config/ShortcutInfo/streams-delete",
"text": "Delete node"
},
"$:/config/ShortcutInfo/streams-demote": {
"title": "$:/config/ShortcutInfo/streams-demote",
"text": "Demote node"
},
"$:/config/ShortcutInfo/streams-focus-higher": {
"title": "$:/config/ShortcutInfo/streams-focus-higher",
"text": "Move focus to higher node"
},
"$:/config/ShortcutInfo/streams-focus-lower": {
"title": "$:/config/ShortcutInfo/streams-focus-lower",
"text": "Move focus to lower node"
},
"$:/config/ShortcutInfo/streams-indent": {
"title": "$:/config/ShortcutInfo/streams-indent",
"text": "Indent node"
},
"$:/config/ShortcutInfo/streams-merge-with-previous": {
"title": "$:/config/ShortcutInfo/streams-merge-with-previous",
"text": "Merge with previous node, if caret is at start of a node"
},
"$:/config/ShortcutInfo/streams-promote": {
"title": "$:/config/ShortcutInfo/streams-promote",
"text": "Promote node"
},
"$:/config/ShortcutInfo/streams-rename": {
"title": "$:/config/ShortcutInfo/streams-rename",
"text": "Rename node"
},
"$:/config/ShortcutInfo/streams-save-and-continue": {
"title": "$:/config/ShortcutInfo/streams-save-and-continue",
"text": "Save and create next node"
},
"$:/config/ShortcutInfo/streams-save-and-exit": {
"title": "$:/config/ShortcutInfo/streams-save-and-exit",
"text": "Save and exit editing"
},
"$:/config/ShortcutInfo/streams-save-multiple": {
"title": "$:/config/ShortcutInfo/streams-save-multiple",
"text": "Split and save as multiple nodes"
},
"$:/config/ShortcutInfo/streams-unindent": {
"title": "$:/config/ShortcutInfo/streams-unindent",
"text": "Unindent node"
},
"$:/config/sq/streams/dnd-modifier-copy-node": {
"title": "$:/config/sq/streams/dnd-modifier-copy-node",
"description": "Modifier key for drag and drop to create a copy of a node.",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/select",
"option-names": "ctrl alt shift meta",
"option-values": "ctrl alt shift meta",
"caption": "Modifier key to copy a node when dragging.",
"text": "ctrl"
},
"$:/config/sq/streams/dnd-modifier-transclude-node": {
"title": "$:/config/sq/streams/dnd-modifier-transclude-node",
"description": "Modifier key for drag and drop to create a transclusion of a node.",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/select",
"option-names": "ctrl alt shift meta",
"option-values": "ctrl alt shift meta",
"caption": "Modifier key to transclude a node when dragging.",
"text": "shift"
},
"$:/config/sq/streams/editor-engine": {
"title": "$:/config/sq/streams/editor-engine",
"description": "Editor to use for Streams",
"caption": "Editor to use for Streams",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/select",
"option-names": "[[Default]] [[CodeMirror]]",
"option-values": "text codemirror",
"condition": "[[widget]modules[]prefix[$:/plugins/tiddlywiki/codemirror/edit-codemirror.js]]",
"text": "text"
},
"$:/config/sq/streams/enable-breadcrumbs": {
"title": "$:/config/sq/streams/enable-breadcrumbs",
"description": "Enable breadcrumbs in nodes",
"caption": "Show breadcrumbs",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/input-switch",
"text": "yes"
},
"$:/config/sq/streams/enable-edit-toolbar": {
"title": "$:/config/sq/streams/enable-edit-toolbar",
"description": "Enable toolbar in editor",
"caption": "Show toolbar in editor",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/input-switch",
"text": "no"
},
"$:/config/sq/streams/exit-on-saving-empty-node": {
"title": "$:/config/sq/streams/exit-on-saving-empty-node",
"description": "Enable to exit edit mode on saving an empty node",
"caption": "Exit editing on saving an empty node",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/input-switch",
"text": "no"
},
"$:/config/sq/streams/new-node-tiddler-template": {
"title": "$:/config/sq/streams/new-node-tiddler-template",
"description": "T iddler to use as a template for new nodes",
"caption": "Tiddler to use as new node template",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/input"
},
"$:/config/sq/streams/new-node-title": {
"title": "$:/config/sq/streams/new-node-title",
"description": "Wikitext that is wikified to generate the title for new nodes",
"caption": "Template wikified for node title",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/input",
"text": "<<stream-root-title>>/<<now \"[UTC]YYYY0MM0DD0hh0mm0ssXXX\">>"
},
"$:/config/sq/streams/node-max-width": {
"title": "$:/config/sq/streams/node-max-width",
"description": "Maximum displayed width of a Stream node",
"caption": "Maximum node width",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/input",
"text": "550"
},
"$:/config/sq/streams/node-split-regexp": {
"title": "$:/config/sq/streams/node-split-regexp",
"description": "Regular expression that is used to split longform text into multiple tiddlers",
"caption": "Regular expression used to split text",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/input",
"text": "\\n\\n"
},
"$:/config/sq/streams/prompt-merge-with-previous": {
"title": "$:/config/sq/streams/prompt-merge-with-previous",
"description": "Enable to be prompted before merging a node with the previous node",
"caption": "Prompt before merging with previous",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/input-switch",
"text": "yes"
},
"$:/config/sq/streams/prompt-split-to-multiple": {
"title": "$:/config/sq/streams/prompt-split-to-multiple",
"description": "Enable to be prompted before splitting a node to multiple nodes",
"caption": "Prompt before creating multiple nodes",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/input-switch",
"text": "yes"
},
"$:/config/shortcuts/streams-cancel-edit": {
"title": "$:/config/shortcuts/streams-cancel-edit",
"created": "20200914162547334",
"modified": "20200914162547341",
"type": "text/vnd.tiddlywiki",
"text": "Escape"
},
"$:/config/shortcuts/streams-delete": {
"title": "$:/config/shortcuts/streams-delete",
"created": "20200914163552494",
"modified": "20200914163552502",
"type": "text/vnd.tiddlywiki",
"text": "ctrl-Delete"
},
"$:/config/shortcuts/streams-demote": {
"title": "$:/config/shortcuts/streams-demote",
"created": "20200914163104446",
"modified": "20200914163104456",
"type": "text/vnd.tiddlywiki",
"text": "alt-Down"
},
"$:/config/shortcuts/streams-focus-higher": {
"title": "$:/config/shortcuts/streams-focus-higher",
"created": "20200914163342651",
"modified": "20200914163342659",
"type": "text/vnd.tiddlywiki",
"text": "ctrl-Up"
},
"$:/config/shortcuts/streams-focus-lower": {
"title": "$:/config/shortcuts/streams-focus-lower",
"created": "20200914163347755",
"modified": "20200914163347764",
"type": "text/vnd.tiddlywiki",
"text": "ctrl-Down"
},
"$:/config/shortcuts/streams-indent": {
"title": "$:/config/shortcuts/streams-indent",
"created": "20200914162901728",
"modified": "20200914162901735",
"type": "text/vnd.tiddlywiki",
"text": "Tab"
},
"$:/config/shortcuts/streams-merge-with-previous": {
"title": "$:/config/shortcuts/streams-merge-with-previous",
"created": "20200914164323982",
"modified": "20200914164323991",
"type": "text/vnd.tiddlywiki",
"text": "Backspace"
},
"$:/config/shortcuts/streams-promote": {
"title": "$:/config/shortcuts/streams-promote",
"created": "20200914163110776",
"modified": "20200914163110785",
"type": "text/vnd.tiddlywiki",
"text": "alt-Up"
},
"$:/config/shortcuts/streams-rename": {
"title": "$:/config/shortcuts/streams-rename",
"created": "20200914163600676",
"modified": "20200914163600683",
"type": "text/vnd.tiddlywiki",
"text": "alt-R"
},
"$:/config/shortcuts/streams-save-and-continue": {
"title": "$:/config/shortcuts/streams-save-and-continue",
"created": "20200914164329638",
"modified": "20200914164329647",
"type": "text/vnd.tiddlywiki",
"text": "Enter"
},
"$:/config/shortcuts/streams-save-and-exit": {
"title": "$:/config/shortcuts/streams-save-and-exit",
"created": "20200914163850209",
"modified": "20200914163850217",
"type": "text/vnd.tiddlywiki",
"text": "ctrl-Enter"
},
"$:/config/shortcuts/streams-save-multiple": {
"title": "$:/config/shortcuts/streams-save-multiple",
"created": "20200914163843685",
"modified": "20200914163843694",
"type": "text/vnd.tiddlywiki",
"text": "alt-Enter"
},
"$:/config/shortcuts/streams-unindent": {
"title": "$:/config/shortcuts/streams-unindent",
"created": "20200914162907631",
"modified": "20200914162907639",
"type": "text/vnd.tiddlywiki",
"text": "shift-Tab"
},
"$:/config/sq/streams/split-at-caret": {
"title": "$:/config/sq/streams/split-at-caret",
"description": "Enable to split text at caret position on saving a node",
"caption": "Split text at caret position",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/input-switch",
"text": "yes"
},
"$:/config/sq/streams/stream-enable-filter": {
"title": "$:/config/sq/streams/stream-enable-filter",
"description": "Filter that determines which tiddlers get the add node button at the bottom",
"caption": "Filter to enable Streams",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/input",
"text": "[!is[shadow]]"
},
"$:/config/sq/streams/swipe-behaviour": {
"title": "$:/config/sq/streams/swipe-behaviour",
"description": "Choose whether swipe should show a contextmenu, or be used to indent/unindent nodes.",
"caption": "Swipe behaviour",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/select",
"option-names": "[[Show ContextMenu]] [[Indent / Un-indent]]",
"option-values": "contextmenu indent",
"condition": "[[$:/config/sq/streams/swipe-behaviour-animated]!is[missing]]",
"text": "contextmenu"
},
"$:/config/sq/streams/swipe-contextmenu-position": {
"title": "$:/config/sq/streams/swipe-contextmenu-position",
"description": "Position of context menu shown on swiping.",
"caption": "Position of context menu shown on swiping.",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/select",
"settings-group": "swipe",
"option-names": "[[Right]] [[Left]]",
"option-values": "right left",
"condition": "[[$:/config/sq/streams/swipe-enabled]get[text]match[yes]]",
"text": "right"
},
"$:/config/sq/streams/swipe-enabled": {
"title": "$:/config/sq/streams/swipe-enabled",
"description": "Enable swipe to show context menu on touch devices.",
"caption": "Enable swipe to show context menu on nodes.",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/input-switch",
"settings-group": "swipe",
"settings-group-header": "0",
"text": "yes"
},
"$:/config/sq/streams/swipe-threshold": {
"title": "$:/config/sq/streams/swipe-threshold",
"description": "Distance in pixels that triggers a swipe, defaults to 100",
"caption": "Swipe threshold in pixels",
"settings-template": "$:/plugins/sq/streams/ui/templates/settings/input",
"settings-group": "swipe",
"condition": "[[$:/config/sq/streams/swipe-enabled]get[text]match[yes]]",
"text": "70"
},
"$:/plugins/sq/streams/contextmenu/contextmenu-styles": {
"title": "$:/plugins/sq/streams/contextmenu/contextmenu-styles",
"text": ".sq-contextmenu {\n\tpadding: 12px 0;\n\tbox-shadow: rgba(0, 0, 0, 0.40) 0px 2px 20px;\n\tfont-family: \"Segoe UI\", Roboto, Helvetica, Arial;\n\tfont-size: 13px;\n\tmargin-top: 4px;\n\tmin-width: 100px;\n\tmax-width: 240px;\n\tleft: -16px;\n\tdisplay: flex;\n\tflex-direction: column;\n\tborder-radius: 6px;\n\tborder: 1px solid #dce0e2;\n\ttransition: opacity 200ms ease 0s, transform 200ms ease 0s;\n\tmargin-top: 30px;\n}\n\n.sq-contextmenu-alignright {\n\ttransform: translate3d(-100%,0,0);\n}\n\n.sq-contextmenu .tc-menu-list-item {\n\tpadding: 0 18px;\n\tline-height: 24px;\n\twhite-space: nowrap;\n\tcolor: #4b5155;\n\tcursor: default !important;\n\ttext-indent: 0;\n}\n\n.sq-contextmenu-itemwrapper {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tposition: relative;\t\n}\n\n.sq-contextmenu-itemtext {\n\tdisplay: flex;\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n\tflex-grow: 1;\n\toverflow: hidden;\t\n}\n\n.sq-contextmenu-itemicon {\n\tcolor: #b7bcbf;\n\tmargin-left: 16px;\n\tmin-width: 22px;\t\n}\n\n.sq-contextmenu-divider {\n\tborder-top-width: 1px;\n\tborder-top-color: #eceef0;\n\tborder-top-style: solid;\n\tmargin: 6px 0;\n}",
"created": "20200602120854810",
"modified": "20200603055942655",
"tags": "$:/tags/Stylesheet",
"type": "text/css"
},
"$:/plugins/sq/streams/contextmenu/contextmenu-template": {
"title": "$:/plugins/sq/streams/contextmenu/contextmenu-template",
"created": "20200602163018613",
"modified": "20200603055942658",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "\\define menu-item(title,subtitle:\"\",actions:\"\")\n\t\t<$button class=\"tc-menu-list-item tc-btn-invisible\" actions=<<__actions__>> >\n\t\t\t<span class=\"sq-contextmenu-itemwrapper\">\n\t\t\t\t<span class=\"sq-contextmenu-itemtext\">$title$</span>\n\t\t\t\t<span class=\"sq-contextmenu-itemicon\"><$macrocall $name=\"displayshortcuts\" $output=\"text/plain\" shortcuts=\"$subtitle$\" prefix=\"\" separator=\" \" suffix=\"\"/></span>\n\t\t\t</span>\n\t\t</$button>\n\\end\n\n\\define menu-divider() <div class=\"sq-contextmenu-divider\"/>\n\n<$reveal type=\"popup\" state=<<contextmenu-state>> position={{{[<contextmenu-state>get[position]]}}} tag=\"div\">\n\t<div class={{{tc-drop-down sq-contextmenu [<contextmenu-state>get[position]match[right]then[sq-contextmenu-alignright]else[]] +[join[ ]]}}}>\n\t\t<$macrocall $name=\"menu-item\" title=\"Open\" actions=\"\"\"<$action-navigate/>\"\"\"/>\n\t\t<$macrocall $name=\"menu-item\" title=\"Rename\" subtitle=\"((streams-rename))\" actions=<<rename-node-actions>>/>\n\t\t<$macrocall $name=\"menu-item\" title=\"Delete\" subtitle=\"((streams-delete))\" actions=<<delete-node-actions>>/>\n\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/streams/contextmenu]]\" variable=\"listItem\">\n\t\t\t<$macrocall $name=\"menu-item\"\n\t\t\t\ttitle={{{[<listItem>get[sq-contextmenu-name]]}}} \n\t\t\t\tsubtitle={{{[<listItem>get[key]] [<listItem>get[sq-contextmenu-subtitle]] +[first[]]}}} \n\t\t\t\tactions={{{[<listItem>get[text]]}}} />\n\t\t</$list>\n\t\t<<menu-divider>>\n\t\t<$macrocall $name=\"menu-item\" title=\"Keyboard Shortcuts (?)\" actions=\"\"\"<$action-navigate $to=\"$:/plugins/sq/streams/info/keyboard-shortcuts\"/>\"\"\"/>\n\t</div>\n</$reveal>"
},
"$:/plugins/sq/streams/codemirror-tweak": {
"title": "$:/plugins/sq/streams/codemirror-tweak",
"text": "/*\\\n\ntitle: $:/plugins/sq/streams/codemirror-tweak\ntype: application/javascript\nmodule-type: startup\n\n\\*/\n\nexports.platforms = [\"browser\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\n\tif($tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/codemirror\") && ($tw.wiki.getTiddlerText(\"$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/codemirror\",\"no\") === \"no\")) {\n\t\tvar CMEngine = require(\"$:/plugins/tiddlywiki/codemirror/engine.js\").CodeMirrorEngine;\n\t\tCMEngine.prototype.focus = function() {\n\t\t\tthis.cm.focus();\n\t\t\tvar caretPosition = this.widget.getAttribute(\"caretPosition\",\"end\");\t\n\t\t\tvar index = (caretPosition === \"end\") ? this.cm.getValue().length : parseInt(caretPosition);\n\t\t\tthis.cm.doc.setSelection(this.cm.doc.posFromIndex(index));\n\t\t}\n\t}\n\n}",
"type": "application/javascript",
"module-type": "startup"
},
"$:/plugins/sq/streams/draggable-tweaks.js": {
"title": "$:/plugins/sq/streams/draggable-tweaks.js",
"text": "/*\\\ntitle: $:/plugins/sq/streams/draggable-tweaks.js\ntype: application/javascript\nmodule-type: widget-subclass\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.baseClass = \"draggable\";\n\nexports.constructor = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\nexports.prototype = {};\n\nexports.prototype.render = function(parent,nextSibling) {\n\t// Call the base class handleChangeEvent function\n\tObject.getPrototypeOf(Object.getPrototypeOf(this)).render.call(this,parent,nextSibling);\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(v,a) {\n\t\tif(a.substring(0,10) === \"data-node-\") {\n\t\t\ttry {\n\t\t\t\tself.domNodes[0].setAttributeNS(null,a,v);\n\t\t\t} catch(e){\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t});\n};\n\n})();",
"type": "application/javascript",
"module-type": "widget-subclass"
},
"$:/plugins/sq/streams/droppable-tweaks.js": {
"title": "$:/plugins/sq/streams/droppable-tweaks.js",
"text": "/*\\\ntitle: $:/plugins/sq/streams/droppable-tweaks.js\ntype: application/javascript\nmodule-type: widget-subclass\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.baseClass = \"droppable\";\n\nexports.constructor = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\nexports.prototype = {};\n\nexports.prototype.render = function(parent,nextSibling) {\n\t// Call the base class handleChangeEvent function\n\tObject.getPrototypeOf(Object.getPrototypeOf(this)).render.call(this,parent,nextSibling);\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(v,a) {\n\t\tif(a.substring(0,10) === \"data-node-\") {\n\t\t\ttry {\n\t\t\t\tself.domNode.setAttributeNS(null,a,v);\n\t\t\t} catch(e){\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t});\n};\n\n})();",
"type": "application/javascript",
"module-type": "widget-subclass"
},
"$:/plugins/sq/streams/framed-engine-tweak": {
"title": "$:/plugins/sq/streams/framed-engine-tweak",
"text": "/*\\\n\ntitle: $:/plugins/sq/streams/framed-engine-tweak\ntype: application/javascript\nmodule-type: startup\n\n\\*/\n\nvar FramedEngine = require(\"$:/core/modules/editor/engines/framed.js\").FramedEngine;\n\nFramedEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tif(this.widget.getAttribute(\"select\")===\"false\") {\n\t\t\tvar caretPosition = this.widget.getAttribute(\"caretPosition\",\"end\");\n\t\t\tcaretPosition = (caretPosition === \"end\") ? this.domNode.value.length : parseInt(caretPosition);\n\t\t\tthis.domNode.setSelectionRange(caretPosition,caretPosition);\n\t\t} else {\n\t\t\tthis.domNode.select();\n\t\t}\n\t}\n\t/*\n\tif(!this.setupDblClick) {\n\t\tthis.domNode.addEventListener(\"dblclick\",this.propagateDblClick.bind(this));\n\t\tthis.setupDblClick = true;\n\t}\n\t*/\n}\n\n/*\nFramedEngine.prototype.propagateDblClick = function(event) {\n\tif(this.widget.wiki.getTiddlerText(\"$:/config/sq/streams/dblclick-editor-to-exit\") === \"yes\") {\n\t\tvar newEvent = this.widget.document.createEventObject ? this.widget.document.createEventObject() : this.widget.document.createEvent(\"Events\");\n\t\tif(newEvent.initEvent) {\n\t\t\tnewEvent.initEvent(\"dblclick\", true, true);\n\t\t}\n\t\tnewEvent.keyCode = event.keyCode;\n\t\tnewEvent.which = event.which;\n\t\tnewEvent.metaKey = event.metaKey;\n\t\tnewEvent.ctrlKey = event.ctrlKey;\n\t\tnewEvent.altKey = event.altKey;\n\t\tnewEvent.shiftKey = event.shiftKey;\n\t\treturn !this.widget.parentDomNode.dispatchEvent(newEvent);\n\t}\n\treturn false;\n}\n*/",
"type": "application/javascript",
"module-type": "startup"
},
"$:/plugins/sq/streams/simple-engine-tweak": {
"title": "$:/plugins/sq/streams/simple-engine-tweak",
"text": "/*\\\n\ntitle: $:/plugins/sq/streams/simple-engine-tweak\ntype: application/javascript\nmodule-type: startup\n\n\\*/\n\nvar SimpleEngine = require(\"$:/core/modules/editor/engines/simple.js\").SimpleEngine;\n\nSimpleEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tif(this.widget.getAttribute(\"select\")===\"false\") {\n\t\t\tvar caretPosition = this.widget.getAttribute(\"caretPosition\",\"end\");\n\t\t\tcaretPosition = (caretPosition === \"end\") ? this.domNode.value.length : parseInt(caretPosition);\n\t\t\tthis.domNode.setSelectionRange(caretPosition,caretPosition);\n\t\t} else {\n\t\t\tthis.domNode.select();\n\t\t}\n\t}\n}",
"type": "application/javascript",
"module-type": "startup"
},
"$:/plugins/sq/streams/delete-hook/actions": {
"title": "$:/plugins/sq/streams/delete-hook/actions",
"created": "20200527200401408",
"modified": "20200527234136578",
"tags": "$:/tags/deleteTiddlerAction",
"type": "text/vnd.tiddlywiki",
"text": "\\define delete-children()\n\t<$list filter=\"[enlist{!!stream-list}]\">\n\t\t<<delete-children>>\n\t</$list>\n\t<<$action-deletetiddler $filter=\"[enlist{!!stream-list}]\"/>\n\\end\n\n<$list filter=\"[<currentTiddler>has[stream-type]]\">\n\t<$list filter=\"[<currentTiddler>has[parent]]\">\n\t\t<$action-listops $tiddler={{!!parent}} $field=\"stream-list\" $subfilter=\"-[<currentTiddler>]\" />\n\t</$list>\n\t<$list variable=\"count\" filter=\"[enlist{!!stream-list}count[]!match[0]]\">\n\t\t<$action-confirm $message=\"Do you wish to delete all tiddlers descended from this tiddler?\">\n\t\t\t<<delete-children>>\n\t\t</$action-confirm>\n\t</$list>\n</$list>"
},
"$:/plugins/sq/streams/delete-hook/hook": {
"title": "$:/plugins/sq/streams/delete-hook/hook",
"text": "/*\\\ntitle: $:/plugins/sq/streams/delete-hook/hook\ntype: application/javascript\nmodule-type: startup\n\n\\*/\n\n$tw.hooks.addHook(\"th-deleting-tiddler\",function(tiddler) {\n\tif(tiddler.fields[\"draft.of\"]) {\n\t\treturn;\n\t}\n\t\n\t$tw.rootWidget.invokeActionsByTag(\"$:/tags/deleteTiddlerAction\",null,{currentTiddler : tiddler.fields.title});\n});",
"type": "application/javascript",
"module-type": "startup"
},
"$:/plugins/sq/streams/filters/get-stream-nodes.js": {
"title": "$:/plugins/sq/streams/filters/get-stream-nodes.js",
"text": "/*\\\ntitle: $:/plugins/sq/streams/filters/get-stream-nodes.js\ntype: application/javascript\nmodule-type: filteroperator\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports[\"get-stream-nodes\"] = function(source,operator,options) {\n\tvar results = [],\n suffixes = (operator.suffixes || []),\n\t\tmatchTitles = (suffixes[0] || []).indexOf(\"matchtitles\") !== -1;\n\n\tsource(function(tiddler,title) {\n\t\t\n\t\tvar processNode = function(node,nodeTitle) {\n\t\t\tif(node && node.fields[\"stream-list\"] && node.fields[\"stream-type\"]) {\n\t\t\t\tresults.push(nodeTitle);\n\t\t\t\tvar streamList = $tw.utils.parseStringArray(node.fields[\"stream-list\"]);\n\t\t\t\t$tw.utils.each(streamList,function(streamListNodeTitle) {\n\t\t\t\t\tvar streamListNode = options.wiki.getTiddler(streamListNodeTitle);\n\t\t\t\t\tif(streamListNode) {\n\t\t\t\t\t\tprocessNode(streamListNode,streamListNodeTitle);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tresults.push(nodeTitle);\n\t\t\t}\n\t\t}\n\t\tif(tiddler) {\n\t\t\tprocessNode(tiddler,title);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/plugins/sq/streams/filters/get-stream-root.js": {
"title": "$:/plugins/sq/streams/filters/get-stream-root.js",
"text": "/*\\\ntitle: $:/plugins/sq/streams/filters/get-stream-root.js\ntype: application/javascript\nmodule-type: filteroperator\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n\n//\t[[xyz]get-stream-root[]]\n//\t[[xyz]get-stream-root:matchtitles[]]\n//\t[[xyz]get-stream-root:includeall,matchtitles[]]\n\n*/\nexports[\"get-stream-root\"] = function(source,operator,options) {\n\tvar results = [],\n suffixes = (operator.suffixes || []),\n\t\tincludeAll = (suffixes[0] || []).indexOf(\"includeall\") !== -1,\n\t\tmatchTitles = (suffixes[0] || []).indexOf(\"matchtitles\") !== -1;\n\n\tsource(function(tiddler,title) {\n\t\tvar ancestors = [];\n\t\tif(tiddler && tiddler.fields[\"parent\"] && tiddler.fields[\"stream-type\"]) {\n\t\t\tvar parentTiddler = tiddler;\n\t\t\twhile(parentTiddler) {\n\t\t\t\t\tif(tiddler.fields.title.startsWith(parentTiddler.fields[\"title\"].split(\"/\")[0]) || !matchTitles ) {\n\t\t\t\t\t\tancestors.unshift(parentTiddler.fields.title);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\tif(parentTiddler.fields.parent) {\t\n\t\t\t\t\tparentTiddler = options.wiki.getTiddler(parentTiddler.fields.parent);\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tancestors.unshift(title);\n\t\t}\n\t\tif(!includeAll) {\n\t\t\tancestors.splice(1);\n\t\t}\n\t\t$tw.utils.pushTop(results,ancestors);\n\t});\n\treturn results;\n};\n\n})();\n\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/plugins/sq/streams/info/keyboard-shortcuts": {
"title": "$:/plugins/sq/streams/info/keyboard-shortcuts",
"text": "!! Streams keyboard shortcuts\n\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/ShortcutInfo/streams-]]\">\n<tr>\n<td>{{!!text}}</td>\n<td><$macrocall $name=\"displayshortcuts\" $output=\"text/plain\" shortcuts={{{[<currentTiddler>removeprefix[$:/config/ShortcutInfo/]addprefix[((]addsuffix[))]]}}} prefix=\"\" separator=\" \" suffix=\"\"/></td>\n</tr>\n</$list>\n</tbody>\n</table>\n\nShortcuts can be customized in the [[Control Panel|$:/core/ui/ControlPanel/KeyboardShortcuts]]\n\n''Drag and drop''\n\n* hold <kbd>control</kbd> key to drag and drop and create a copy of the node in another stream tiddler\n* hold <kbd>shift</kbd> key to drag and drop and create a node that transcludes the contents of this node, in another stream tiddler\n\n''for the moment it is a design decision to disallow copying/transcluding the node inside the same root (story) tiddler''\n\n//Note that it is a known limitation that copying a node or transcluding it does not apply to the children of the node. This is on the [[list of things to implement|Roadmap]].//"
},
"$:/plugins/sq/streams/keyboard-shortcuts/cancel-edit-node": {
"title": "$:/plugins/sq/streams/keyboard-shortcuts/cancel-edit-node",
"tags": "$:/tags/streams/keyboard-shortcuts",
"key": "((streams-cancel-edit))",
"text": "<<cancel-edit-node-actions>>"
},
"$:/plugins/sq/streams/keyboard-shortcuts/delete-node": {
"title": "$:/plugins/sq/streams/keyboard-shortcuts/delete-node",
"tags": "$:/tags/streams/keyboard-shortcuts",
"key": "((streams-delete))",
"text": "<<delete-node-actions>>"
},
"$:/plugins/sq/streams/keyboard-shortcuts/demote-node": {
"title": "$:/plugins/sq/streams/keyboard-shortcuts/demote-node",
"tags": "$:/tags/streams/keyboard-shortcuts",
"key": "((streams-demote))",
"text": "<<demote-node-actions>>"
},
"$:/plugins/sq/streams/keyboard-shortcuts/focus-higher-node": {
"title": "$:/plugins/sq/streams/keyboard-shortcuts/focus-higher-node",
"tags": "$:/tags/streams/keyboard-shortcuts",
"key": "((streams-focus-higher))",
"text": "<<focus-higher-node-actions>>"
},
"$:/plugins/sq/streams/keyboard-shortcuts/focus-lower-node": {
"title": "$:/plugins/sq/streams/keyboard-shortcuts/focus-lower-node",
"tags": "$:/tags/streams/keyboard-shortcuts",
"key": "((streams-focus-lower))",
"text": "<<focus-lower-node-actions>>"
},
"$:/plugins/sq/streams/keyboard-shortcuts/indent-node": {
"title": "$:/plugins/sq/streams/keyboard-shortcuts/indent-node",
"tags": "$:/tags/streams/keyboard-shortcuts $:/tags/streams/contextmenu",
"key": "((streams-indent))",
"sq-contextmenu-name": "Indent",
"sq-contextmenu-subtitle": "",
"text": "<<indent-node-actions>>"
},
"$:/plugins/sq/streams/keyboard-shortcuts/merge-with-previous": {
"title": "$:/plugins/sq/streams/keyboard-shortcuts/merge-with-previous",
"tags": "$:/tags/streams/keyboard-shortcuts",
"key": "((streams-merge-with-previous))",
"prevent-default": "no",
"text": "<<merge-with-previous-node-actions>>"
},
"$:/plugins/sq/streams/keyboard-shortcuts/promote-node": {
"title": "$:/plugins/sq/streams/keyboard-shortcuts/promote-node",
"tags": "$:/tags/streams/keyboard-shortcuts",
"key": "((streams-promote))",
"text": "<<promote-node-actions>>"
},
"$:/plugins/sq/streams/keyboard-shortcuts/rename-node": {
"title": "$:/plugins/sq/streams/keyboard-shortcuts/rename-node",
"tags": "$:/tags/streams/keyboard-shortcuts",
"key": "((streams-rename))",
"text": "<<rename-node-actions>>"
},
"$:/plugins/sq/streams/keyboard-shortcuts/save-and-continue": {
"title": "$:/plugins/sq/streams/keyboard-shortcuts/save-and-continue",
"tags": "$:/tags/streams/keyboard-shortcuts",
"key": "((streams-save-and-continue))",
"text": "<<save-node-actions>>"
},
"$:/plugins/sq/streams/keyboard-shortcuts/save-and-exit": {
"title": "$:/plugins/sq/streams/keyboard-shortcuts/save-and-exit",
"tags": "$:/tags/streams/keyboard-shortcuts",
"key": "((streams-save-and-exit))",
"text": "<<save-edit-node-actions>>"
},
"$:/plugins/sq/streams/keyboard-shortcuts/save-multiple": {
"title": "$:/plugins/sq/streams/keyboard-shortcuts/save-multiple",
"tags": "$:/tags/streams/keyboard-shortcuts",
"key": "((streams-save-multiple))",
"text": "<<save-multiple-actions>>"
},
"$:/plugins/sq/streams/keyboard-shortcuts/unindent-node": {
"title": "$:/plugins/sq/streams/keyboard-shortcuts/unindent-node",
"tags": "$:/tags/streams/keyboard-shortcuts $:/tags/streams/contextmenu",
"key": "((streams-unindent))",
"sq-contextmenu-name": "Un-indent",
"sq-contextmenu-subtitle": "",
"text": "<<unindent-node-actions>>"
},
"$:/plugins/sq/streams/icons/new-node-btn": {
"title": "$:/plugins/sq/streams/icons/new-node-btn",
"created": "20200528160920973",
"modified": "20200528164140128",
"type": "text/vnd.tiddlywiki",
"text": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\">\n<style>\n .line{\n stroke:#868c90;\n }\n</style>\n <circle cx=\"10.5\" cy=\"10.5\" r=\"9\" class=\"circle\" fill=\"#fff\" ></circle>\n <line x1=\"6\" y1=\"10.5\" x2=\"15\" y2=\"10.5\" class=\"line\"></line>\n <line x1=\"10.5\" y1=\"6\" x2=\"10.5\" y2=\"15\" class=\"line\"></line>\n</svg>"
},
"$:/plugins/sq/streams/refresh-hook.js": {
"title": "$:/plugins/sq/streams/refresh-hook.js",
"text": "/*\\\n\ntitle: $:/plugins/sq/streams/refresh-hook.js\ntype: application/javascript\nmodule-type: startup\n\\*/\n\n$tw.hooks.addHook(\"th-page-refreshed\",function handleEvent() {\n\t$tw.wiki.deleteTiddler(\"$:/state/sq/streams/caret-position\");\n});\n\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/config/flibbles/relink/fields/parent": {
"title": "$:/config/flibbles/relink/fields/parent",
"created": "20200530105147302",
"modified": "20200530105155682",
"type": "text/vnd.tiddlywiki",
"text": "title"
},
"$:/config/flibbles/relink/fields/stream-list": {
"title": "$:/config/flibbles/relink/fields/stream-list",
"created": "20200530105147302",
"modified": "20200530105155682",
"type": "text/vnd.tiddlywiki",
"text": "list"
},
"$:/plugins/sq/streams/styles": {
"title": "$:/plugins/sq/streams/styles",
"created": "20170922203553093",
"modified": "20170927050808722",
"tags": "[[$:/tags/Stylesheet]]",
"text": ".stream-root {\n\tmargin-left: -2.5em;\n}\n\n@media only screen and (max-width: 600px) {\n\t.stream-root {\n\t\tmargin-left: -1em;\n\t}\n}\n\n.stream-row {\n display: flex;\n flex: 0 0 auto;\n\tuser-select: none;\n}\n\n.stream-row-children {\n\tdisplay:flex;\n\tflex: 0 0 auto;\n\tflex-direction: column;\n\t/*padding-left: 0.5em;*/\n\tborder-left: 1px solid <<color message-border>>;\n\tmargin-left: 30px;\n}\n\n.stream-row-nochildren + .stream-row-children {\n\tborder-left: none;\n}\n\n\n.stream-node-disabled,\n.stream-node-disabled + div.stream-row-children{\n\tbackground-color: <<color tiddler-editor-border>>;\n}\n\n.stream-node-disabled + div.stream-row-children + div.stream-node-disabled,\n.stream-node-disabled + div.stream-row-children + div.stream-node-disabled + div.stream-row-children,\n.stream-node-disabled.stream-row-nochildren + div.stream-row-children,\n.stream-node-disabled.stream-row-nochildren + div.stream-row-children > div.stream-node-disabled {\n\tbackground-color: transparent;\n}\n\n/* hide last droppable in a list when the last row is disabled */\n.stream-node-disabled + div.stream-row-children + div.stream-droppable.tc-droppable.stream-droppable-terminal{\n\tdisplay: none;\n\t/*visibility: hidden;*/\n}\n\n.stream-node-disabled + div.stream-row-children + .stream-node-disabled + div.stream-row-children + div.stream-droppable.tc-droppable.stream-droppable-terminal{\n\tdisplay: block;\n}\n\n\n/*\n.stream-node-disabled.stream-row-nochildren + div.stream-row-children {\n\tvisibility: hidden;\n}\n\n.stream-node-disabled.stream-row-nochildren + div.stream-row-children + div + div {\n\tvisibility: visible;\n}\n*/\n\n\n.stream-droppable.tc-droppable.tc-dragover > .tc-droppable-placeholder,\n.stream-droppable.tc-droppable.tc-dragover > div > .tc-droppable-placeholder {\n\tmargin-left: 29px;\n\tline-height: 5px;\n\theight: 5px;\n\tborder: 2px solid <<color dropzone-background>>;\n\tbackground-color: <<color dropzone-background>>;\n}\n\n/*\n.stream-droppable-terminal.tc-drag-over .stream-droppable-spacer {\n\theight: 0;\n}\n*/\n\n.stream-droppable-spacer {\n\theight: 0.3em;\n}\n\n<$vars currentTiddler={{{[prefix[$:/state/sq-context-popup]]}}}>\n[data-node-title=\"{{!!current}}\"],\n[data-node-title=\"{{!!current}}\"] + div{\n\tbackground: <<color notification-background>>;\n\tcolor: <<color message-foreground>>;\n}\n</$vars>\n\n.stream-node-control {\n\tdisplay: flex;\n flex: 0 0 45px;\n padding-top: 4px;\n padding-left: 4px;\n}\n\n.stream-node-control .stream-node-collapser,\n.stream-node-control .stream-node-handle {\n display: flex;\n height: 13px;\n width: 13px;\n margin-top: 4px;\n border-radius: 50%;\n justify-content: center;\n align-items: center;\n}\n\n.stream-node-control.stream-node-control-addnew .stream-node-handle {\n\twidth: 20px;\n\theight: 20px;\n\tmargin-top: 0;\n}\n\n.stream-node-control.stream-node-control-addnew .stream-node-collapser {\n\twidth: 16px;\n}\n\n.stream-node-control.stream-node-control-addnew div.tc-btn-invisible svg {\n\topacity: 0.8;\n}\n\n\n.stream-node-control.stream-node-control-addnew div.tc-btn-invisible svg circle {\n\tfill: <<color tiddler-controls-foreground>>;\n\topacity: 0.6;\n}\n\n.stream-node-control.stream-node-control-addnew div.tc-btn-invisible svg line.line {\n\tstroke: <<color foreground>>;\n\topacity: 1;\n}\n\n.stream-node-control.stream-node-control-addnew div.tc-btn-invisible:hover svg circle {\n\tfill: <<color tiddler-controls-foreground-hover>>;\n}\n\n.stream-node-control .stream-node-collapser {\n\theight: 13px;\n\twidth: 20px;\n\topacity:0;\n}\n\n.stream-row-nochildren .stream-node-collapser {\n\tvisibility: hidden;\n}\n\n.stream-row:hover .stream-node-collapser,\n.stream-row-children-collapsed.stream-row:hover .stream-node-collapser {\n\topacity: 0.4;\n}\n\n.stream-row:hover .stream-node-collapser:hover,\n.stream-row-children-collapsed.stream-row:hover .stream-node-collapser:hover {\n\topacity: 0.9;\n}\n\n.stream-row-children-collapsed .stream-node-control .stream-node-collapser {\n\topacity: 0.4;\n}\n\n.stream-node-collapser.tc-btn-invisible,\n.stream-node-collapser.tc-btn-invisible:focus {\n\toutline: none;\n}\n\n.stream-node-collapser svg {\n\ttransform: rotateZ(90deg);\n\ttransition: transform 200ms ease-in-out 0s;\n}\n\n.stream-row-children-collapsed .stream-node-collapser svg {\n\ttransform: rotateZ(0deg);\n}\n\n/*\n.stream-node-control .stream-node-handle-wrapper .stream-node-handle {\n\twidth: 13px;\n\theight: 13px;\n\tdisplay: flex;\n\talign-items : center;\n\tjustify-content: center;\n}\n*/\n\n.stream-node-control .stream-node-handle .stream-node-handle-inner {\n border-radius: 50%;\n width: 6px;\n height: 6px;\n background-color: <<color foreground>>;\n\topacity: 0.3;\n}\n\n.stream-node-control .sq-contextmenu-container {\n\tdisplay: flex;\n}\n\n/*\n.stream-row:hover .stream-node-control .stream-node-handle-wrapper .stream-node-handle-inner {\n\topacity: 0.7;\n}\n*/\n\n.stream-row:hover .stream-node-control .stream-node-handle:hover .stream-node-handle-inner {\n\topacity: 1;\n} \n\n<$vars currentTiddler={{{[prefix[$:/state/sq-context-popup]]}}}>\n[data-node-title=\"{{!!current}}\"] .stream-node-handle .stream-node-handle-inner {\n border: 5px solid #5778d8;\n opacity: 1;\n}\n</$vars>\n\n\n.stream-node-block {\n overflow-wrap: break-word;\n\tmax-width: {{$:/config/sq/streams/node-max-width}}px;\n min-height: calc(1.5em + 8px);\n box-sizing: border-box;\n margin-top: -1px;\n min-width: 100px;\n width: 100%;\n line-height: 1.5em;\n cursor: text;\n padding-top: 4px;\n padding-bottom: 4px;\n\tuser-select: text;\n\t/*white-space: pre-wrap;*/\n}\n\n.stream-node-block textarea {\n\twidth: 100%;\n\toutline-color: <<color tiddler-editor-border>>;\n\tborder: 1px solid <<color tiddler-editor-border>>;\n\n\tresize: none;\n}\n\n.stream-node-block textarea.streams-editor {\n\tline-height:1.5em;\n\tmargin-bottom: 0.6em;\n}\n\n.stream-node-block > h1:first-child,\n.stream-node-block > h2:first-child,\n.stream-node-block > h3:first-child,\n.stream-node-block > h4:first-child,\n.stream-node-block > h5:first-child,\n.stream-node-block > h6:first-child,\n.stream-node-block p:first-child {\n\tmargin-top:0;\n}\n\n.stream-node-block > h1:last-child,\n.stream-node-block > h2:last-child,\n.stream-node-block > h3:last-child,\n.stream-node-block > h4:last-child,\n.stream-node-block > h5:last-child,\n.stream-node-block > h6:last-child,\n.stream-node-block p:last-child {\n\tmargin-bottom:0;\n}\n\nspan.sq-breadcrumbs-fragment {\n white-space: nowrap;\n overflow: hidden;\n display: inline-block;\n text-overflow: ellipsis;\n max-width: calc({{$:/config/sq/streams/node-max-width}}px - 50px);\n}\n\nspan.sq-breadcrumbs-fragment a.tc-tiddlylink {\n\tcolor: <<color foreground>>;\n}\n\n/*** framed engine styles ***/\n\n.tc-tiddler-frame .stream-node-block input.tc-edit-texteditor,\n.tc-tiddler-frame .stream-node-block textarea.tc-edit-texteditor,\n.tc-tiddler-frame .stream-node-block iframe.tc-edit-texteditor {\n\tbackground: <<color background>> !important;\n\tmargin-top:0;\n\tmargin-bottom: -1.6em;\n}\n\n<$reveal state=\"$:/config/sq/streams/enable-edit-toolbar\" type=\"nomatch\" text=\"yes\">\n.stream-node-block .tc-editor-toolbar {\n\tdisplay: none;\n}\n</$reveal>\n\n<$reveal state=\"$:/state/sq/streams/global-drag-state\" type=\"match\" text=\"yes\">\n\n/** active drag css **/\n\n</$reveal>\n\n<$reveal state=\"$:/state/sq/streams/global-drag-state\" type=\"nomatch\" text=\"yes\">\n\n/**no active drag css **/\n\n</$reveal>"
},
"$:/plugins/sq/streams/breadcrumbs-view-template": {
"title": "$:/plugins/sq/streams/breadcrumbs-view-template",
"created": "20200529205858594",
"list-before": "$:/core/ui/ViewTemplate/body",
"modified": "20200530055142652",
"tags": "$:/tags/ViewTemplate",
"type": "text/vnd.tiddlywiki",
"text": "\\whitespace trim\n\\define stream-show-breadcrumbs()\n<$list filter=\"[<currentTiddler>has[stream-type]]\">\n\t<$list filter=\"[<currentTiddler>has[parent]]\">\n\t\t<$set name=\"currentTiddler\" filter=\"[{!!parent}]\" select=\"0\">\n\t\t\t<<stream-show-breadcrumbs>>\n\t\t</$set>\n\t</$list>\t\n\t<$list filter=\"[<currentTiddler>!match<storyTiddler>]\">\n\t\t<$wikify name=\"display-title\" text={{{ [<currentTiddler>!is[binary]get[text]!is[blank]] ~[{!!title}] }}}>\n\t\t\t<span class=\"sq-breadcrumbs-fragment\">\n\t\t\t<$link to=<<currentTiddler>>>\n\t\t\t\t<$text text={{{ [<display-title>split[]first[50]join[]] }}}/>\n\t\t\t</$link>>\n\t\t\t</span>\n\t\t</$wikify>\n\t</$list>\n</$list>\n\\end\n<$list filter=\"[{$:/config/sq/streams/enable-breadcrumbs}match[yes]]\" variable=\"_NULL\">\n<<stream-show-breadcrumbs>>\n</$list>\n\n"
},
"$:/plugins/sq/streams/editor-template": {
"title": "$:/plugins/sq/streams/editor-template",
"created": "20200601145424630",
"modified": "20200602053704598",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "\\define config-visibility-title()\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\n\\end\n<$streams-edit tag=\"textarea\" autoHeight=\"yes\" minHeight=\"1em\" focus=\"yes\" select=\"false\" class=\"streams-editor tc-edit-texteditor tc-edit-texteditor-body\" caretPosition={{{[{$:/state/sq/streams/caret-position}!is[blank]else[end]]}}}><$set name=\"targetTiddler\"value=<<currentTiddler>>><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\"><$reveal type=\"nomatch\" state=<<config-visibility-title>> text=\"hide\" class=\"tc-text-editor-toolbar-item-wrapper\"><$transclude tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\"\nmode=\"inline\"/></$reveal></$list></$set></$streams-edit>"
},
"$:/plugins/sq/streams/nodes-list-template": {
"title": "$:/plugins/sq/streams/nodes-list-template",
"created": "20171022203553093",
"modified": "20171122050808722",
"text": "\\import [[$:/plugins/sq/streams/action-macros]] [all[shadows+tiddlers]tag[$:/tags/streams/actionmacros]] [all[shadows+tiddlers]tag[$:/tags/streams/user-actionmacros]]\n\\whitespace trim\n\n<$vars stream-root-title=<<currentTiddler>>\n\tcontextmenu-state=<<qualify \"$:/state/sq-context-popup\">>\n\trow-edit-state=<<qualify \"$:/state/sq/streams/current-edit-tiddler\">>\n\tdrag-title-state=<<qualify \"$:/state/sq/streams/current-drag-title\">>\n\tdrag-title-nextsibling-state=<<qualify \"$:/state/sq/streams/current-drag-nextsibling\">> \n>\n\t<$eventcatcher\n\t\tevents=\"click\"\n\t\tselector=\".stream-node-ctrl-btn\"\n\t\tactions-click=<<node-ctrl-btn-actions>>\n\t\ttag=\"div\"\n\t>\n\t<$eventcatcher\n\t\tevents=\"dblclick swiped-right swiped-left\"\n\t\ttag=\"div\"\n\t\tselector=\".stream-row\"\n\t\tactions-dblclick=<<toggle-row-edit-state>>\n\t\tactions-swiped-right=<<swiped-right-actions>>\n\t\tactions-swiped-left=<<swiped-left-actions>>\n\t>\n\t<$eventcatcher\n\t\ttag=\"div\"\n\t\tevents=\"contextmenu\"\n\t\tselector=\".sq-contextmenu-container\"\n\t\tactions-contextmenu=<<oncontext-menu-actions>>\n\t>\n\t<$swiper\n\t\ttag=\"div\"\n\t\tenable={{$:/config/sq/streams/swipe-enabled}}\n\t\tswipethreshold={{$:/config/sq/streams/swipe-threshold}}\n\t>\n\t<div class={{{ stream-root [{$:/state/sq/nodes/global-drag-state}match[yes]then[stream-dragactive]] [<currentTiddler>!has[stream-list]then[stream-newlist]] +[join[ ]] }}}>\n\t\t{{||$:/plugins/sq/streams/templates/stream-root-template}}\n\t\t<$list filter=\"[all[current]match<stream-root-title>]\" variable=\"_NULL\">\n\t\t\t<!-- if we are the root, add a button to add more nodes-->\n\t\t\t<div class=\"stream-row\">\n\t\t\t\t<div class=\"stream-node-control stream-node-control-addnew\">\n\t\t\t\t\t<div class=\"stream-node-collapser\">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"stream-node-handle\">\n\t\t\t\t\t\t<$button tag=\"div\" class=\"tc-btn-invisible\" tooltip=\"add node\" actions=<<add-new-node-actions>> >\n\t\t\t\t\t\t\t{{$:/plugins/sq/streams/icons/new-node-btn}}\n\t\t\t\t\t\t</$button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"stream-node-block\">\n\t\t\t\t\t<!--consider moving last child dropzone in here, though thats for children too-->\n\t\t\t\t</div>\n\t\t\t</div>\t\t\t\t\n\t\t\t<$set name=\"currentTiddler\" filter={{{[<contextmenu-state>get[current]]}}}>\n\t\t\t\t{{||$:/plugins/sq/streams/contextmenu/contextmenu-template}}\n\t\t\t</$set>\n\t\t</$list>\t\n\t</div>\n\t</$swiper>\n\t</$eventcatcher>\n\t</$eventcatcher>\n\t</$eventcatcher>\n</$vars>"
},
"$:/plugins/sq/streams/templates/stream-root-template": {
"title": "$:/plugins/sq/streams/templates/stream-root-template",
"text": "\\whitespace trim\n<$vars dropTargetTiddler=<<currentTiddler>> >\n\t<$list filter=\"[list[!!stream-list]!is[missing]]\">\n\t\t<$set name=\"enable-dnd\" filter=\"[<enable-dnd>match[no]] ~[<drag-title-state>get[text]match<currentTiddler>then[no]]\" select=\"0\">\n\t\t\t{{||$:/plugins/sq/streams/templates/stream-row-template}}\n\t\t</$set>\n\t</$list>\n\t<$tiddler tiddler=\"\">\n\t\t<!-- to drop after the last child of any list level-->\n\t\t<$droppable\n\t\t\tactions=<<stream-drop-actions>>\n\t\t\ttag=\"div\"\n\t\t\tenable=<<enable-dnd>>\n\t\t\tclass=\"stream-droppable stream-droppable-terminal\"\n\t\t\tdisabledClass=\"stream-node-disabled\"\n\t\t>\n\t\t\t<div class=\"tc-droppable-placeholder\">\n\t\t\t \n\t\t\t</div><!-- idea only want below div with height when its a child with no more children-->\n\t\t\t<$list filter=\"[<currentTiddler>!has[stream-list]]\" variable=\"_NULL\"><div class=\"stream-droppable-spacer\"/></$list>\n\t\t</$droppable>\n\t</$tiddler>\n</$vars>"
},
"$:/plugins/sq/streams/templates/stream-row-body": {
"title": "$:/plugins/sq/streams/templates/stream-row-body",
"text": "<$transclude mode=\"block\"/>"
},
"$:/plugins/sq/streams/templates/stream-row-template": {
"title": "$:/plugins/sq/streams/templates/stream-row-template",
"text": "\\whitespace trim\n<$qualify\n\tname=\"row-children-visibility-state\"\n\ttitle={{{ [[$:/state/sq/streams/visibility/]addsuffix<currentTiddler>] }}}\n>\n<$droppable \n\tactions=<<stream-drop-actions>>\n\ttag=\"div\"\n\tclass={{{ stream-droppable [list[!!stream-list]is[tiddler]then[]else[stream-row-nochildren]] +[join[ ]]}}}\n\tenable={{{[<drag-title-nextsibling-state>get[text]match<currentTiddler>then[no]] ~[<enable-dnd>]}}}\n\tdisabledClass=\"stream-node-disabled\"\n\tdata-node-title=<<currentTiddler>>\n>\n\t<div class=\"tc-droppable-placeholder\"/>\n\t<div class={{{ stream-row [<row-children-visibility-state>get[text]match[hide]then[stream-row-children-collapsed]] +[join[ ]]}}}\n\t\tdata-node-title=<<currentTiddler>>\n\t\tdata-node-tags={{!!tags}}\n\t>\n\t\t<$draggable\n\t\t\ttag=\"div\"\n\t\t\ttiddler=<<currentTiddler>>\n\t\t\tstartactions=<<node-drag-start-actions>>\n\t\t\tendactions=<<node-drag-end-actions>>\n\t\t\tclass=\"stream-node-control sq-contextmenu-container\"\n\t\t\tdata-node-title=<<currentTiddler>>\n\t\t>\n\t\t\t<button type=\"button\" class=\"tc-btn-invisible stream-node-ctrl-btn stream-node-collapser\" data-btn-role=\"stream-node-visibility\" data-rowchildren-visibility-state=<<row-children-visibility-state>>>\n\t\t\t\t{{$:/plugins/sq/streams/icons/node-expand-arrow}}\n\t\t\t</button>\n\t\t\t<div class=\"stream-node-handle tc-btn-invisible stream-node-ctrl-btn\" data-btn-role=\"stream-node-decorator\" data-node-title=<<currentTiddler>>>\n\t\t\t\t\t<div class=\"stream-node-handle-inner\"/>\n\t\t\t</div>\n\t\t</$draggable>\n\t\t<div class=\"stream-node-block\">\n\t\t\t<$list filter=\"[<row-edit-state>get[text]!is[blank]else[]match<currentTiddler>]\" variable=\"NULL\" emptyMessage=\"\"\"{{||$:/plugins/sq/streams/templates/stream-row-body}}\"\"\">\n\t\t\t\t<$keyboard-plus shortcutTag=\"$:/tags/streams/keyboard-shortcuts\">\n\t\t\t\t\t{{||$:/plugins/sq/streams/editor-template}}\n\t\t\t\t</$keyboard-plus>\t\t\t\n\t\t\t</$list>\n\t\t</div>\n\t</div>\n</$droppable>\n<$reveal\n\ttag=\"div\"\n\ttype=\"nomatch\"\n\tstateTitle=<<row-children-visibility-state>>\n\ttext=\"hide\"\n\tclass=\"stream-row-children\"\n>\n\t\t{{||$:/plugins/sq/streams/templates/stream-root-template}}\n</$reveal>\n</$qualify>"
},
"$:/plugins/sq/streams/stream-view-template": {
"title": "$:/plugins/sq/streams/stream-view-template",
"created": "20170922203553093",
"modified": "20170929050808722",
"tags": "[[$:/tags/ViewTemplate]]",
"list-after": "$:/core/ui/ViewTemplate/body",
"text": "<$list filter=\"\"\"[<folded-state>get[text]!is[blank]else[show]!match[hide]]\"\"\" variable=\"_NULL\">\n<$list filter=\"\"\"[all[current]subfilter{$:/config/sq/streams/stream-enable-filter}]\"\"\">\n{{||$:/plugins/sq/streams/nodes-list-template}}\n</$list>\n</$list>"
},
"$:/plugins/sq/streams/sq-ui-styles": {
"title": "$:/plugins/sq/streams/sq-ui-styles",
"tags": "[[$:/tags/Stylesheet]]",
"text": "/** checkbox switches start **/\n/** https://www.w3schools.com/howto/howto_css_switch.asp **/\n/* The switch - the box around the slider */\nlabel.squi-form-switch {\n\tposition: relative;\n\tdisplay: inline-block;\n\twidth: 36px;\n\theight: 12px;\n}\n\n/* Hide default HTML checkbox */\nlabel.squi-form-switch input {\n\topacity: 0;\n\twidth: 0;\n\theight: 0;\n}\n\n/* The slider */\nlabel.squi-form-switch span {\n\tposition: absolute;\n\tcursor: pointer;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tbackground-color: <<color tiddler-controls-foreground>>;\n\t-webkit-transition: .2s;\n\ttransition: .2s;\n}\n\nlabel.squi-form-switch span:before {\n\tposition: absolute;\n\tcontent: \"\";\n\theight: 20px;\n\twidth: 20px;\n\tleft: -1px;\n\ttop: -4px;\n\tbottom: 4px;\n\tbackground-color: <<color background>>;\n\t-webkit-transition: .2s;\n\ttransition: .2s;\n\tbox-shadow: 0 1px 3px 0 rgba(0,0,0,0.7);\n}\n\nlabel.squi-form-switch input:checked + span {\n\tbackground-color: rgba(26,115,232,0.5);\n}\n\nlabel.squi-form-switch input:checked + span:before {\n\tbackground-color: rgb(26,115,232);\n\topacity: 1;\n}\n\nlabel.squi-form-switch input:focus + span {\n\tbox-shadow: 0 0 1px #2196F3;\n}\n\nlabel.squi-form-switch input:checked + span:before {\n\t-webkit-transform: translateX(17px);\n\t-ms-transform: translateX(17px);\n\ttransform: translateX(17px);\n}\n\nlabel.squi-form-switch span {\n\tborder-radius: 12px;\n}\n\nlabel.squi-form-switch span:before {\n\tborder-radius: 50%;\n}\n\ndiv.squi-form-label {\n\t\n}\n\n/*** checkbox switches end ***/\n\n/** form select elements **/\n.squi-form-select {\n\tappearance: none;\n\tbackground: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' fill='%235F6368'%3E%3Cpath d='M0 0h24L12 12z'/%3E%3C/svg%3E\") calc(100% - 8px) center no-repeat;\n\tbackground-color: rgb(241,243,244);\n\tbackground-size: 10px;\n\tborder: none;\n\tborder-radius: 4px;\n\tcolor: rgb(32,33,36);\n\tcursor: pointer;\n\tmax-width: 100%;\n\toutline: none;\n\tpadding: 6px 21px 6px 8px;\n/*\twidth: 200px;*/\n}\n\ninput.squi-form-input {\n\tborder: 1px solid <<color tiddler-controls-foreground>>;\n\tborder-radius: 3px;\n\tbackground-color: rgb(241,243,244);\n\tpadding: 6px;\n}\n\ninput.squi-form-input:focus {\n\toutline-color: #ccc;\n}\n\n\n.sq-list-group {\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding-left: 0;\n\tmargin-bottom: 0;\n\tbox-sizing: border-box;\n}\n\n.sq-list-group-box-shadow {\n\tbox-shadow:1px 1px 5px rgba(0, 0, 0, 0.3);\t\n\tborder-bottom-left-radius: .25rem;\n\tborder-bottom-right-radius: .25rem;\n\tborder-top-left-radius: .25rem;\n\tborder-top-right-radius: .25rem;\t\t\n}\n\t\n.sq-list-group-item\t{\n\tposition: relative;\n\tdisplay: block;\n\tpadding: 0.75rem 1.25rem;\n\tbackground-color: <<color background>>;\n\tborder: 1px solid rgba(0,0,0,.125);\n\twidth: 100%;\n\tcolor: #495057;\n\ttext-align:\tinherit;\t\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: space-between!important;\n\talign-items: center!important;\n\tword-spacing: 0.1em;\n}\n\n\n.sq-list-group-item+.sq-list-group-item {\n\tborder-top-width: 0;\n}\n\n.sq-list-group-item:first-child {\n\tborder-top-left-radius: .25rem;\n\tborder-top-right-radius: .25rem;\n}\n\n.sq-list-group-item:last-child {\n\tborder-bottom-left-radius: .25rem;\n\tborder-bottom-right-radius: .25rem;\n}\n\n.sq-list-stream-settings {\n\tfont-size: 90%;\n}\n\ninput.sq-search-input {\n display: block;\n width: 100%;\n height: calc(1.5em + .75rem + 2px);\n padding: .375rem .75rem;\n font-size: 0.8rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: <<color background>>;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: .25rem;\n transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;\n margin-bottom: 0.75em;\n}\n\ninput.sq-search-input:focus {\ncolor: #495057;\n background-color: <<color background>>;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);\n}\n"
},
"$:/plugins/sq/streams/ui/templates/settings/input-switch": {
"title": "$:/plugins/sq/streams/ui/templates/settings/input-switch",
"text": "<label class=\"squi-form-label\"><$link tooltip={{!!description}}>{{!!caption}}</$link></label><$checkbox field=\"text\" checked=\"yes\" unchecked=\"no\" class=\"squi-form-switch\"/>"
},
"$:/plugins/sq/streams/ui/templates/settings/input": {
"title": "$:/plugins/sq/streams/ui/templates/settings/input",
"text": "<label class=\"squi-form-label\"><$link tooltip={{!!description}}>{{!!caption}}</$link></label>\n<$edit-text tag=\"input\" class=\"squi-form-input\"/>"
},
"$:/plugins/sq/streams/ui/templates/settings/select": {
"title": "$:/plugins/sq/streams/ui/templates/settings/select",
"text": "<label class=\"squi-form-label\"><$link tooltip={{!!description}}>{{!!caption}}</$link></label>\n<$vars cnt={{{[enlist{!!option-names}count[]]}}}>\n<$select class=\"squi-form-select\">\n<$list filter=\"[range<cnt>]\" variable=\"index\">\n<option value={{{[enlist{!!option-values}nth<index>]}}}><$text text={{{[enlist{!!option-names}nth<index>]}}}/></option>\n</$list>\n</$select>\n</$vars>"
},
"$:/plugins/sq/lib/swipeevents.js": {
"title": "$:/plugins/sq/lib/swipeevents.js",
"text": "/*\\\ntitle: $:/plugins/sq/lib/swipeevents.js\ntype: application/javascript\nmodule-type: library\nBased on https://github.com/john-doherty/swiped-events\nhttps://github.com/umanghome/swipe-listener\nhttps://github.com/scriptex/touchsweep/blob/master/src/touchsweep.js\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.platforms = [\"browser\"];\n\nfunction SwipeEventsFactory(element,options) {\n\n\tif(typeof window.CustomEvent !== 'function') {\n\t\t\n\t\twindow.CustomEvent = function (event, params) {\n\t\t\tparams = params || { bubbles: false, cancelable: false, detail: undefined };\n\t\t\tvar evt = document.createEvent('CustomEvent');\n\t\t\tevt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n\t\t\treturn evt;\n\t\t};\n\t\twindow.CustomEvent.prototype = window.Event.prototype;\n\t}\n\t\n\tif(!element) {\n\t\treturn;\n\t}\n\telement.addEventListener(\"touchstart\", handleTouchStart, false);\n\telement.addEventListener(\"touchmove\", handleTouchMove, false);\n\telement.addEventListener(\"touchend\", handleTouchEnd, false);\n\t\n\toptions = options || {};\n\t\n\tvar xDown = null,\n\t\tyDown = null,\n\t\txDiff = null,\n\t\tyDiff = null,\n\t\ttimeDown = null,\n\t\tstartEl = null,\n\t\tdefaults = {\n\t\t\t\"swipe-threshold\": 20,\n\t\t\t\"swipe-timeout\": 500\n\t\t};\n\t\t\n\t$tw.utils.extend(defaults,options);\t\n\n\t/**\n\t * Fires swiped event if swipe detected on touchend\n\t * @param {object} e - browser event object\n\t * @returns {void}\n\t */\n\tfunction handleTouchEnd(e) {\n\n\t\t// if the user released on a different target, cancel!\n\t\tif (startEl !== e.target) return;\n\n\t\tvar swipeThreshold = parseInt(getNearestAttribute(startEl, 'data-swipe-threshold', defaults[\"swipe-threshold\"]), 10); // default 20px\n\t\tvar swipeTimeout = parseInt(getNearestAttribute(startEl, 'data-swipe-timeout', defaults[\"swipe-timeout\"]), 10);\t // default 500ms\n\t\tvar timeDiff = Date.now() - timeDown;\n\t\tvar eventType = '';\n\t\tvar changedTouches = e.changedTouches || e.touches || [];\n\n\t\tif (Math.abs(xDiff) > Math.abs(yDiff)) { // most significant\n\t\t\tif (Math.abs(xDiff) > swipeThreshold && timeDiff < swipeTimeout) {\n\t\t\t\tif (xDiff > 0) {\n\t\t\t\t\teventType = 'swiped-left';\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\teventType = 'swiped-right';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (Math.abs(yDiff) > swipeThreshold && timeDiff < swipeTimeout) {\n\t\t\tif (yDiff > 0) {\n\t\t\t\teventType = 'swiped-up';\n\t\t\t}\n\t\t\telse {\n\t\t\t\teventType = 'swiped-down';\n\t\t\t}\n\t\t}\n\n\t\tif (eventType !== '') {\n\n\t\t\tvar eventData = {\n\t\t\t\tdir: eventType.replace(/swiped-/, ''),\n\t\t\t\txStart: parseInt(xDown, 10),\n\t\t\t\txEnd: parseInt((changedTouches[0] || {}).clientX || -1, 10),\n\t\t\t\tyStart: parseInt(yDown, 10),\n\t\t\t\tyEnd: parseInt((changedTouches[0] || {}).clientY || -1, 10)\n\t\t\t};\n\n\t\t\t// fire `swiped` event event on the element that started the swipe\n\t\t\tstartEl.dispatchEvent(new CustomEvent('swiped', { bubbles: true, cancelable: true, detail: eventData }));\n\n\t\t\t// fire `swiped-dir` event on the element that started the swipe\n\t\t\tstartEl.dispatchEvent(new CustomEvent(eventType, { bubbles: true, cancelable: true, detail: eventData }));\n\t\t}\n\n\t\t// reset values\n\t\txDown = null;\n\t\tyDown = null;\n\t\ttimeDown = null;\n\t}\n\n\t/**\n\t * Records current location on touchstart event\n\t * @param {object} e - browser event object\n\t * @returns {void}\n\t */\n\tfunction handleTouchStart(e) {\n\n\t\t// if the element has data-swipe-ignore=\"true\" we stop listening for swipe events\n\t\tif (e.target.getAttribute('data-swipe-ignore') === 'true') return;\n\n\t\tstartEl = e.target;\n\n\t\ttimeDown = Date.now();\n\t\txDown = e.touches[0].clientX;\n\t\tyDown = e.touches[0].clientY;\n\t\txDiff = 0;\n\t\tyDiff = 0;\n\t}\n\n\t/**\n\t * Records location diff in px on touchmove event\n\t * @param {object} e - browser event object\n\t * @returns {void}\n\t */\n\tfunction handleTouchMove(e) {\n\n\t\tif (!xDown || !yDown) return;\n\n\t\tvar xUp = e.touches[0].clientX;\n\t\tvar yUp = e.touches[0].clientY;\n\n\t\txDiff = xDown - xUp;\n\t\tyDiff = yDown - yUp;\n\t}\n\n\t/**\n\t * Gets attribute off HTML element or nearest parent\n\t * @param {object} el - HTML element to retrieve attribute from\n\t * @param {string} attributeName - name of the attribute\n\t * @param {any} defaultValue - default value to return if no match found\n\t * @returns {any} attribute value or defaultValue\n\t */\n\tfunction getNearestAttribute(el, attributeName, defaultValue) {\n\n\t\t// walk up the dom tree looking for data-action and data-trigger\n\t\twhile (el && el !== document.documentElement) {\n\n\t\t\tvar attributeValue = el.getAttribute(attributeName);\n\n\t\t\tif (attributeValue) {\n\t\t\t\treturn attributeValue;\n\t\t\t}\n\n\t\t\tel = el.parentNode;\n\t\t}\n\n\t\treturn defaultValue;\n\t}\n};\n\nexports.SwipeEvents = SwipeEventsFactory;\n\n})();",
"type": "application/javascript",
"module-type": "library",
"Based on https": "//github.com/john-doherty/swiped-events",
"https": "//github.com/scriptex/touchsweep/blob/master/src/touchsweep.js"
},
"$:/plugins/sq/streams/action-unselect.js": {
"title": "$:/plugins/sq/streams/action-unselect.js",
"text": "/*\\\n\ntitle: $:/plugins/sq/streams/action-unselect.js\ntype: application/javascript\nmodule-type: widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar UnselectWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nUnselectWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nUnselectWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.parentDomNode = parent;\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nUnselectWidget.prototype.execute = function() {\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nUnselectWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nUnselectWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tif (window.getSelection) {\n\t\twindow.getSelection().removeAllRanges();\n\t} else if (document.selection) {\n\t\tdocument.selection.empty();\n\t}\n\treturn true;\n};\n\nUnselectWidget.prototype.allowActionPropagation = function() {\n\treturn false;\n};\n\nexports[\"action-unselect\"] = UnselectWidget;\n\n})();",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/sq/streams/action-withinput.js": {
"title": "$:/plugins/sq/streams/action-withinput.js",
"text": "/*\\\n\ntitle: $:/plugins/sq/streams/action-withinput.js\ntype: application/javascript\nmodule-type: widget\n\nPrompt user for input before executing actions contained inside the widget.\nThe string entered by the user is available in the variable userInput in the actions contained in the widget.\n\nPrompt user for confirmation before executing actions contained inside the widget.\nIf the user cancels, the actions are not executed.\n\nExample:\n<$button>go\n<$action-withinput message=\"What is your name?\" actions=\"\"\"<$action-setfield $tiddler=\"name\" $value=<<userInput>>/>\"\"\" />\n</$button>\n\nParameters:\nmessage : message to display\ndefault: default value, defaults to an empty string\n\n\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar WithInputWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nWithInputWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nWithInputWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.parentDomNode = parent;\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWithInputWidget.prototype.execute = function() {\n\tthis.message = this.getAttribute(\"message\");\n\tthis.defaultValue = this.getAttribute(\"default\",\"\");\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nWithInputWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"message\"] || changedAttributes[\"default\"] || changedAttributes[\"actions\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nWithInputWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tif(this.message && this.actions) {\n\t\tvar userData = prompt(this.message,this.defaultValue);\n\t\tif(userData != null) {\n\t\t\tthis.setVariable(\"userInput\",userData);\n\t\t\tthis.invokeActionString(this.actions,this,event);\n\t\t\treturn true;\n\t\t}\n\t}\n};\n\nWithInputWidget.prototype.allowActionPropagation = function() {\n\treturn false;\n};\n\nexports[\"action-withinput\"] = WithInputWidget;\n\n})();",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/sq/streams/widgets/keyboard-plus.js": {
"title": "$:/plugins/sq/streams/widgets/keyboard-plus.js",
"text": "/*\\\ntitle: $:/plugins/sq/streams/widgets/keyboard-plus.js\ntype: application/javascript\nmodule-type: widget\n\\*/\n(function(){\n\t\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar KeyboardWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nKeyboardWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nKeyboardWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.tag && $tw.config.htmlUnsafeElements.indexOf(this.tag) === -1) {\n\t\ttag = this.tag;\n\t}\n\t// Create element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-keyboard\");\n\tdomNode.className = classes.join(\" \");\n\t\n\t\n\t// Add a keyboard event handler\n\tdomNode.addEventListener(\"keydown\",function (event) {\n\t\t\t// CM triggers two events\n\t\t\t// second event has:\n\t\t\t//\t\tdefaultPrevented : true\n\t\t\t//\t\tdetail: 0\n\t\t\t// \t\teventPhase 3 (instead of 2)\n\t\t\t// \t\tisComposing : false\n\t\t\tif(!event.defaultPrevented) {\n\t\t\t\tvar key, action, preventDefault;\n\t\t\t\tfor(var i=0; i<self.shortcutTiddlers.length; i++) {\n\t\t\t\t\tif(self.shortcutParsedList[i] !== undefined && $tw.keyboardManager.checkKeyDescriptors(event,self.shortcutParsedList[i])) {\n\t\t\t\t\t\tkey = self.shortcutParsedList[i];\n\t\t\t\t\t\taction = self.shortcutActionList[i];\n\t\t\t\t\t\tpreventDefault = self.shortcutPreventDefaultList[i];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(key !== undefined) {\n\t\t\t\t\tif(preventDefault) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t\tObject.defineProperty(event,\"sqHandled\",{value:true});\n\t\t\t\t\t//event.sqHandled = true;\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t//event.stopImmediatePropagation();\n\t\t\t\t\tself.invokeActionString(action,self,event);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t}\n\t},false);\n\t\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\t\n}\t\n\t\nKeyboardWidget.prototype.execute = function() {\n\tvar self = this;\n\t// Get attributes\n\tthis.tag = this.getAttribute(\"tag\",\"\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis.shortcutTiddlerTag = this.getAttribute(\"shortcutTag\");\n\t//var keyInfoArray = [];\n\t\n\tthis.shortcutTiddlers = this.wiki.getTiddlersWithTag(this.shortcutTiddlerTag);\n\tthis.shortcutKeysList = [];\n\tthis.shortcutActionList = [];\n\tthis.shortcutParsedList = [];\n\tthis.shortcutPreventDefaultList = [];\n\t\n\tfor(var i=0; i<this.shortcutTiddlers.length; i++) {\n\t\tvar title = this.shortcutTiddlers[i],\n\t\t\ttiddlerFields = this.wiki.getTiddler(title).fields;\n\t\tthis.shortcutKeysList[i] = tiddlerFields.key !== undefined ? tiddlerFields.key : undefined;\n\t\tthis.shortcutActionList[i] = tiddlerFields.text;\n\t\tthis.shortcutPreventDefaultList[i] = tiddlerFields[\"prevent-default\"] && tiddlerFields[\"prevent-default\"] === \"no\" ? false : true;\n\t\tthis.shortcutParsedList[i] = this.shortcutKeysList[i] !== undefined ? $tw.keyboardManager.parseKeyDescriptors(this.shortcutKeysList[i]) : undefined;\n\t}\n\t\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nKeyboardWidget.prototype.refresh = function(changedTiddlers) {\n\t\n\tvar newList = this.wiki.getTiddlersWithTag(this.shortcutTiddlerTag)\n\tvar hasChanged = $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers) ? true :\n\t\t($tw.utils.hopArray(changedTiddlers,newList) ? true :\n\t\t($tw.keyboardManager.detectNewShortcuts(changedTiddlers))\n\t);\n\t// Re-cache shortcuts if something changed\n\tif(hasChanged) {\n\t//\tthis.updateShortcutLists(newList);\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\t\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"] || changedAttributes.tag) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n\nKeyboardWidget.prototype.invokeActionString = function(actions,triggeringWidget,event,variables) {\n\tif(!variables) {\n\t\tvariables = {};\n\t}\n\t\n\tvar activeElement = document.activeElement;\n\tvar selection;\n\tif(activeElement && activeElement.tagName === \"IFRAME\") {\n\t\tvar idoc = activeElement.contentDocument || activeElement.contentWindow.document;\n\t\tactiveElement = idoc.activeElement;\n\t\tselection = idoc.getSelection();\n\t} else {\n\t\tselection = window.getSelection();\n\t}\n\n\tif(window.CodeMirror && document.activeElement.closest(\".CodeMirror\")) {\n\t\tvar cm = document.activeElement.closest(\".CodeMirror\").CodeMirror;\n\t\tvar cursor = cm.getCursor(\"start\");\n\t\tvar startRange = cm.getRange({\"line\":0,\"ch\":0},{\"line\":cursor.line,\"ch\":cursor.ch});\n\t\tvar selectionStart = startRange.length;\n\t\tvar selection = cm.getSelection();\n\t\tvar selectionEnd = selectionStart + selection.length;\n\t\t\n\t\tvariables[\"selectionStart\"] = startRange.length.toString();\n\t\tvariables[\"selectionEnd\"] = (selectionStart + selection.length).toString();\n\t\tvariables[\"selection\"] = cm.getSelection().toString();\n\t} else if(activeElement && selection && ((activeElement.tagName === \"INPUT\" && activeElement.type === \"TEXT\") || activeElement.tagName === \"TEXTAREA\")) {\n\t\tvariables[\"selectionStart\"] = activeElement.selectionStart.toString();\n\t\tvariables[\"selectionEnd\"] = activeElement.selectionEnd.toString();\n\t\tvariables[\"selection\"] = selection.toString();\n\t}\n\n\t//this.selection_original_invokeActionString(actions,triggeringWidget,event,variables);\n\tObject.getPrototypeOf(Object.getPrototypeOf(this)).invokeActionString.call(this,actions,triggeringWidget,event,variables);\n}\n\nexports[\"keyboard-plus\"] = KeyboardWidget;\n\n})();\t",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/sq/streams/streams-edit": {
"title": "$:/plugins/sq/streams/streams-edit",
"text": "/*\\\n\ntitle: $:/plugins/sq/streams/streams-edit\ntype: application/javascript\nmodule-type: widget-subclass\n\n\\*/\n\nexports.baseClass = \"edit\";\nexports.name = \"streams-edit\";\n\nexports.constructor = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n}\nexports.prototype = {};\n\nexports.prototype.getEditorType = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\tvar type = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\tvar editorType;\n\tif(type === \"text/vnd.tiddlywiki\") {\n\t\teditorType = this.wiki.getTiddlerText(\"$:/config/sq/streams/editor-engine\");\n\t\tif((!$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/codemirror\") || $tw.wiki.getTiddlerText(\"$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/codemirror\",\"no\") === \"yes\" || !$tw.modules.titles[\"$:/plugins/tiddlywiki/codemirror/edit-codemirror.js\"]) && (editorType === \"codemirror\") ) {\n\t\t\teditorType = \"text\";\n\t\t}\n\t\treturn editorType;\n\t}\n\teditorType = this.wiki.getTiddlerText(EDITOR_MAPPING_PREFIX + type);\n\tif(!editorType) {\n\t\tvar typeInfo = $tw.config.contentTypeInfo[type];\n\t\tif(typeInfo && typeInfo.encoding === \"base64\") {\n\t\t\teditorType = \"binary\";\n\t\t} else {\n\t\t\teditorType = \"text\";\n\t\t}\n\t}\n\treturn editorType;\n};",
"type": "application/javascript",
"module-type": "widget-subclass"
},
"$:/plugins/sq/streams/widgets/swiper.js": {
"title": "$:/plugins/sq/streams/widgets/swiper.js",
"text": "/*\\\ntitle: $:/plugins/sq/streams/widgets/swiper.js\ntype: application/javascript\nmodule-type: widget\n\nSwipe event handler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n//var SwipeListener = require(\"$:/sq/lib/swipe-listener\");\nvar SwipeEvents = require(\"$:/plugins/sq/lib/swipeevents.js\").SwipeEvents;\n\nvar SwipeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSwipeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSwipeWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.swipeTag && $tw.config.htmlUnsafeElements.indexOf(this.swipeTag) === -1) {\n\t\ttag = this.swipeTag;\n\t}\t\n\tvar domNode = this.document.createElement(tag);\n\tif(this.swipeEnable) {\n\t\tSwipeEvents(domNode,{\"swipe-threshold\": this.swipeThreshold});\n\t}\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n}\n\n/*\nCompute the internal state of the widget\n*/\nSwipeWidget.prototype.execute = function() {\n\tvar self = this;\n\tthis.swipeThreshold = parseInt(this.getAttribute(\"swipethreshold\",\"100\"));\n\tthis.swipeEnable = this.getAttribute(\"enable\",\"yes\") === \"yes\";\n\tthis.swipeTag = this.getAttribute(\"tag\");\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSwipeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.swiper = SwipeWidget;\n\n})();",
"type": "application/javascript",
"module-type": "widget"
}
}
}
.stream-root {
margin-left: -1.5em;
}
@media only screen and (max-width: 600px) {
.stream-root {
margin-left: -1em;
}
}
.stream-row {
display: flex;
flex: 0 0 auto;
user-select: none;
}
.stream-row-children {
display:flex;
flex: 0 0 auto;
flex-direction: column;
/*padding-left: 0.5em;*/
border-left: 1px solid <<color message-border>>;
margin-left: 10px;
}
.stream-row-nochildren + .stream-row-children {
border-left: none;
}
.stream-node-disabled,
.stream-node-disabled + div.stream-row-children{
background-color: <<color tiddler-editor-border>>;
}
.stream-node-disabled + div.stream-row-children + div.stream-node-disabled,
.stream-node-disabled + div.stream-row-children + div.stream-node-disabled + div.stream-row-children,
.stream-node-disabled.stream-row-nochildren + div.stream-row-children,
.stream-node-disabled.stream-row-nochildren + div.stream-row-children > div.stream-node-disabled {
background-color: transparent;
}
/* hide last droppable in a list when the last row is disabled */
.stream-node-disabled + div.stream-row-children + div.stream-droppable.tc-droppable.stream-droppable-terminal{
display: none;
/*visibility: hidden;*/
}
.stream-node-disabled + div.stream-row-children + .stream-node-disabled + div.stream-row-children + div.stream-droppable.tc-droppable.stream-droppable-terminal{
display: block;
}
/*
.stream-node-disabled.stream-row-nochildren + div.stream-row-children {
visibility: hidden;
}
.stream-node-disabled.stream-row-nochildren + div.stream-row-children + div + div {
visibility: visible;
}
*/
.stream-droppable.tc-droppable.tc-dragover > .tc-droppable-placeholder,
.stream-droppable.tc-droppable.tc-dragover > div > .tc-droppable-placeholder {
margin-left: 29px;
line-height: 5px;
height: 5px;
border: 2px solid <<color dropzone-background>>;
background-color: <<color dropzone-background>>;
}
/*
.stream-droppable-terminal.tc-drag-over .stream-droppable-spacer {
height: 0;
}
*/
.stream-droppable-spacer {
height: 0.3em;
}
<$vars currentTiddler={{{[prefix[$:/state/sq-context-popup]]}}}>
[data-node-title="{{!!current}}"],
[data-node-title="{{!!current}}"] + div{
background: <<color notification-background>>;
color: <<color message-foreground>>;
}
</$vars>
.stream-node-control {
display: flex;
flex: 0 0 45px;
padding-top: 4px;
padding-left: 4px;
}
.stream-node-control .stream-node-collapser,
.stream-node-control .stream-node-handle {
display: flex;
height: 13px;
width: 13px;
margin-top: 4px;
border-radius: 50%;
justify-content: center;
align-items: center;
}
.stream-node-control.stream-node-control-addnew .stream-node-handle {
width: 20px;
height: 20px;
margin-top: 0;
}
.stream-node-control.stream-node-control-addnew .stream-node-collapser {
width: 16px;
}
.stream-node-control.stream-node-control-addnew div.tc-btn-invisible svg {
opacity: 0.8;
}
.stream-node-control.stream-node-control-addnew div.tc-btn-invisible svg circle {
fill: <<color tiddler-controls-foreground>>;
opacity: 0.6;
}
.stream-node-control.stream-node-control-addnew div.tc-btn-invisible svg line.line {
stroke: <<color foreground>>;
opacity: 1;
}
.stream-node-control.stream-node-control-addnew div.tc-btn-invisible:hover svg circle {
fill: <<color tiddler-controls-foreground-hover>>;
}
.stream-node-control .stream-node-collapser {
height: 13px;
width: 20px;
opacity:0;
}
.stream-row-nochildren .stream-node-collapser {
visibility: hidden;
}
.stream-row:hover .stream-node-collapser,
.stream-row-children-collapsed.stream-row:hover .stream-node-collapser {
opacity: 0.4;
}
.stream-row:hover .stream-node-collapser:hover,
.stream-row-children-collapsed.stream-row:hover .stream-node-collapser:hover {
opacity: 0.9;
}
.stream-row-children-collapsed .stream-node-control .stream-node-collapser {
opacity: 0.4;
}
.stream-node-collapser.tc-btn-invisible,
.stream-node-collapser.tc-btn-invisible:focus {
outline: none;
}
.stream-node-collapser svg {
transform: rotateZ(90deg);
transition: transform 200ms ease-in-out 0s;
}
.stream-row-children-collapsed .stream-node-collapser svg {
transform: rotateZ(0deg);
}
/*
.stream-node-control .stream-node-handle-wrapper .stream-node-handle {
width: 13px;
height: 13px;
display: flex;
align-items : center;
justify-content: center;
}
*/
.stream-node-control .stream-node-handle .stream-node-handle-inner {
border-radius: 50%;
width: 6px;
height: 6px;
background-color: <<color foreground>>;
opacity: 0.3;
}
.stream-node-control .sq-contextmenu-container {
display: flex;
}
/*
.stream-row:hover .stream-node-control .stream-node-handle-wrapper .stream-node-handle-inner {
opacity: 0.7;
}
*/
.stream-row:hover .stream-node-control .stream-node-handle:hover .stream-node-handle-inner {
opacity: 1;
}
<$vars currentTiddler={{{[prefix[$:/state/sq-context-popup]]}}}>
[data-node-title="{{!!current}}"] .stream-node-handle .stream-node-handle-inner {
border: 5px solid #5778d8;
opacity: 1;
}
</$vars>
.stream-node-block {
overflow-wrap: break-word;
max-width: {{$:/config/sq/streams/node-max-width}}px;
min-height: calc(1.5em + 8px);
box-sizing: border-box;
margin-top: -1px;
min-width: 100px;
width: 100%;
line-height: 1.5em;
cursor: text;
padding-top: 4px;
padding-bottom: 4px;
user-select: text;
/*white-space: pre-wrap;*/
}
.stream-node-block textarea {
width: 100%;
outline-color: <<color tiddler-editor-border>>;
border: 1px solid <<color tiddler-editor-border>>;
resize: none;
}
.stream-node-block textarea.streams-editor {
line-height:1.5em;
margin-bottom: 0.6em;
}
.stream-node-block > h1:first-child,
.stream-node-block > h2:first-child,
.stream-node-block > h3:first-child,
.stream-node-block > h4:first-child,
.stream-node-block > h5:first-child,
.stream-node-block > h6:first-child,
.stream-node-block p:first-child {
margin-top:0;
}
.stream-node-block > h1:last-child,
.stream-node-block > h2:last-child,
.stream-node-block > h3:last-child,
.stream-node-block > h4:last-child,
.stream-node-block > h5:last-child,
.stream-node-block > h6:last-child,
.stream-node-block p:last-child {
margin-bottom:0;
}
span.sq-breadcrumbs-fragment {
white-space: nowrap;
overflow: hidden;
display: inline-block;
text-overflow: ellipsis;
max-width: calc({{$:/config/sq/streams/node-max-width}}px - 50px);
}
span.sq-breadcrumbs-fragment a.tc-tiddlylink {
color: <<color foreground>>;
}
/*** framed engine styles ***/
.tc-tiddler-frame .stream-node-block input.tc-edit-texteditor,
.tc-tiddler-frame .stream-node-block textarea.tc-edit-texteditor,
.tc-tiddler-frame .stream-node-block iframe.tc-edit-texteditor {
background: <<color background>> !important;
margin-top:0;
margin-bottom: -1.6em;
}
<$reveal state="$:/config/sq/streams/enable-edit-toolbar" type="nomatch" text="yes">
.stream-node-block .tc-editor-toolbar {
display: none;
}
</$reveal>
<$reveal state="$:/state/sq/streams/global-drag-state" type="match" text="yes">
/** active drag css **/
</$reveal>
<$reveal state="$:/state/sq/streams/global-drag-state" type="nomatch" text="yes">
/**no active drag css **/
</$reveal>
{
"tiddlers": {
"$:/plugins/telmiger/details/details.css": {
"text": "/* details and summary */\n\ndetails {\n transition: height 1s ease;\n padding: 0 0.5em 0 0.66em;\n margin-top: 0.66em;\n margin-bottom: 0.66em;\n}\n\ndetails + details {\n margin-top: -0.46em;\n}\n\ndetails[open] {\n padding-bottom: 1em;\n}\n\ndetails:not([open]) { \n cursor: pointer;\n}\n\ndetails > summary {\n display: list-item;\n margin: 0 -0.5em 0 -0.66em;\n padding: 0.2em 0.5em 0.2em 0.66em;\n padding-left: 1.76em; /* adjust for indentation */\n text-indent: -1.1em;\n cursor: pointer;\n}\n\ndetails[open] > summary {\n margin-bottom: 1em;\n}\n\ndetails[open] > *:first-child:not(summary) {\n margin-top: 1em;\n}\n",
"title": "$:/plugins/telmiger/details/details.css",
"tags": "$:/tags/Stylesheet",
"modifier": "Thomas Elmiger",
"modified": "20180929131615369",
"creator": "Thomas Elmiger",
"created": "20170122140815442"
},
"$:/plugins/telmiger/details/details.js": {
"text": "/*\\\ntitle: $:/plugins/telmiger/details/details.js\ntype: application/javascript\nmodule-type: widget\n\nDetails widget v 0.8\n\nWill output an HTML 5 <details> section including a <summary>\n\n```\n\t<details>\n\t\t<summary>This sums it up</summary> \n\t\tAll the details follow here.\n\t</details>\n```\n\n|Parameter |Description |h\n|summary |Optional text to display as summary. Wins over field (see below). |\n|open |Optional initial state, set to \"open\" to show details on load. Defaults to \"\". |\n|state |An optional TextReference containing the state. Wins over open. |\n|field |Optionally, the summary is taken from the field with this name in a given tiddler. Defaults to \"title\". |\n|tiddler |Optional title of a tiddler to watch, connected to field. Defaults to current tiddler. |\n|class |Optional CSS classes to be assigned to the details tag. |\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DetailsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDetailsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDetailsWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute attributes\n\tthis.computeAttributes();\n\t// Execute logic\n\tthis.execute();\n\t// Create elements\n\tthis.detailsDomNode = this.document.createElement(\"details\");\n\tif(this.detailsClass !== \"\") {\n\t\t// this.detailsClass += \" \";\n\t\t// this.detailsClass += \"tc-details\";\n\t\tthis.detailsDomNode.setAttribute(\"class\",this.detailsClass);\n\t}\n\tif(this.detailsOpen == \"open\") {\n\t\tthis.detailsDomNode.setAttribute(\"open\",\"open\");\n\t}\n\tif(this.detailsSummary !== \"\") {\n\t\tthis.summaryDomNode = this.document.createElement(\"summary\");\n\t\t// this.summaryDomNode.setAttribute(\"class\",\"tc-summary\");\n\t\tthis.detailsDomNode.appendChild(this.summaryDomNode);\n\t\tthis.summaryDomNode.appendChild(this.document.createTextNode(this.detailsSummary));\n\t}\n// register an event listener\n/* Maybe this can be reactivated later, see below.\n\tif(this.detailsStateTitle) {\n\t\t$tw.utils.addEventListeners(this.detailsDomNode,[\n\t\t\t{name: \"toggle\", handlerObject: this, handlerMethod: \"handleToggleEvent\"},\n\t\t]);\n\t}\n*/\n// As iOS mobile browsers lack support of toggle events on details \n// we emulate the toggle event using click\n\tif(this.detailsStateTitle && this.summaryDomNode) {\n\t\t$tw.utils.addEventListeners(this.summaryDomNode,[\n\t\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleToggleEvent\"},\n\t\t]);\n\t} else {\n\t\tif(this.detailsStateTitle) {\n\t\t\t$tw.utils.addEventListeners(this.detailsDomNode,[\n\t\t\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleToggleEvent\"},\n\t\t\t]);\n\t\t}\n\t}\n\t// Insert the details into the DOM and render any children\n\tthis.parentDomNode.insertBefore(this.detailsDomNode,nextSibling);\n\tthis.renderChildren(this.detailsDomNode,null);\n\tthis.domNodes.push(this.detailsDomNode);\n};\n\n/*\nRetrieve the value of the summary\n*/\nDetailsWidget.prototype.getSummary = function() {\n\tvar summary = \"\";\n\tif(this.summaryTitle === \"Tiddler not found\" && this.summaryField === \"\") {\n\t// nothing defined: leave empty \n\t\tsummary = \"\";\n\t} else {\n\t\t// tiddler defined? use defined field or title\n\t\tif(this.myTiddler) {\n\t\t\tif(this.summaryField === \"title\" || this.summaryField === \"\") {\n\t\t\t\tsummary = this.summaryTitle;\n\t\t\t} else {\n\t\t\t\tif(this.summaryField === \"text\") {\n \t\t// getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\t\tsummary = this.wiki.getTiddlerText(this.summaryTitle);\n\t\t\t\t} else {\n\t\t\t\t\tsummary = this.myTiddler.fields[this.summaryField];\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.summaryField !== \"\" && this.summaryField !== \"text\") {\n\t\t\t\t// try defined field in current tiddler\n\t\t\t\tvar tiddler = this.wiki.getTiddler(this.getVariable(\"currentTiddler\"));\n\t\t\t\tsummary = tiddler.fields[this.summaryField];\n\t\t\t} else {\n\t\t\t\tsummary = \"\";\n\t\t\t}\n\t\t}\n\t}\n return summary;\n};\n\n/*\nRetrieve the value of the state text reference\n*/\nDetailsWidget.prototype.getStateFromReference = function() {\n var state = this.detailsStateTitle ? this.wiki.getTextReference(this.detailsStateTitle,\"\",this.getVariable(\"currentTiddler\")) : \"\";\n return state;\n};\n\n/*\nCheck all open signals, state fields/tiddlers get priority\n*/\nDetailsWidget.prototype.getOpenState = function() {\n\tvar result = \"\";\n\tif((this.detailsOpenDefault !== \"\" && this.detailsOpenDefault !== \"no\") \n\t || this.detailsState === \"open\") {\n\t\tresult = \"open\";\n\t } \n\tif(this.detailsStateTitle !==\"\" && this.detailsState !== \"open\") {\n\t\tresult = \"\";\n\t}\n\treturn result;\n};\n\n/*\nUpdate the state text reference after click event\n*/\nDetailsWidget.prototype.updateState = function(openState) {\n\tvar fieldValue = \"false\";\n\tvar currentTiddler = this.getVariable(\"currentTiddler\");\n // get the title for the (existing/new) tiddler\n\tvar tr = $tw.utils.parseTextReference(this.detailsStateTitle);\n\tvar tidTitle = tr.title || currentTiddler;\n // is it an existing state tiddler?\n\tvar isStateTiddler = (tr.title === this.detailsStateTitle);\n\tvar hasStateTiddler = this.wiki.tiddlerExists(tr.title);\n\tvar currentStateTiddler = (tr.title === currentTiddler);\n\tif(isStateTiddler || hasStateTiddler || (currentStateTiddler && tr.field !== \"text\")) { \n\t\t// Set the state field (but never overwrite the current tiddler’s text field\n\t\tthis.wiki.setText(tidTitle,tr.field,tr.index,openState);\n\t} else {\n\t\tif(!hasStateTiddler && tidTitle !== currentTiddler) {\n\t\t\tthis.createTiddler(tidTitle);\n\t\t\tthis.wiki.setText(tidTitle,tr.field,tr.index,openState);\n\t\t} else {\n\t\t\tconsole.log (\"Something went wrong in updateState\");\n\t\t}\n\t}\n};\n\n/*\nCreate a tiddler with a title only\n*/\nDetailsWidget.prototype.createTiddler = function(tidTitle) {\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\tthis.wiki.getModificationFields(),\n\t\t{\n\t\t\ttitle: tidTitle,\n\t\t\ttags: []\n\t\t}\n\t));\n};\n\n/*\nSet openState according to click\n*/\nDetailsWidget.prototype.handleToggleEvent = function(event) {\n\t// check if an open attribute is present\n\tvar newState = this.detailsDomNode.open ? \"\" : \"open\";\n\t// update only, if the node has a new state\n\tif(newState !== this.detailsState) {\n\t\tthis.updateState(newState);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDetailsWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes \n\tvar tryTiddler = this.getAttribute(\"tiddler\");\n\tthis.myTiddler = this.wiki.getTiddler(tryTiddler);\n\tthis.summaryTitle = this.myTiddler ? tryTiddler : \"Tiddler not found\";\n\tthis.summaryField = this.getAttribute(\"field\",\"\");\n\tthis.detailsSummary = this.getAttribute(\"summary\") || this.getSummary();\n\tthis.detailsStateTitle = this.getAttribute(\"state\",\"\");\n\tthis.detailsState = this.getStateFromReference();\n\tthis.detailsOpenDefault = this.getAttribute(\"open\",\"\");\n\tthis.detailsOpen = this.getOpenState();\n\tthis.detailsClass = this.getAttribute(\"class\",\"\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDetailsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.summary || changedAttributes.state || changedAttributes.open || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tvar testState = this.getStateFromReference();\n\t\tif(testState !== this.detailsState) {\n\t\t\t// state change\n\t\t\tthis.refreshSelf();\n\t\t\trefreshed = true;\n\t\t} \n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.details = DetailsWidget;\n\n})();",
"type": "application/javascript",
"title": "$:/plugins/telmiger/details/details.js",
"tags": "Plugins",
"module-type": "widget",
"modifier": "Thomas Elmiger",
"modified": "20180929212032187",
"creator": "Thomas Elmiger",
"created": "20170124173619910"
},
"$:/plugins/telmiger/details/icon": {
"created": "20170205205314072",
"text": "<svg class=\"tc-image-button telmiger-icon\" viewBox=\"0 0 128 128\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title\"><title id=\"title\">T</title><path class=\"circle\" d=\"M64 2C30 2 2 29.753 2 64c0 34.235 27.753 62 62 62s62-27.752 62-62C126 29.753 98.221 2 64 2z\"/><path class=\"t\" d=\"M100.41 63.254c-2.886 1.92-7.544 2.883-13.979 2.883h-8.008c-4.246 0-7.331.845-9.254 2.536-1.922 1.69-3.449 5.086-4.576 10.19 0 0-.181 1.481-.503 1.481s-.369-.877-.518-1.586a37.897 37.897 0 0 0-.721-2.754c-.631-2.137-1.262-3.753-1.894-4.847-.764-1.359-1.727-2.452-2.889-3.28-1.162-.83-2.49-1.326-3.985-1.492l-2.092-.248H41.73c-6.144 0-10.711-.962-13.7-2.884-4.976-3.159-7.649-9.129-8.02-17.91-.03-.706.003-1.351.132-2.171h.585c.399 3.975 3.679 7.048 6.086 9.219 2.408 2.172 6.269 3.258 11.581 3.258h9.313c5.347 0 9.257 1.226 11.731 3.68 2.231 2.213 3.701 5.68 4.406 10.4.076.511.03.736.178.736.149 0 .11-.256.17-.783.713-6.122 3.085-10.219 7.117-12.294 2.487-1.292 6.434-1.906 11.841-1.839l6.368.1c4.311.066 7.942-.788 10.893-2.56 2.953-1.773 6.447-5.079 6.844-9.917h.595c.183.478.16 1.576.127 2.333-.371 8.752-2.894 14.668-7.567 17.749z\"/></svg>\n<style>\n.telmiger-icon .circle { fill: #e2001a }\n.telmiger-icon .t { fill: #fff }\n</style>",
"title": "$:/plugins/telmiger/details/icon",
"tags": "",
"modified": "20171219183752113"
},
"$:/plugins/telmiger/details/license": {
"text": "!! Plugin license\n!!!The MIT License (MIT)\n\n```\nCopyright © 2017/2018 Thomas Elmiger – thomas-elmiger.ch\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```",
"title": "$:/plugins/telmiger/details/license",
"tags": "",
"modified": "20170205214435064",
"created": "20170205213335455"
},
"$:/plugins/telmiger/details/readme": {
"created": "20170205212323032",
"text": "! ~DetailsWidget\n\n{{$:/plugins/telmiger/details/about}}\n\nDocumentation can be found at http://tid.li/tw5/plugins.html#DetailsWidget\n",
"title": "$:/plugins/telmiger/details/readme",
"tags": "",
"modified": "20200603211110057"
},
"$:/plugins/telmiger/details/colours.css": {
"text": "/* details and summary colours */\n\ndetails {\n background-color: <<colour tiddler-info-tab-background>>;\n color: <<colour foreground>>;\n}\n\ndetails summary {\n background-color: <<colour dropdown-tab-background>>;\n}\n\ndetails.notification summary {\n background-color: <<colour notification-background>>;\n /* TW leaves color undefined/uses foreground */\n}\n\ndetails.warning summary {\n background-color: #ffbbaf;\n color: #000;\n}\n\ndetails.success summary {\n background-color: #88edc5;\n color: #000;\n}\n",
"title": "$:/plugins/telmiger/details/colours.css",
"tags": "$:/tags/Stylesheet",
"modifier": "Thomas Elmiger",
"modified": "20180926204140772",
"creator": "Thomas Elmiger",
"created": "20180925155320737"
},
"$:/plugins/telmiger/DetailsWidget/support": {
"created": "20200603204816640",
"text": "{{$:/plugins/telmiger/support}}",
"title": "$:/plugins/telmiger/DetailsWidget/support",
"tags": "",
"modified": "20200603204849180"
},
"$:/plugins/telmiger/support": {
"created": "20200604213259310",
"text": "!! Support the Author\n\n''Hi!'' I’m Thomas, the author of [[tid.li/tw5/plugins.html|https://tid.li/tw5/plugins.html]]. Feedback is always welcome, as well as funding for maintenance, support and new projects :)\n\n---\n\n!!! One Time Support\n\nIf using my plugins just makes you happy, consider a one time payment via ~PayPal to reward the effort:\n\nhttps://www.paypal.me/telmiger\n\n---\n\n!!! Permanent Support\n\nIf my tools make you more productive or save you time in your job or your everyday life, you can support me as a Patron: \n\nhttps://www.patreon.com/telmiger\n\n---\n\n!!! Thank You\n\nSubstantial parts of my availabe time go to the deveopment of useful plugins for [[TiddlyWiki|https://tiddlywiki.com/]]. – Many others do the same and I would like to thank them all, especially [[Jeremy Ruston|https://tiddlywiki.com/#JeremyRuston]] and all the active members of the community!\n\n//Hereby I promise to share future revenues (if any) with other developers who’s works I use or who inspired me.//\n\nIf you like my work, I would be very happy to hear from you.\n\n''Thank you very much for your support!''<br>\n//Thomas//\n\nhttps://thomas-elmiger.ch",
"title": "$:/plugins/telmiger/support",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20200604213305050",
"creator": "Thomas Elmiger"
},
"$:/plugins/telmiger/details/about": {
"created": "20200603211101398",
"modified": "20200603211101398",
"title": "$:/plugins/telmiger/details/about",
"text": "Create HTML 5 `<details>` elements including a `<summary>` using this widget.\n\n<$details summary=\"The details element – W3C definition\">\n\n<<<\nThe [[details|http://w3c.github.io/html/interactive-elements.html#elementdef-details]] element represents a disclosure widget from which the user can obtain additional information or controls.\n<<< W3C\n\n</$details>\n\n<$details summary=\"Code example\" open=\"no\">\n\n```\n<$details summary=\"This should be open\" open=\"yes\">\n\nContent will be immediately visible if open is set to \"yes\".\n\n</$details>\n```\n\n</$details>",
"tags": ""
}
}
}
{"tiddlers":{"$:/config/HighlightPlugin/TypeMappings/application/javascript":{"text":"javascript"},"$:/config/HighlightPlugin/TypeMappings/application/json":{"text":"json"},"$:/config/HighlightPlugin/TypeMappings/text/css":{"text":"css"},"$:/config/HighlightPlugin/TypeMappings/text/html":{"text":"html"},"$:/config/HighlightPlugin/TypeMappings/image/svg+xml":{"text":"xml"},"$:/config/HighlightPlugin/TypeMappings/text/x-markdown":{"text":"markdown"},"$:/plugins/tiddlywiki/highlight/highlight.js":{"text":"var e,t,r=require('$:/plugins/tiddlywiki/highlight/highlight.js');e=function(a){var u=[],n=Object.keys,S={},o={},C=!0,t=/^(no-?highlight|plain|text)$/i,s=/\\blang(?:uage)?-([\\w-]+)\\b/i,r=/((^(<[^>]+>|\\t|)+|(?:\\n)))/gm,i={case_insensitive:'cI',lexemes:'l',contains:'c',keywords:'k',subLanguage:'sL',className:'cN',begin:'b',beginKeywords:'bK',end:'e',endsWithParent:'eW',illegal:'i',excludeBegin:'eB',excludeEnd:'eE',returnBegin:'rB',returnEnd:'rE',variants:'v',IDENT_RE:'IR',UNDERSCORE_IDENT_RE:'UIR',NUMBER_RE:'NR',C_NUMBER_RE:'CNR',BINARY_NUMBER_RE:'BNR',RE_STARTERS_RE:'RSR',BACKSLASH_ESCAPE:'BE',APOS_STRING_MODE:'ASM',QUOTE_STRING_MODE:'QSM',PHRASAL_WORDS_MODE:'PWM',C_LINE_COMMENT_MODE:'CLCM',C_BLOCK_COMMENT_MODE:'CBCM',HASH_COMMENT_MODE:'HCM',NUMBER_MODE:'NM',C_NUMBER_MODE:'CNM',BINARY_NUMBER_MODE:'BNM',CSS_NUMBER_MODE:'CSSNM',REGEXP_MODE:'RM',TITLE_MODE:'TM',UNDERSCORE_TITLE_MODE:'UTM',COMMENT:'C',beginRe:'bR',endRe:'eR',illegalRe:'iR',lexemesRe:'lR',terminators:'t',terminator_end:'tE'},x='</span>',_='Could not find the language \\'{}\\', did you forget to load/include a language module?',D={classPrefix:'hljs-',tabReplace:null,useBR:!1,languages:void 0},l='of and for in not or if then'.split(' ');function w(e){return e.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>')}function p(e){return e.nodeName.toLowerCase()}function c(e){return t.test(e)}function m(e){var t,r={},a=Array.prototype.slice.call(arguments,1);for(t in e)r[t]=e[t];return a.forEach(function(e){for(t in e)r[t]=e[t]}),r}function d(e){var i=[];return function e(t,r){for(var a=t.firstChild;a;a=a.nextSibling)3===a.nodeType?r+=a.nodeValue.length:1===a.nodeType&&(i.push({event:'start',offset:r,node:a}),r=e(a,r),p(a).match(/br|hr|img|input/)||i.push({event:'stop',offset:r,node:a}));return r}(e,0),i}function b(e){if(i&&!e.langApiRestored){for(var t in e.langApiRestored=!0,i)e[t]&&(e[i[t]]=e[t]);(e.c||[]).concat(e.v||[]).forEach(b)}}function g(t,a){var i={};return'string'==typeof t?r('keyword',t):n(t).forEach(function(e){r(e,t[e])}),i;function r(r,e){a&&(e=e.toLowerCase()),e.split(' ').forEach(function(e){var t=e.split('|');i[t[0]]=[r,(e=t[0],(t=t[1])?Number(t):-1!=l.indexOf(e.toLowerCase())?0:1)]})}}function P(a){function c(e){return e&&e.source||e}function d(e,t){return new RegExp(c(e),'m'+(a.cI?'i':'')+(t?'g':''))}if(a.c&&-1!=a.c.indexOf('self')){if(!C)throw new Error('ERR: contains `self` is not supported at the top-level of a language. See documentation.');a.c=a.c.filter(function(e){return'self'!=e})}!function t(r,e){r.compiled||(r.compiled=!0,r.k=r.k||r.bK,r.k&&(r.k=g(r.k,a.cI)),r.lR=d(r.l||/\\w+/,!0),e&&(r.bK&&(r.b='\\\\b('+r.bK.split(' ').join('|')+')\\\\b'),r.b||(r.b=/\\B|\\b/),r.bR=d(r.b),r.endSameAsBegin&&(r.e=r.b),r.e||r.eW||(r.e=/\\B|\\b/),r.e&&(r.eR=d(r.e)),r.tE=c(r.e)||'',r.eW&&e.tE&&(r.tE+=(r.e?'|':'')+e.tE)),r.i&&(r.iR=d(r.i)),null==r.relevance&&(r.relevance=1),r.c||(r.c=[]),r.c=Array.prototype.concat.apply([],r.c.map(function(e){return(t='self'===e?r:e).v&&!t.cached_variants&&(t.cached_variants=t.v.map(function(e){return m(t,{v:null},e)})),t.cached_variants||(function e(t){return!!t&&(t.eW||e(t.starts))}(t)?[m(t,{starts:t.starts?m(t.starts):null})]:Object.isFrozen(t)?[m(t)]:[t]);var t})),r.c.forEach(function(e){t(e,r)}),r.starts&&t(r.starts,e),r.t=function(i){var e,n={},o=[],s={},r=1;function t(e,t){n[r]=e,o.push([e,t]),r+=new RegExp(t.toString()+'|').exec('').length-1+1}for(var a=0;a<i.c.length;a++)t(e=i.c[a],e.bK?'\\\\.?(?:'+e.b+')\\\\.?':e.b);i.tE&&t('end',i.tE),i.i&&t('illegal',i.i);var l=d(function(e){for(var t=/\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./,r=0,a='',i=0;i<e.length;i++){var n=r+=1,o=c(e[i]);for(0<i&&(a+='|'),a+='(';0<o.length;){var s=t.exec(o);if(null==s){a+=o;break}a+=o.substring(0,s.index),o=o.substring(s.index+s[0].length),'\\\\'==s[0][0]&&s[1]?a+='\\\\'+String(Number(s[1])+n):(a+=s[0],'('==s[0]&&r++)}a+=')'}return a}(o.map(function(e){return e[1]})),!0);return s.lastIndex=0,s.exec=function(e){var t;if(0===o.length)return null;l.lastIndex=s.lastIndex;var r=l.exec(e);if(!r)return null;for(var a=0;a<r.length;a++)if(null!=r[a]&&null!=n[''+a]){t=n[''+a];break}return'string'==typeof t?(r.type=t,r.extra=[i.i,i.tE]):(r.type='begin',r.rule=t),r},s}(r))}(a)}function M(e,t,i,r){var n=t;function o(e,t,r,a){if(!r&&''===t)return'';if(!e)return t;a='<span class=\"'+(a?'':D.classPrefix);return(a+=e+'\">')+t+(r?'':x)}function s(){m+=(null!=u.sL?function(){var e='string'==typeof u.sL;if(e&&!S[u.sL])return w(g);var t=e?M(u.sL,g,!0,p[u.sL]):N(g,u.sL.length?u.sL:void 0);return 0<u.relevance&&(v+=t.relevance),e&&(p[u.sL]=t.top),o(t.language,t.value,!1,!0)}:function(){var e,t,r,a,i;if(!u.k)return w(g);for(r='',e=0,u.lR.lastIndex=0,t=u.lR.exec(g);t;)r+=w(g.substring(e,t.index)),a=u,i=t,i=d.cI?i[0].toLowerCase():i[0],(i=a.k.hasOwnProperty(i)&&a.k[i])?(v+=i[1],r+=o(i[0],w(t[0]))):r+=w(t[0]),e=u.lR.lastIndex,t=u.lR.exec(g);return r+w(g.substr(e))})(),g=''}function l(e){m+=e.cN?o(e.cN,'',!0):'',u=Object.create(e,{parent:{value:u}})}var c={};function a(e,a){var t=a&&a[0];if(g+=e,null==t)return s(),0;if('begin'==c.type&&'end'==a.type&&c.index==a.index&&''===t)return g+=n.slice(a.index,a.index+1),1;if('begin'===(c=a).type)return r=(e=a)[0],(e=e.rule)&&e.endSameAsBegin&&(e.eR=new RegExp(r.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,'\\\\$&'),'m')),e.skip?g+=r:(e.eB&&(g+=r),s(),e.rB||e.eB||(g=r)),l(e),e.rB?0:r.length;if('illegal'===a.type&&!i)throw new Error('Illegal lexeme \"'+t+'\" for mode \"'+(u.cN||'<unnamed>')+'\"');if('end'===a.type){var r=function(){var e=a[0],t=n.substr(a.index),r=function e(t,r){if(function(e){return(e=e&&e.exec(r))&&0===e.index}(t.eR)){for(;t.endsParent&&t.parent;)t=t.parent;return t}if(t.eW)return e(t.parent,r)}(u,t);if(r){t=u;for(t.skip?g+=e:(t.rE||t.eE||(g+=e),s(),t.eE&&(g=e));u.cN&&(m+=x),u.skip||u.sL||(v+=u.relevance),(u=u.parent)!==r.parent;);return r.starts&&(r.endSameAsBegin&&(r.starts.eR=r.eR),l(r.starts)),t.rE?0:e.length}}();if(null!=r)return r}return g+=t,t.length}var d=k(e);if(!d)throw console.error(_.replace('{}',e)),new Error('Unknown language: \"'+e+'\"');P(d);for(var u=r||d,p={},m='',b=u;b!==d;b=b.parent)b.cN&&(m=o(b.cN,'',!0)+m);var g='',v=0;try{for(var f,h,y=0;u.t.lastIndex=y,f=u.t.exec(n);)h=a(n.substring(y,f.index),f),y=f.index+h;for(a(n.substr(y)),b=u;b.parent;b=b.parent)b.cN&&(m+=x);return{relevance:v,value:m,i:!1,language:e,top:u}}catch(t){if(t.message&&-1!==t.message.indexOf('Illegal'))return{i:!0,relevance:0,value:w(n)};if(C)return{relevance:0,value:w(n),language:e,top:u,errorRaised:t};throw t}}function N(r,e){e=e||D.languages||n(S);var a={relevance:0,value:w(r)},i=a;return e.filter(k).filter(T).forEach(function(e){var t=M(e,r,!1);t.language=e,t.relevance>i.relevance&&(i=t),t.relevance>a.relevance&&(i=a,a=t)}),i.language&&(a.second_best=i),a}function v(e){return D.tabReplace||D.useBR?e.replace(r,function(e,t){return D.useBR&&'\\n'===e?'<br>':D.tabReplace?t.replace(/\\t/g,D.tabReplace):''}):e}function f(e){var t,r,a,i,n=function(e){var t,r,a,i,n=e.className+' ';if(n+=e.parentNode?e.parentNode.className:'',r=s.exec(n)){var o=k(r[1]);return o||(console.warn(_.replace('{}',r[1])),console.warn('Falling back to no-highlight mode for this block.',e)),o?r[1]:'no-highlight'}for(t=0,a=(n=n.split(/\\s+/)).length;t<a;t++)if(c(i=n[t])||k(i))return i}(e);c(n)||(D.useBR?(t=document.createElement('div')).innerHTML=e.innerHTML.replace(/\\n/g,'').replace(/<br[ \\/]*>/g,'\\n'):t=e,i=t.textContent,r=n?M(n,i,!0):N(i),(t=d(t)).length&&((a=document.createElement('div')).innerHTML=r.value,r.value=function(e,t,r){var a=0,i='',n=[];function o(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset<t[0].offset?e:t:'start'===t[0].event?e:t:e.length?e:t}function s(e){i+='<'+p(e)+u.map.call(e.attributes,function(e){return' '+e.nodeName+'=\"'+w(e.value).replace(/\"/g,'"')+'\"'}).join('')+'>'}function l(e){i+='</'+p(e)+'>'}function c(e){('start'===e.event?s:l)(e.node)}for(;e.length||t.length;){var d=o();if(i+=w(r.substring(a,d[0].offset)),a=d[0].offset,d===e){for(n.reverse().forEach(l);c(d.splice(0,1)[0]),(d=o())===e&&d.length&&d[0].offset===a;);n.reverse().forEach(s)}else'start'===d[0].event?n.push(d[0].node):n.pop(),c(d.splice(0,1)[0])}return i+w(r.substr(a))}(t,d(a),i)),r.value=v(r.value),e.innerHTML=r.value,e.className=(a=e.className,i=r.language,n=n?o[n]:i,i=[a.trim()],a.match(/\\bhljs\\b/)||i.push('hljs'),-1===a.indexOf(n)&&i.push(n),i.join(' ').trim()),e.result={language:r.language,re:r.relevance},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.relevance}))}function h(){var e;h.called||(h.called=!0,e=document.querySelectorAll('pre code'),u.forEach.call(e,f))}var y={disableAutodetect:!0};function k(e){return e=(e||'').toLowerCase(),S[e]||S[o[e]]}function T(e){e=k(e);return e&&!e.disableAutodetect}return a.highlight=M,a.highlightAuto=N,a.fixMarkup=v,a.highlightBlock=f,a.configure=function(e){D=m(D,e)},a.initHighlighting=h,a.initHighlightingOnLoad=function(){window.addEventListener('DOMContentLoaded',h,!1),window.addEventListener('load',h,!1)},a.registerLanguage=function(t,e){var r;try{r=e(a)}catch(e){if(console.error('Language definition for \\'{}\\' could not be registered.'.replace('{}',t)),!C)throw e;console.error(e),r=y}b(S[t]=r),r.rawDefinition=e.bind(null,a),r.aliases&&r.aliases.forEach(function(e){o[e]=t})},a.listLanguages=function(){return n(S)},a.getLanguage=k,a.requireLanguage=function(e){var t=k(e);if(t)return t;throw new Error('The \\'{}\\' language is required, but not loaded.'.replace('{}',e))},a.autoDetection=T,a.inherit=m,a.debugMode=function(){C=!1},a.IR=a.IDENT_RE='[a-zA-Z]\\\\w*',a.UIR=a.UNDERSCORE_IDENT_RE='[a-zA-Z_]\\\\w*',a.NR=a.NUMBER_RE='\\\\b\\\\d+(\\\\.\\\\d+)?',a.CNR=a.C_NUMBER_RE='(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)',a.BNR=a.BINARY_NUMBER_RE='\\\\b(0b[01]+)',a.RSR=a.RE_STARTERS_RE='!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~',a.BE=a.BACKSLASH_ESCAPE={b:'\\\\\\\\[\\\\s\\\\S]',relevance:0},a.ASM=a.APOS_STRING_MODE={cN:'string',b:'\\'',e:'\\'',i:'\\\\n',c:[a.BE]},a.QSM=a.QUOTE_STRING_MODE={cN:'string',b:'\"',e:'\"',i:'\\\\n',c:[a.BE]},a.PWM=a.PHRASAL_WORDS_MODE={b:/\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b/},a.C=a.COMMENT=function(e,t,r){r=a.inherit({cN:'comment',b:e,e:t,c:[]},r||{});return r.c.push(a.PWM),r.c.push({cN:'doctag',b:'(?:TODO|FIXME|NOTE|BUG|XXX):',relevance:0}),r},a.CLCM=a.C_LINE_COMMENT_MODE=a.C('//','$'),a.CBCM=a.C_BLOCK_COMMENT_MODE=a.C('/\\\\*','\\\\*/'),a.HCM=a.HASH_COMMENT_MODE=a.C('#','$'),a.NM=a.NUMBER_MODE={cN:'number',b:a.NR,relevance:0},a.CNM=a.C_NUMBER_MODE={cN:'number',b:a.CNR,relevance:0},a.BNM=a.BINARY_NUMBER_MODE={cN:'number',b:a.BNR,relevance:0},a.CSSNM=a.CSS_NUMBER_MODE={cN:'number',b:a.NR+'(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?',relevance:0},a.RM=a.REGEXP_MODE={cN:'regexp',b:/\\//,e:/\\/[gimuy]*/,i:/\\n/,c:[a.BE,{b:/\\[/,e:/\\]/,relevance:0,c:[a.BE]}]},a.TM=a.TITLE_MODE={cN:'title',b:a.IR,relevance:0},a.UTM=a.UNDERSCORE_TITLE_MODE={cN:'title',b:a.UIR,relevance:0},a.METHOD_GUARD={b:'\\\\.\\\\s*'+a.UIR,relevance:0},[a.BE,a.ASM,a.QSM,a.PWM,a.C,a.CLCM,a.CBCM,a.HCM,a.NM,a.CNM,a.BNM,a.CSSNM,a.RM,a.TM,a.UTM,a.METHOD_GUARD].forEach(function(e){!function t(r){Object.freeze(r);var a='function'==typeof r;return Object.getOwnPropertyNames(r).forEach(function(e){!r.hasOwnProperty(e)||null===r[e]||'object'!=typeof r[e]&&'function'!=typeof r[e]||a&&('caller'===e||'callee'===e||'arguments'===e)||Object.isFrozen(r[e])||t(r[e])}),r}(e)}),a},t='object'==typeof window&&window||'object'==typeof self&&self,'undefined'==typeof exports||exports.nodeType?t&&(t.hljs=e({}),'function'==typeof define&&define.amd&&define([],function(){return t.hljs})):e(exports),r.registerLanguage('swift',function(e){var t={keyword:'#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet',literal:'true false nil',built_in:'abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip'},r=e.C('/\\\\*','\\\\*/',{c:['self']}),a={cN:'subst',b:/\\\\\\(/,e:'\\\\)',k:t,c:[]},i={cN:'string',c:[e.BE,a],v:[{b:/\"\"\"/,e:/\"\"\"/},{b:/\"/,e:/\"/}]},n={cN:'number',b:'\\\\b([\\\\d_]+(\\\\.[\\\\deE_]+)?|0x[a-fA-F0-9_]+(\\\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\\\b',relevance:0};return a.c=[n],{k:t,c:[i,e.CLCM,r,{cN:'type',b:'\\\\b[A-Z][\\\\wÀ-ʸ\\']*[!?]'},{cN:'type',b:'\\\\b[A-Z][\\\\wÀ-ʸ\\']*',relevance:0},n,{cN:'function',bK:'func',e:'{',eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{b:/</,e:/>/},{cN:'params',b:/\\(/,e:/\\)/,endsParent:!0,k:t,c:['self',n,i,e.CBCM,{b:':'}],i:/[\"']/}],i:/\\[|%/},{cN:'class',bK:'struct protocol class extension enum',k:t,e:'\\\\{',eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][\\u00C0-\\u02B80-9A-Za-z$_]*/})]},{cN:'meta',b:'(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)'},{bK:'import',e:/$/,c:[e.CLCM,r]}]}}),r.registerLanguage('less',function(e){function t(e){return{cN:'string',b:'~?'+e+'.*?'+e}}function r(e,t,r){return{cN:e,b:t,relevance:r}}var a='[\\\\w-]+',i='('+a+'|@{'+a+'})',n=[],o=[],s={b:'\\\\(',e:'\\\\)',c:o,relevance:0};o.push(e.CLCM,e.CBCM,t('\\''),t('\"'),e.CSSNM,{b:'(url|data-uri)\\\\(',starts:{cN:'string',e:'[\\\\)\\\\n]',eE:!0}},r('number','#[0-9A-Fa-f]+\\\\b'),s,r('variable','@@?'+a,10),r('variable','@{'+a+'}'),r('built_in','~?`[^`]*?`'),{cN:'attribute',b:a+'\\\\s*:',e:':',rB:!0,eE:!0},{cN:'meta',b:'!important'});var l=o.concat({b:'{',e:'}',c:n}),c={bK:'when',eW:!0,c:[{bK:'and not'}].concat(o)},d={b:i+'\\\\s*:',rB:!0,e:'[;}]',relevance:0,c:[{cN:'attribute',b:i,e:':',eE:!0,starts:{eW:!0,i:'[<=$]',relevance:0,c:o}}]},s={cN:'keyword',b:'@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\\\b',starts:{e:'[;{}]',rE:!0,c:o,relevance:0}},o={cN:'variable',v:[{b:'@'+a+'\\\\s*:',relevance:15},{b:'@'+a}],starts:{e:'[;}]',rE:!0,c:l}},l={v:[{b:'[\\\\.#:&\\\\[>]',e:'[;{}]'},{b:i,e:'{'}],rB:!0,rE:!0,i:'[<=\\'$\"]',relevance:0,c:[e.CLCM,e.CBCM,c,r('keyword','all\\\\b'),r('variable','@{'+a+'}'),r('selector-tag',i+'%?',0),r('selector-id','#'+i),r('selector-class','\\\\.'+i,0),r('selector-tag','&',0),{cN:'selector-attr',b:'\\\\[',e:'\\\\]'},{cN:'selector-pseudo',b:/:(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\"'.]+/},{b:'\\\\(',e:'\\\\)',c:l},{b:'!important'}]};return n.push(e.CLCM,e.CBCM,s,o,d,l),{cI:!0,i:'[=>\\'/<($\"]',c:n}}),r.registerLanguage('armasm',function(e){return{cI:!0,aliases:['arm'],l:'\\\\.?'+e.IR,k:{meta:'.2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ',built_in:'r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @'},c:[{cN:'keyword',b:'\\\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?',e:'\\\\s'},e.C('[;@]','$',{relevance:0}),e.CBCM,e.QSM,{cN:'string',b:'\\'',e:'[^\\\\\\\\]\\'',relevance:0},{cN:'title',b:'\\\\|',e:'\\\\|',i:'\\\\n',relevance:0},{cN:'number',v:[{b:'[#$=]?0x[0-9a-f]+'},{b:'[#$=]?0b[01]+'},{b:'[#$=]\\\\d+'},{b:'\\\\b\\\\d+'}],relevance:0},{cN:'symbol',v:[{b:'^[a-z_\\\\.\\\\$][a-z0-9_\\\\.\\\\$]+'},{b:'^\\\\s*[a-z_\\\\.\\\\$][a-z0-9_\\\\.\\\\$]+:'},{b:'[=#]\\\\w+'}],relevance:0}]}}),r.registerLanguage('ruby',function(e){var t='[a-zA-Z_]\\\\w*[!?=]?|[-+~]\\\\@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?',r={keyword:'and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor',literal:'true false nil'},a={cN:'doctag',b:'@[A-Za-z]+'},i={b:'#<',e:'>'},n=[e.C('#','$',{c:[a]}),e.C('^\\\\=begin','^\\\\=end',{c:[a],relevance:10}),e.C('^__END__','\\\\n$')],o={cN:'subst',b:'#\\\\{',e:'}',k:r},s={cN:'string',c:[e.BE,o],v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/},{b:/`/,e:/`/},{b:'%[qQwWx]?\\\\(',e:'\\\\)'},{b:'%[qQwWx]?\\\\[',e:'\\\\]'},{b:'%[qQwWx]?{',e:'}'},{b:'%[qQwWx]?<',e:'>'},{b:'%[qQwWx]?/',e:'/'},{b:'%[qQwWx]?%',e:'%'},{b:'%[qQwWx]?-',e:'-'},{b:'%[qQwWx]?\\\\|',e:'\\\\|'},{b:/\\B\\?(\\\\\\d{1,3}|\\\\x[A-Fa-f0-9]{1,2}|\\\\u[A-Fa-f0-9]{4}|\\\\?\\S)\\b/},{b:/<<[-~]?'?(\\w+)(?:.|\\n)*?\\n\\s*\\1\\b/,rB:!0,c:[{b:/<<[-~]?'?/},{b:/\\w+/,endSameAsBegin:!0,c:[e.BE,o]}]}]},a={cN:'params',b:'\\\\(',e:'\\\\)',endsParent:!0,k:r},e=[s,i,{cN:'class',bK:'class module',e:'$|;',i:/=/,c:[e.inherit(e.TM,{b:'[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|\\\\!)?'}),{b:'<\\\\s*',c:[{b:'('+e.IR+'::)?'+e.IR}]}].concat(n)},{cN:'function',bK:'def',e:'$|;',c:[e.inherit(e.TM,{b:t}),a].concat(n)},{b:e.IR+'::'},{cN:'symbol',b:e.UIR+'(\\\\!|\\\\?)?:',relevance:0},{cN:'symbol',b:':(?!\\\\s)',c:[s,{b:t}],relevance:0},{cN:'number',b:'(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b',relevance:0},{b:'(\\\\$\\\\W)|((\\\\$|\\\\@\\\\@?)(\\\\w+))'},{cN:'params',b:/\\|/,e:/\\|/,k:r},{b:'('+e.RSR+'|unless)\\\\s*',k:'unless',c:[i,{cN:'regexp',c:[e.BE,o],i:/\\n/,v:[{b:'/',e:'/[a-z]*'},{b:'%r{',e:'}[a-z]*'},{b:'%r\\\\(',e:'\\\\)[a-z]*'},{b:'%r!',e:'![a-z]*'},{b:'%r\\\\[',e:'\\\\][a-z]*'}]}].concat(n),relevance:0}].concat(n);o.c=e;a=[{b:/^\\s*=>/,starts:{e:'$',c:a.c=e}},{cN:'meta',b:'^([>?]>|[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+>|(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d(p\\\\d+)?[^>]+>)',starts:{e:'$',c:e}}];return{aliases:['rb','gemspec','podspec','thor','irb'],k:r,i:/\\/\\*/,c:n.concat(a).concat(e)}}),r.registerLanguage('lua',function(e){var t='\\\\[=*\\\\[',r='\\\\]=*\\\\]',a={b:t,e:r,c:['self']},i=[e.C('--(?!'+t+')','$'),e.C('--'+t,r,{c:[a],relevance:10})];return{l:e.UIR,k:{literal:'true false nil',keyword:'and break do else elseif end for goto if in local not or repeat return then until while',built_in:'_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstringmodule next pairs pcall print rawequal rawget rawset require select setfenvsetmetatable tonumber tostring type unpack xpcall arg selfcoroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove'},c:i.concat([{cN:'function',bK:'function',e:'\\\\)',c:[e.inherit(e.TM,{b:'([_a-zA-Z]\\\\w*\\\\.)*([_a-zA-Z]\\\\w*:)?[_a-zA-Z]\\\\w*'}),{cN:'params',b:'\\\\(',eW:!0,c:i}].concat(i)},e.CNM,e.ASM,e.QSM,{cN:'string',b:t,e:r,c:[a],relevance:5}])}}),r.registerLanguage('matlab',function(e){var t='(\\'|\\\\.\\')+',r={relevance:0,c:[{b:t}]};return{k:{keyword:'break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while',built_in:'sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun legend intersect ismember procrustes hold num2cell '},i:'(//|\"|#|/\\\\*|\\\\s+/\\\\w+)',c:[{cN:'function',bK:'function',e:'$',c:[e.UTM,{cN:'params',v:[{b:'\\\\(',e:'\\\\)'},{b:'\\\\[',e:'\\\\]'}]}]},{cN:'built_in',b:/true|false/,relevance:0,starts:r},{b:'[a-zA-Z][a-zA-Z_0-9]*'+t,relevance:0},{cN:'number',b:e.CNR,relevance:0,starts:r},{cN:'string',b:'\\'',e:'\\'',c:[e.BE,{b:'\\'\\''}]},{b:/\\]|}|\\)/,relevance:0,starts:r},{cN:'string',b:'\"',e:'\"',c:[e.BE,{b:'\"\"'}],starts:r},e.C('^\\\\s*\\\\%\\\\{\\\\s*$','^\\\\s*\\\\%\\\\}\\\\s*$'),e.C('\\\\%','$')]}}),r.registerLanguage('apache',function(e){var t={cN:'number',b:'[\\\\$%]\\\\d+'};return{aliases:['apacheconf'],cI:!0,c:[e.HCM,{cN:'section',b:'</?',e:'>'},{cN:'attribute',b:/\\w+/,relevance:0,k:{nomarkup:'order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername'},starts:{e:/$/,relevance:0,k:{literal:'on off all'},c:[{cN:'meta',b:'\\\\s\\\\[',e:'\\\\]$'},{cN:'variable',b:'[\\\\$%]\\\\{',e:'\\\\}',c:['self',t]},t,e.QSM]}}],i:/\\S/}}),r.registerLanguage('yaml',function(e){var t='true false yes no null',r={cN:'string',relevance:0,v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/},{b:/\\S+/}],c:[e.BE,{cN:'template-variable',v:[{b:'{{',e:'}}'},{b:'%{',e:'}'}]}]};return{cI:!0,aliases:['yml','YAML','yaml'],c:[{cN:'attr',v:[{b:'\\\\w[\\\\w :\\\\/.-]*:(?=[ \\t]|$)'},{b:'\"\\\\w[\\\\w :\\\\/.-]*\":(?=[ \\t]|$)'},{b:'\\'\\\\w[\\\\w :\\\\/.-]*\\':(?=[ \\t]|$)'}]},{cN:'meta',b:'^---s*$',relevance:10},{cN:'string',b:'[\\\\|>]([0-9]?[+-])?[ ]*\\\\n( *)[\\\\S ]+\\\\n(\\\\2[\\\\S ]+\\\\n?)*'},{b:'<%[%=-]?',e:'[%-]?%>',sL:'ruby',eB:!0,eE:!0,relevance:0},{cN:'type',b:'!'+e.UIR},{cN:'type',b:'!!'+e.UIR},{cN:'meta',b:'&'+e.UIR+'$'},{cN:'meta',b:'\\\\*'+e.UIR+'$'},{cN:'bullet',b:'\\\\-(?=[ ]|$)',relevance:0},e.HCM,{bK:t,k:{literal:t}},{cN:'number',b:e.CNR+'\\\\b'},r]}}),r.registerLanguage('plaintext',function(e){return{disableAutodetect:!0}}),r.registerLanguage('erlang-repl',function(e){return{k:{built_in:'spawn spawn_link self',keyword:'after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse|10 query receive rem try when xor'},c:[{cN:'meta',b:'^[0-9]+> ',relevance:10},e.C('%','$'),{cN:'number',b:'\\\\b(\\\\d+#[a-fA-F0-9]+|\\\\d+(\\\\.\\\\d+)?([eE][-+]?\\\\d+)?)',relevance:0},e.ASM,e.QSM,{b:'\\\\?(::)?([A-Z]\\\\w*(::)?)+'},{b:'->'},{b:'ok'},{b:'!'},{b:'(\\\\b[a-z\\'][a-zA-Z0-9_\\']*:[a-z\\'][a-zA-Z0-9_\\']*)|(\\\\b[a-z\\'][a-zA-Z0-9_\\']*)',relevance:0},{b:'[A-Z][a-zA-Z0-9_\\']*',relevance:0}]}}),r.registerLanguage('cmake',function(e){return{aliases:['cmake.in'],cI:!0,k:{keyword:'break cmake_host_system_information cmake_minimum_required cmake_parse_arguments cmake_policy configure_file continue elseif else endforeach endfunction endif endmacro endwhile execute_process file find_file find_library find_package find_path find_program foreach function get_cmake_property get_directory_property get_filename_component get_property if include include_guard list macro mark_as_advanced math message option return separate_arguments set_directory_properties set_property set site_name string unset variable_watch while add_compile_definitions add_compile_options add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_link_options add_subdirectory add_test aux_source_directory build_command create_test_sourcelist define_property enable_language enable_testing export fltk_wrap_ui get_source_file_property get_target_property get_test_property include_directories include_external_msproject include_regular_expression install link_directories link_libraries load_cache project qt_wrap_cpp qt_wrap_ui remove_definitions set_source_files_properties set_target_properties set_tests_properties source_group target_compile_definitions target_compile_features target_compile_options target_include_directories target_link_directories target_link_libraries target_link_options target_sources try_compile try_run ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ctest_test ctest_update ctest_upload build_name exec_program export_library_dependencies install_files install_programs install_targets load_command make_directory output_required_files remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or not command policy target test exists is_newer_than is_directory is_symlink is_absolute matches less greater equal less_equal greater_equal strless strgreater strequal strless_equal strgreater_equal version_less version_greater version_equal version_less_equal version_greater_equal in_list defined'},c:[{cN:'variable',b:'\\\\${',e:'}'},e.HCM,e.QSM,e.NM]}}),r.registerLanguage('kotlin',function(e){var t={keyword:'abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default',built_in:'Byte Short Char Int Long Boolean Float Double Void Unit Nothing',literal:'true false null'},r={cN:'symbol',b:e.UIR+'@'},a={cN:'subst',b:'\\\\${',e:'}',c:[e.CNM]},i={cN:'variable',b:'\\\\$'+e.UIR},n={cN:'string',v:[{b:'\"\"\"',e:'\"\"\"(?=[^\"])',c:[i,a]},{b:'\\'',e:'\\'',i:/\\n/,c:[e.BE]},{b:'\"',e:'\"',i:/\\n/,c:[e.BE,i,a]}]};a.c.push(n);var o={cN:'meta',b:'@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\\\s*:(?:\\\\s*'+e.UIR+')?'},s={cN:'meta',b:'@'+e.UIR,c:[{b:/\\(/,e:/\\)/,c:[e.inherit(n,{cN:'meta-string'})]}]},l=e.C('/\\\\*','\\\\*/',{c:[e.CBCM]}),i={v:[{cN:'type',b:e.UIR},{b:/\\(/,e:/\\)/,c:[]}]},a=i;return a.v[1].c=[i],i.v[1].c=[a],{aliases:['kt'],k:t,c:[e.C('/\\\\*\\\\*','\\\\*/',{relevance:0,c:[{cN:'doctag',b:'@[A-Za-z]+'}]}),e.CLCM,l,{cN:'keyword',b:/\\b(break|continue|return|this)\\b/,starts:{c:[{cN:'symbol',b:/@\\w+/}]}},r,o,s,{cN:'function',bK:'fun',e:'[(]|$',rB:!0,eE:!0,k:t,i:/fun\\s+(<.*>)?[^\\s\\(]+(\\s+[^\\s\\(]+)\\s*=/,relevance:5,c:[{b:e.UIR+'\\\\s*\\\\(',rB:!0,relevance:0,c:[e.UTM]},{cN:'type',b:/</,e:/>/,k:'reified',relevance:0},{cN:'params',b:/\\(/,e:/\\)/,endsParent:!0,k:t,relevance:0,c:[{b:/:/,e:/[=,\\/]/,eW:!0,c:[i,e.CLCM,l],relevance:0},e.CLCM,l,o,s,n,e.CNM]},l]},{cN:'class',bK:'class interface trait',e:/[:\\{(]|$/,eE:!0,i:'extends implements',c:[{bK:'public protected internal private constructor'},e.UTM,{cN:'type',b:/</,e:/>/,eB:!0,eE:!0,relevance:0},{cN:'type',b:/[,:]\\s*/,e:/[<\\(,]|$/,eB:!0,rE:!0},o,s]},n,{cN:'meta',b:'^#!/usr/bin/env',e:'$',i:'\\n'},{cN:'number',b:'\\\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+)(\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))?|\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))([eE][-+]?\\\\d+)?)[lLfF]?',relevance:0}]}}),r.registerLanguage('javascript',function(e){var t={b:/<[A-Za-z0-9\\\\._:-]+/,e:/\\/[A-Za-z0-9\\\\._:-]+>|\\/>/},r='[A-Za-z$_][0-9A-Za-z$_]*',a={keyword:'in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as',literal:'true false null undefined NaN Infinity',built_in:'eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise'},i={cN:'number',v:[{b:'\\\\b(0[bB][01]+)n?'},{b:'\\\\b(0[oO][0-7]+)n?'},{b:e.CNR+'n?'}],relevance:0},n={cN:'subst',b:'\\\\$\\\\{',e:'\\\\}',k:a,c:[]},o={b:'html`',e:'',starts:{e:'`',rE:!1,c:[e.BE,n],sL:'xml'}},s={b:'css`',e:'',starts:{e:'`',rE:!1,c:[e.BE,n],sL:'css'}},l={cN:'string',b:'`',e:'`',c:[e.BE,n]};n.c=[e.ASM,e.QSM,o,s,l,i,e.RM];n=n.c.concat([e.CBCM,e.CLCM]);return{aliases:['js','jsx','mjs','cjs'],k:a,c:[{cN:'meta',relevance:10,b:/^\\s*['\"]use (strict|asm)['\"]/},{cN:'meta',b:/^#!/,e:/$/},e.ASM,e.QSM,o,s,l,e.CLCM,e.C('/\\\\*\\\\*','\\\\*/',{relevance:0,c:[{cN:'doctag',b:'@[A-Za-z]+',c:[{cN:'type',b:'\\\\{',e:'\\\\}',relevance:0},{cN:'variable',b:r+'(?=\\\\s*(-)|$)',endsParent:!0,relevance:0},{b:/(?=[^\\n])\\s/,relevance:0}]}]}),e.CBCM,i,{b:/[{,\\n]\\s*/,relevance:0,c:[{b:r+'\\\\s*:',rB:!0,relevance:0,c:[{cN:'attr',b:r,relevance:0}]}]},{b:'('+e.RSR+'|\\\\b(case|return|throw)\\\\b)\\\\s*',k:'return throw case',c:[e.CLCM,e.CBCM,e.RM,{cN:'function',b:'(\\\\(.*?\\\\)|'+r+')\\\\s*=>',rB:!0,e:'\\\\s*=>',c:[{cN:'params',v:[{b:r},{b:/\\(\\s*\\)/},{b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:a,c:n}]}]},{cN:'',b:/\\s/,e:/\\s*/,skip:!0},{v:[{b:'<>',e:'</>'},{b:t.b,e:t.e}],sL:'xml',c:[{b:t.b,e:t.e,skip:!0,c:['self']}]}],relevance:0},{cN:'function',bK:'function',e:/\\{/,eE:!0,c:[e.inherit(e.TM,{b:r}),{cN:'params',b:/\\(/,e:/\\)/,eB:!0,eE:!0,c:n}],i:/\\[|%/},{b:/\\$[(.]/},e.METHOD_GUARD,{cN:'class',bK:'class',e:/[{;=]/,eE:!0,i:/[:\"\\[\\]]/,c:[{bK:'extends'},e.UTM]},{bK:'constructor get set',e:/\\{/,eE:!0}],i:/#(?!!)/}}),r.registerLanguage('scss',function(e){var t='@[a-z-]+',r={cN:'variable',b:'(\\\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\\\b'},a={cN:'number',b:'#[0-9A-Fa-f]+'};return e.CSSNM,e.QSM,e.ASM,e.CBCM,{cI:!0,i:'[=/|\\']',c:[e.CLCM,e.CBCM,{cN:'selector-id',b:'\\\\#[A-Za-z0-9_-]+',relevance:0},{cN:'selector-class',b:'\\\\.[A-Za-z0-9_-]+',relevance:0},{cN:'selector-attr',b:'\\\\[',e:'\\\\]',i:'$'},{cN:'selector-tag',b:'\\\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\\\b',relevance:0},{cN:'selector-pseudo',b:':(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)'},{cN:'selector-pseudo',b:'::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)'},r,{cN:'attribute',b:'\\\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\\\b',i:'[^\\\\s]'},{b:'\\\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\\\b'},{b:':',e:';',c:[r,a,e.CSSNM,e.QSM,e.ASM,{cN:'meta',b:'!important'}]},{b:'@(page|font-face)',l:t,k:'@page @font-face'},{b:'@',e:'[{;]',rB:!0,k:'and or not only',c:[{b:t,cN:'keyword'},r,e.QSM,e.ASM,a,e.CSSNM]}]}}),r.registerLanguage('perl',function(e){var t='getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when',r={cN:'subst',b:'[$@]\\\\{',e:'\\\\}',k:t},a={b:'->{',e:'}'},i={v:[{b:/\\$\\d/},{b:/[\\$%@](\\^\\w\\b|#\\w+(::\\w+)*|{\\w+}|\\w+(::\\w*)*)/},{b:/[\\$%@][^\\s\\w{]/,relevance:0}]},n=[e.BE,r,i],e=[i,e.HCM,e.C('^\\\\=\\\\w','\\\\=cut',{eW:!0}),a,{cN:'string',c:n,v:[{b:'q[qwxr]?\\\\s*\\\\(',e:'\\\\)',relevance:5},{b:'q[qwxr]?\\\\s*\\\\[',e:'\\\\]',relevance:5},{b:'q[qwxr]?\\\\s*\\\\{',e:'\\\\}',relevance:5},{b:'q[qwxr]?\\\\s*\\\\|',e:'\\\\|',relevance:5},{b:'q[qwxr]?\\\\s*\\\\<',e:'\\\\>',relevance:5},{b:'qw\\\\s+q',e:'q',relevance:5},{b:'\\'',e:'\\'',c:[e.BE]},{b:'\"',e:'\"'},{b:'`',e:'`',c:[e.BE]},{b:'{\\\\w+}',c:[],relevance:0},{b:'-?\\\\w+\\\\s*\\\\=\\\\>',c:[],relevance:0}]},{cN:'number',b:'(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b',relevance:0},{b:'(\\\\/\\\\/|'+e.RSR+'|\\\\b(split|return|print|reverse|grep)\\\\b)\\\\s*',k:'split return print reverse grep',relevance:0,c:[e.HCM,{cN:'regexp',b:'(s|tr|y)/(\\\\\\\\.|[^/])*/(\\\\\\\\.|[^/])*/[a-z]*',relevance:10},{cN:'regexp',b:'(m|qr)?/',e:'/[a-z]*',c:[e.BE],relevance:0}]},{cN:'function',bK:'sub',e:'(\\\\s*\\\\(.*?\\\\))?[;{]',eE:!0,relevance:5,c:[e.TM]},{b:'-\\\\w\\\\b',relevance:0},{b:'^__DATA__$',e:'^__END__$',sL:'mojolicious',c:[{b:'^@@.*',e:'$',cN:'comment'}]}];return r.c=e,{aliases:['pl','pm'],l:/[\\w\\.]+/,k:t,c:a.c=e}}),r.registerLanguage('go',function(e){var t={keyword:'break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune',literal:'true false iota nil',built_in:'append cap close complex copy imag len make new panic print println real recover delete'};return{aliases:['golang'],k:t,i:'</',c:[e.CLCM,e.CBCM,{cN:'string',v:[e.QSM,e.ASM,{b:'`',e:'`'}]},{cN:'number',v:[{b:e.CNR+'[i]',relevance:1},e.CNM]},{b:/:=/},{cN:'function',bK:'func',e:'\\\\s*(\\\\{|$)',eE:!0,c:[e.TM,{cN:'params',b:/\\(/,e:/\\)/,k:t,i:/[\"']/}]}]}}),r.registerLanguage('x86asm',function(e){return{cI:!0,l:'[.%]?'+e.IR,k:{keyword:'lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63',built_in:'ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr',meta:'%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__'},c:[e.C(';','$',{relevance:0}),{cN:'number',v:[{b:'\\\\b(?:([0-9][0-9_]*)?\\\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\\\b',relevance:0},{b:'\\\\$[0-9][0-9A-Fa-f]*',relevance:0},{b:'\\\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\\\b'},{b:'\\\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\\\b'}]},e.QSM,{cN:'string',v:[{b:'\\'',e:'[^\\\\\\\\]\\''},{b:'`',e:'[^\\\\\\\\]`'}],relevance:0},{cN:'symbol',v:[{b:'^\\\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\\\s+label)'},{b:'^\\\\s*%%[A-Za-z0-9_$#@~.?]*:'}],relevance:0},{cN:'subst',b:'%[0-9]+',relevance:0},{cN:'subst',b:'%!S+',relevance:0},{cN:'meta',b:/^\\s*\\.[\\w_-]+/}]}}),r.registerLanguage('cpp',function(e){function t(e){return'(?:'+e+')?'}var r='decltype\\\\(auto\\\\)',a='[a-zA-Z_]\\\\w*::',i=(t(a),t('<.*?>'),{cN:'keyword',b:'\\\\b[a-z\\\\d_]*_t\\\\b'}),n={cN:'string',v:[{b:'(u8?|U|L)?\"',e:'\"',i:'\\\\n',c:[e.BE]},{b:'(u8?|U|L)?\\'(\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)|.)',e:'\\'',i:'.'},{b:/(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\((?:.|\\n)*?\\)\\1\"/}]},o={cN:'number',v:[{b:'\\\\b(0b[01\\']+)'},{b:'(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)(u|U|l|L|ul|UL|f|F|b|B)'},{b:'(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)'}],relevance:0},s={cN:'meta',b:/#\\s*[a-z]+\\b/,e:/$/,k:{'meta-keyword':'if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include'},c:[{b:/\\\\\\n/,relevance:0},e.inherit(n,{cN:'meta-string'}),{cN:'meta-string',b:/<.*?>/,e:/$/,i:'\\\\n'},e.CLCM,e.CBCM]},l={cN:'title',b:t(a)+e.IR,relevance:0},c=t(a)+e.IR+'\\\\s*\\\\(',d={keyword:'int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_tshort reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq',built_in:'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary',literal:'true false nullptr NULL'},u=[i,e.CLCM,e.CBCM,o,n],a={v:[{b:/=/,e:/;/},{b:/\\(/,e:/\\)/},{bK:'new throw return else',e:/;/}],k:d,c:u.concat([{b:/\\(/,e:/\\)/,k:d,c:u.concat(['self']),relevance:0}]),relevance:0},o={cN:'function',b:'((decltype\\\\(auto\\\\)|(?:[a-zA-Z_]\\\\w*::)?[a-zA-Z_]\\\\w*(?:<.*?>)?)[\\\\*&\\\\s]+)+'+c,rB:!0,e:/[{;=]/,eE:!0,k:d,i:/[^\\w\\s\\*&:<>]/,c:[{b:r,k:d,relevance:0},{b:c,rB:!0,c:[l],relevance:0},{cN:'params',b:/\\(/,e:/\\)/,k:d,relevance:0,c:[e.CLCM,e.CBCM,n,o,i,{b:/\\(/,e:/\\)/,k:d,relevance:0,c:['self',e.CLCM,e.CBCM,n,o,i]}]},i,e.CLCM,e.CBCM,s]};return{aliases:['c','cc','h','c++','h++','hpp','hh','hxx','cxx'],k:d,i:'</',c:[].concat(a,o,u,[s,{b:'\\\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<',e:'>',k:d,c:['self',i]},{b:e.IR+'::',k:d},{cN:'class',bK:'class struct',e:/[{;:]/,c:[{b:/</,e:/>/,c:['self']},e.TM]}]),exports:{preprocessor:s,strings:n,k:d}}}),r.registerLanguage('arduino',function(e){var t=e.requireLanguage('cpp').rawDefinition(),e=t.k;return e.keyword+=' boolean byte word String',e.literal+=' DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL DEFAULT OUTPUT INPUT HIGH LOW',e.built_in+=' setup loopKeyboardController MouseController SoftwareSerial EthernetServer EthernetClient LiquidCrystal RobotControl GSMVoiceCall EthernetUDP EsploraTFT HttpClient RobotMotor WiFiClient GSMScanner FileSystem Scheduler GSMServer YunClient YunServer IPAddress GSMClient GSMModem Keyboard Ethernet Console GSMBand Esplora Stepper Process WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage Client Server GSMPIN FileIO Bridge Serial EEPROM Stream Mouse Audio Servo File Task GPRS WiFi Wire TFT GSM SPI SD runShellCommandAsynchronously analogWriteResolution retrieveCallingNumber printFirmwareVersion analogReadResolution sendDigitalPortPair noListenOnLocalhost readJoystickButton setFirmwareVersion readJoystickSwitch scrollDisplayRight getVoiceCallStatus scrollDisplayLeft writeMicroseconds delayMicroseconds beginTransmission getSignalStrength runAsynchronously getAsynchronously listenOnLocalhost getCurrentCarrier readAccelerometer messageAvailable sendDigitalPorts lineFollowConfig countryNameWrite runShellCommand readStringUntil rewindDirectory readTemperature setClockDivider readLightSensor endTransmission analogReference detachInterrupt countryNameRead attachInterrupt encryptionType readBytesUntil robotNameWrite readMicrophone robotNameRead cityNameWrite userNameWrite readJoystickY readJoystickX mouseReleased openNextFile scanNetworks noInterrupts digitalWrite beginSpeaker mousePressed isActionDone mouseDragged displayLogos noAutoscroll addParameter remoteNumber getModifiers keyboardRead userNameRead waitContinue processInput parseCommand printVersion readNetworks writeMessage blinkVersion cityNameRead readMessage setDataMode parsePacket isListening setBitOrder beginPacket isDirectory motorsWrite drawCompass digitalRead clearScreen serialEvent rightToLeft setTextSize leftToRight requestFrom keyReleased compassRead analogWrite interrupts WiFiServer disconnect playMelody parseFloat autoscroll getPINUsed setPINUsed setTimeout sendAnalog readSlider analogRead beginWrite createChar motorsStop keyPressed tempoWrite readButton subnetMask debugPrint macAddress writeGreen randomSeed attachGPRS readString sendString remotePort releaseAll mouseMoved background getXChange getYChange answerCall getResult voiceCall endPacket constrain getSocket writeJSON getButton available connected findUntil readBytes exitValue readGreen writeBlue startLoop IPAddress isPressed sendSysex pauseMode gatewayIP setCursor getOemKey tuneWrite noDisplay loadImage switchPIN onRequest onReceive changePIN playFile noBuffer parseInt overflow checkPIN knobRead beginTFT bitClear updateIR bitWrite position writeRGB highByte writeRed setSpeed readBlue noStroke remoteIP transfer shutdown hangCall beginSMS endWrite attached maintain noCursor checkReg checkPUK shiftOut isValid shiftIn pulseIn connect println localIP pinMode getIMEI display noBlink process getBand running beginSD drawBMP lowByte setBand release bitRead prepare pointTo readRed setMode noFill remove listen stroke detach attach noTone exists buffer height bitSet circle config cursor random IRread setDNS endSMS getKey micros millis begin print write ready flush width isPIN blink clear press mkdir rmdir close point yield image BSSID click delay read text move peek beep rect line open seek fill size turn stop home find step tone sqrt RSSI SSID end bit tan cos sin pow map abs max min get run put',t}),r.registerLanguage('nginx',function(e){var t={cN:'variable',v:[{b:/\\$\\d+/},{b:/\\$\\{/,e:/}/},{b:'[\\\\$\\\\@]'+e.UIR}]},t={eW:!0,l:'[a-z/_]+',k:{literal:'on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll'},relevance:0,i:'=>',c:[e.HCM,{cN:'string',c:[e.BE,t],v:[{b:/\"/,e:/\"/},{b:/'/,e:/'/}]},{b:'([a-z]+):/',e:'\\\\s',eW:!0,eE:!0,c:[t]},{cN:'regexp',c:[e.BE,t],v:[{b:'\\\\s\\\\^',e:'\\\\s|{|;',rE:!0},{b:'~\\\\*?\\\\s+',e:'\\\\s|{|;',rE:!0},{b:'\\\\*(\\\\.[a-z\\\\-]+)+'},{b:'([a-z\\\\-]+\\\\.)+\\\\*'}]},{cN:'number',b:'\\\\b\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}(:\\\\d{1,5})?\\\\b'},{cN:'number',b:'\\\\b\\\\d+[kKmMgGdshdwy]*\\\\b',relevance:0},t]};return{aliases:['nginxconf'],c:[e.HCM,{b:e.UIR+'\\\\s+{',rB:!0,e:'{',c:[{cN:'section',b:e.UIR}],relevance:0},{b:e.UIR+'\\\\s',e:';|{',rB:!0,c:[{cN:'attribute',b:e.UIR,starts:t}],relevance:0}],i:'[^\\\\s\\\\}]'}}),r.registerLanguage('xml',function(e){var t={cN:'symbol',b:'&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;'},r={b:'\\\\s',c:[{cN:'meta-keyword',b:'#?[a-z_][a-z1-9_-]+',i:'\\\\n'}]},a=e.inherit(r,{b:'\\\\(',e:'\\\\)'}),i=e.inherit(e.ASM,{cN:'meta-string'}),n=e.inherit(e.QSM,{cN:'meta-string'}),o={eW:!0,i:/</,relevance:0,c:[{cN:'attr',b:'[A-Za-z0-9\\\\._:-]+',relevance:0},{b:/=\\s*/,relevance:0,c:[{cN:'string',endsParent:!0,v:[{b:/\"/,e:/\"/,c:[t]},{b:/'/,e:/'/,c:[t]},{b:/[^\\s\"'=<>`]+/}]}]}]};return{aliases:['html','xhtml','rss','atom','xjb','xsd','xsl','plist','wsf','svg'],cI:!0,c:[{cN:'meta',b:'<![a-z]',e:'>',relevance:10,c:[r,n,i,a,{b:'\\\\[',e:'\\\\]',c:[{cN:'meta',b:'<![a-z]',e:'>',c:[r,a,n,i]}]}]},e.C('\\x3c!--','--\\x3e',{relevance:10}),{b:'<\\\\!\\\\[CDATA\\\\[',e:'\\\\]\\\\]>',relevance:10},t,{cN:'meta',b:/<\\?xml/,e:/\\?>/,relevance:10},{b:/<\\?(php)?/,e:/\\?>/,sL:'php',c:[{b:'/\\\\*',e:'\\\\*/',skip:!0},{b:'b\"',e:'\"',skip:!0},{b:'b\\'',e:'\\'',skip:!0},e.inherit(e.ASM,{i:null,cN:null,c:null,skip:!0}),e.inherit(e.QSM,{i:null,cN:null,c:null,skip:!0})]},{cN:'tag',b:'<style(?=\\\\s|>)',e:'>',k:{name:'style'},c:[o],starts:{e:'</style>',rE:!0,sL:['css','xml']}},{cN:'tag',b:'<script(?=\\\\s|>)',e:'>',k:{name:'script'},c:[o],starts:{e:'<\\/script>',rE:!0,sL:['actionscript','javascript','handlebars','xml']}},{cN:'tag',b:'</?',e:'/?>',c:[{cN:'name',b:/[^\\/><\\s]+/,relevance:0},o]}]}}),r.registerLanguage('markdown',function(e){return{aliases:['md','mkdown','mkd'],c:[{cN:'section',v:[{b:'^#{1,6}',e:'$'},{b:'^.+?\\\\n[=-]{2,}$'}]},{b:'<',e:'>',sL:'xml',relevance:0},{cN:'bullet',b:'^\\\\s*([*+-]|(\\\\d+\\\\.))\\\\s+'},{cN:'strong',b:'[*_]{2}.+?[*_]{2}'},{cN:'emphasis',v:[{b:'\\\\*.+?\\\\*'},{b:'_.+?_',relevance:0}]},{cN:'quote',b:'^>\\\\s+',e:'$'},{cN:'code',v:[{b:'^```\\\\w*\\\\s*$',e:'^```[ ]*$'},{b:'`.+?`'},{b:'^( {4}|\\\\t)',e:'$',relevance:0}]},{b:'^[-\\\\*]{3,}',e:'$'},{b:'\\\\[.+?\\\\][\\\\(\\\\[].*?[\\\\)\\\\]]',rB:!0,c:[{cN:'string',b:'\\\\[',e:'\\\\]',eB:!0,rE:!0,relevance:0},{cN:'link',b:'\\\\]\\\\(',e:'\\\\)',eB:!0,eE:!0},{cN:'symbol',b:'\\\\]\\\\[',e:'\\\\]',eB:!0,eE:!0}],relevance:10},{b:/^\\[[^\\n]+\\]:/,rB:!0,c:[{cN:'symbol',b:/\\[/,e:/\\]/,eB:!0,eE:!0},{cN:'link',b:/:\\s*/,e:/$/,eB:!0}]}]}}),r.registerLanguage('properties',function(e){var t='[ \\\\t\\\\f]*',r='('+t+'[:=]'+t+'|[ \\\\t\\\\f]+)',a='([^\\\\\\\\\\\\W:= \\\\t\\\\f\\\\n]|\\\\\\\\.)+',i='([^\\\\\\\\:= \\\\t\\\\f\\\\n]|\\\\\\\\.)+',n={e:r,relevance:0,starts:{cN:'string',e:/$/,relevance:0,c:[{b:'\\\\\\\\\\\\n'}]}};return{cI:!0,i:/\\S/,c:[e.C('^\\\\s*[!#]','$'),{b:a+r,rB:!0,c:[{cN:'attr',b:a,endsParent:!0,relevance:0}],starts:n},{b:i+r,rB:!0,relevance:0,c:[{cN:'meta',b:i,endsParent:!0,relevance:0}],starts:n},{cN:'attr',relevance:0,b:i+t+'$'}]}}),r.registerLanguage('bash',function(e){var t={cN:'variable',v:[{b:/\\$[\\w\\d#@][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},r={cN:'string',b:/\"/,e:/\"/,c:[e.BE,t,{cN:'variable',b:/\\$\\(/,e:/\\)/,c:[e.BE]}]};return{aliases:['sh','zsh'],l:/\\b-?[a-z\\._]+\\b/,k:{keyword:'if then else elif fi for while in do done case esac function',literal:'true false',built_in:'break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp',_:'-ne -eq -lt -gt -f -d -e -s -l -a'},c:[{cN:'meta',b:/^#![^\\n]+sh\\s*$/,relevance:10},{cN:'function',b:/\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,rB:!0,c:[e.inherit(e.TM,{b:/\\w[\\w\\d_]*/})],relevance:0},e.HCM,r,{cN:'',b:/\\\\\"/},{cN:'string',b:/'/,e:/'/},t]}}),r.registerLanguage('dockerfile',function(e){return{aliases:['docker'],cI:!0,k:'from maintainer expose env arg user onbuild stopsignal',c:[e.HCM,e.ASM,e.QSM,e.NM,{bK:'run cmd entrypoint volume add copy workdir label healthcheck shell',starts:{e:/[^\\\\]$/,sL:'bash'}}],i:'</'}}),r.registerLanguage('python',function(e){var t={keyword:'and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10',built_in:'Ellipsis NotImplemented',literal:'False None True'},r={cN:'meta',b:/^(>>>|\\.\\.\\.) /},a={cN:'subst',b:/\\{/,e:/\\}/,k:t,i:/#/},i={b:/\\{\\{/,relevance:0},n={cN:'string',c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[e.BE,r],relevance:10},{b:/(u|b)?r?\"\"\"/,e:/\"\"\"/,c:[e.BE,r],relevance:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[e.BE,r,i,a]},{b:/(fr|rf|f)\"\"\"/,e:/\"\"\"/,c:[e.BE,r,i,a]},{b:/(u|r|ur)'/,e:/'/,relevance:10},{b:/(u|r|ur)\"/,e:/\"/,relevance:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)\"/,e:/\"/},{b:/(fr|rf|f)'/,e:/'/,c:[e.BE,i,a]},{b:/(fr|rf|f)\"/,e:/\"/,c:[e.BE,i,a]},e.ASM,e.QSM]},o={cN:'number',relevance:0,v:[{b:e.BNR+'[lLjJ]?'},{b:'\\\\b(0o[0-7]+)[lLjJ]?'},{b:e.CNR+'[lLjJ]?'}]},i={cN:'params',b:/\\(/,e:/\\)/,c:['self',r,o,n,e.HCM]};return a.c=[n,o,r],{aliases:['py','gyp','ipython'],k:t,i:/(<\\/|->|\\?)|=>/,c:[r,o,{bK:'if',relevance:0},n,e.HCM,{v:[{cN:'function',bK:'def'},{cN:'class',bK:'class'}],e:/:/,i:/[${=;\\n,]/,c:[e.UTM,i,{b:/->/,eW:!0,k:'None'}]},{cN:'meta',b:/^[\\t ]*@/,e:/$/},{b:/\\b(print|exec)\\(/}]}}),r.registerLanguage('ini',function(e){var t={cN:'number',relevance:0,v:[{b:/([\\+\\-]+)?[\\d]+_[\\d_]+/},{b:e.NR}]},r=e.C();r.v=[{b:/;/,e:/$/},{b:/#/,e:/$/}];var a={cN:'variable',v:[{b:/\\$[\\w\\d\"][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},i={cN:'literal',b:/\\bon|off|true|false|yes|no\\b/},e={cN:'string',c:[e.BE],v:[{b:'\\'\\'\\'',e:'\\'\\'\\'',relevance:10},{b:'\"\"\"',e:'\"\"\"',relevance:10},{b:'\"',e:'\"'},{b:'\\'',e:'\\''}]};return{aliases:['toml'],cI:!0,i:/\\S/,c:[r,{cN:'section',b:/\\[+/,e:/\\]+/},{b:/^[a-z0-9\\[\\]_\\.-]+(?=\\s*=\\s*)/,cN:'attr',starts:{e:/$/,c:[r,{b:/\\[/,e:/\\]/,c:[r,i,a,e,t,'self'],relevance:0},i,a,e,t]}}]}}),r.registerLanguage('diff',function(e){return{aliases:['patch'],c:[{cN:'meta',relevance:10,v:[{b:/^@@ +\\-\\d+,\\d+ +\\+\\d+,\\d+ +@@$/},{b:/^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$/},{b:/^\\-\\-\\- +\\d+,\\d+ +\\-\\-\\-\\-$/}]},{cN:'comment',v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\\-{3}/,e:/$/},{b:/^\\*{3} /,e:/$/},{b:/^\\+{3}/,e:/$/},{b:/^\\*{15}$/}]},{cN:'addition',b:'^\\\\+',e:'$'},{cN:'deletion',b:'^\\\\-',e:'$'},{cN:'addition',b:'^\\\\!',e:'$'}]}}),r.registerLanguage('http',function(e){var t='HTTP/[0-9\\\\.]+';return{aliases:['https'],i:'\\\\S',c:[{b:'^'+t,e:'$',c:[{cN:'number',b:'\\\\b\\\\d{3}\\\\b'}]},{b:'^[A-Z]+ (.*?) '+t+'$',rB:!0,e:'$',c:[{cN:'string',b:' ',e:' ',eB:!0,eE:!0},{b:t},{cN:'keyword',b:'[A-Z]+'}]},{cN:'attribute',b:'^\\\\w',e:': ',eE:!0,i:'\\\\n|\\\\s|=',starts:{e:'$',relevance:0}},{b:'\\\\n\\\\n',starts:{sL:[],eW:!0}}]}}),r.registerLanguage('sql',function(e){var t=e.C('--','$');return{cI:!0,i:/[<>{}*]/,c:[{bK:'begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with',e:/;/,eW:!0,l:/[\\w\\.]+/,k:{keyword:'as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek',literal:'true false null unknown',built_in:'array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void'},c:[{cN:'string',b:'\\'',e:'\\'',c:[{b:'\\'\\''}]},{cN:'string',b:'\"',e:'\"',c:[{b:'\"\"'}]},{cN:'string',b:'`',e:'`'},e.CNM,e.CBCM,t,e.HCM]},e.CBCM,t,e.HCM]}}),r.registerLanguage('vala',function(e){return{k:{keyword:'char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override virtual delegate if while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var',built_in:'DBus GLib CCode Gee Object Gtk Posix',literal:'false true null'},c:[{cN:'class',bK:'class interface namespace',e:'{',eE:!0,i:'[^,:\\\\n\\\\s\\\\.]',c:[e.UTM]},e.CLCM,e.CBCM,{cN:'string',b:'\"\"\"',e:'\"\"\"',relevance:5},e.ASM,e.QSM,e.CNM,{cN:'meta',b:'^#',e:'$',relevance:2}]}}),r.registerLanguage('asciidoc',function(e){return{aliases:['adoc'],c:[e.C('^/{4,}\\\\n','\\\\n/{4,}$',{relevance:10}),e.C('^//','$',{relevance:0}),{cN:'title',b:'^\\\\.\\\\w.*$'},{b:'^[=\\\\*]{4,}\\\\n',e:'\\\\n^[=\\\\*]{4,}$',relevance:10},{cN:'section',relevance:10,v:[{b:'^(={1,5}) .+?( \\\\1)?$'},{b:'^[^\\\\[\\\\]\\\\n]+?\\\\n[=\\\\-~\\\\^\\\\+]{2,}$'}]},{cN:'meta',b:'^:.+?:',e:'\\\\s',eE:!0,relevance:10},{cN:'meta',b:'^\\\\[.+?\\\\]$',relevance:0},{cN:'quote',b:'^_{4,}\\\\n',e:'\\\\n_{4,}$',relevance:10},{cN:'code',b:'^[\\\\-\\\\.]{4,}\\\\n',e:'\\\\n[\\\\-\\\\.]{4,}$',relevance:10},{b:'^\\\\+{4,}\\\\n',e:'\\\\n\\\\+{4,}$',c:[{b:'<',e:'>',sL:'xml',relevance:0}],relevance:10},{cN:'bullet',b:'^(\\\\*+|\\\\-+|\\\\.+|[^\\\\n]+?::)\\\\s+'},{cN:'symbol',b:'^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\\\s+',relevance:10},{cN:'strong',b:'\\\\B\\\\*(?![\\\\*\\\\s])',e:'(\\\\n{2}|\\\\*)',c:[{b:'\\\\\\\\*\\\\w',relevance:0}]},{cN:'emphasis',b:'\\\\B\\'(?![\\'\\\\s])',e:'(\\\\n{2}|\\')',c:[{b:'\\\\\\\\\\'\\\\w',relevance:0}],relevance:0},{cN:'emphasis',b:'_(?![_\\\\s])',e:'(\\\\n{2}|_)',relevance:0},{cN:'string',v:[{b:'``.+?\\'\\''},{b:'`.+?\\''}]},{cN:'code',b:'(`.+?`|\\\\+.+?\\\\+)',relevance:0},{cN:'code',b:'^[ \\\\t]',e:'$',relevance:0},{b:'^\\'{3,}[ \\\\t]*$',relevance:10},{b:'(link:)?(http|https|ftp|file|irc|image:?):\\\\S+\\\\[.*?\\\\]',rB:!0,c:[{b:'(link|image:?):',relevance:0},{cN:'link',b:'\\\\w',e:'[^\\\\[]+',relevance:0},{cN:'string',b:'\\\\[',e:'\\\\]',eB:!0,eE:!0,relevance:0}],relevance:10}]}}),r.registerLanguage('json',function(e){var t={literal:'true false null'},r=[e.CLCM,e.CBCM],a=[e.QSM,e.CNM],i={e:',',eW:!0,eE:!0,c:a,k:t},n={b:'{',e:'}',c:[{cN:'attr',b:/\"/,e:/\"/,c:[e.BE],i:'\\\\n'},e.inherit(i,{b:/:/})].concat(r),i:'\\\\S'},i={b:'\\\\[',e:'\\\\]',c:[e.inherit(i)],i:'\\\\S'};return a.push(n,i),r.forEach(function(e){a.push(e)}),{c:a,k:t,i:'\\\\S'}}),r.registerLanguage('rust',function(e){var t='([ui](8|16|32|64|128|size)|f(32|64))?',r='drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!';return{aliases:['rs'],k:{keyword:'abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield',literal:'true false Some None Ok Err',built_in:r},l:e.IR+'!?',i:'</',c:[e.CLCM,e.C('/\\\\*','\\\\*/',{c:['self']}),e.inherit(e.QSM,{b:/b?\"/,i:null}),{cN:'string',v:[{b:/r(#*)\"(.|\\n)*?\"\\1(?!#)/},{b:/b?'\\\\?(x\\w{2}|u\\w{4}|U\\w{8}|.)'/}]},{cN:'symbol',b:/'[a-zA-Z_][a-zA-Z0-9_]*/},{cN:'number',v:[{b:'\\\\b0b([01_]+)'+t},{b:'\\\\b0o([0-7_]+)'+t},{b:'\\\\b0x([A-Fa-f0-9_]+)'+t},{b:'\\\\b(\\\\d[\\\\d_]*(\\\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)'+t}],relevance:0},{cN:'function',bK:'fn',e:'(\\\\(|<)',eE:!0,c:[e.UTM]},{cN:'meta',b:'#\\\\!?\\\\[',e:'\\\\]',c:[{cN:'meta-string',b:/\"/,e:/\"/}]},{cN:'class',bK:'type',e:';',c:[e.inherit(e.UTM,{endsParent:!0})],i:'\\\\S'},{cN:'class',bK:'trait enum struct union',e:'{',c:[e.inherit(e.UTM,{endsParent:!0})],i:'[\\\\w\\\\d]'},{b:e.IR+'::',k:{built_in:r}},{b:'->'}]}}),r.registerLanguage('awk',function(e){return{k:{keyword:'BEGIN END if else while do for in break continue delete next nextfile function func exit|10'},c:[{cN:'variable',v:[{b:/\\$[\\w\\d#@][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},{cN:'string',c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,relevance:10},{b:/(u|b)?r?\"\"\"/,e:/\"\"\"/,relevance:10},{b:/(u|r|ur)'/,e:/'/,relevance:10},{b:/(u|r|ur)\"/,e:/\"/,relevance:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)\"/,e:/\"/},e.ASM,e.QSM]},e.RM,e.HCM,e.NM]}}),r.registerLanguage('java',function(e){var t='false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do';return{aliases:['jsp'],k:t,i:/<\\/|#/,c:[e.C('/\\\\*\\\\*','\\\\*/',{relevance:0,c:[{b:/\\w+@/,relevance:0},{cN:'doctag',b:'@[A-Za-z]+'}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:'class',bK:'class interface',e:/[{;=]/,eE:!0,k:'class interface',i:/[:\"\\[\\]]/,c:[{bK:'extends implements'},e.UTM]},{bK:'new throw return else',relevance:0},{cN:'function',b:'([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\\\s*,\\\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\\\s+)+'+e.UIR+'\\\\s*\\\\(',rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.UIR+'\\\\s*\\\\(',rB:!0,relevance:0,c:[e.UTM]},{cN:'params',b:/\\(/,e:/\\)/,k:t,relevance:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},{cN:'number',b:'\\\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+)(\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))?|\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))([eE][-+]?\\\\d+)?)[lLfF]?',relevance:0},{cN:'meta',b:'@[A-Za-z]+'}]}}),r.registerLanguage('cs',function(e){var t={keyword:'abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield',literal:'null false true'},r={cN:'number',v:[{b:'\\\\b(0b[01\\']+)'},{b:'(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)(u|U|l|L|ul|UL|f|F|b|B)'},{b:'(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)'}],relevance:0},a={cN:'string',b:'@\"',e:'\"',c:[{b:'\"\"'}]},i=e.inherit(a,{i:/\\n/}),n={cN:'subst',b:'{',e:'}',k:t},o=e.inherit(n,{i:/\\n/}),s={cN:'string',b:/\\$\"/,e:'\"',i:/\\n/,c:[{b:'{{'},{b:'}}'},e.BE,o]},l={cN:'string',b:/\\$@\"/,e:'\"',c:[{b:'{{'},{b:'}}'},{b:'\"\"'},n]},c=e.inherit(l,{i:/\\n/,c:[{b:'{{'},{b:'}}'},{b:'\"\"'},o]});n.c=[l,s,a,e.ASM,e.QSM,r,e.CBCM],o.c=[c,s,i,e.ASM,e.QSM,r,e.inherit(e.CBCM,{i:/\\n/})];s={v:[l,s,a,e.ASM,e.QSM]},a=e.IR+'(<'+e.IR+'(\\\\s*,\\\\s*'+e.IR+')*>)?(\\\\[\\\\])?';return{aliases:['csharp','c#'],k:t,i:/::/,c:[e.C('///','$',{rB:!0,c:[{cN:'doctag',v:[{b:'///',relevance:0},{b:'\\x3c!--|--\\x3e'},{b:'</?',e:'>'}]}]}),e.CLCM,e.CBCM,{cN:'meta',b:'#',e:'$',k:{'meta-keyword':'if else elif endif define undef warning error line region endregion pragma checksum'}},s,r,{bK:'class interface',e:/[{;=]/,i:/[^\\s:,]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:'namespace',e:/[{;=]/,i:/[^\\s:]/,c:[e.inherit(e.TM,{b:'[a-zA-Z](\\\\.?\\\\w)*'}),e.CLCM,e.CBCM]},{cN:'meta',b:'^\\\\s*\\\\[',eB:!0,e:'\\\\]',eE:!0,c:[{cN:'meta-string',b:/\"/,e:/\"/}]},{bK:'new return throw await else',relevance:0},{cN:'function',b:'('+a+'\\\\s+)+'+e.IR+'\\\\s*\\\\(',rB:!0,e:/\\s*[{;=]/,eE:!0,k:t,c:[{b:e.IR+'\\\\s*\\\\(',rB:!0,c:[e.TM],relevance:0},{cN:'params',b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:t,relevance:0,c:[s,r,e.CBCM]},e.CLCM,e.CBCM]}]}}),r.registerLanguage('mathematica',function(e){return{aliases:['mma','wl'],l:'(\\\\$|\\\\b)'+e.IR+'\\\\b',k:'AASTriangle AbelianGroup Abort AbortKernels AbortProtect AbortScheduledTask Above Abs AbsArg AbsArgPlot Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AcceptanceThreshold AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Activate Active ActiveClassification ActiveClassificationObject ActiveItem ActivePrediction ActivePredictionObject ActiveStyle AcyclicGraphQ AddOnHelpPath AddSides AddTo AddToSearchIndex AddUsers AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AdministrativeDivisionData AffineHalfSpace AffineSpace AffineStateSpaceModel AffineTransform After AggregatedEntityClass AggregationLayer AircraftData AirportData AirPressureData AirTemperatureData AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowAdultContent AllowedCloudExtraParameters AllowedCloudParameterExtensions AllowedDimensions AllowedFrequencyRange AllowedHeads AllowGroupClose AllowIncomplete AllowInlineCells AllowKernelInitialization AllowLooseGrammar AllowReverseGroupClose AllowScriptLevelChange AllTrue Alphabet AlphabeticOrder AlphabeticSort AlphaChannel AlternateImage AlternatingFactorial AlternatingGroup AlternativeHypothesis Alternatives AltitudeMethod AmbientLight AmbiguityFunction AmbiguityList Analytic AnatomyData AnatomyForm AnatomyPlot3D AnatomySkinStyle AnatomyStyling AnchoredSearch And AndersonDarlingTest AngerJ AngleBisector AngleBracket AnglePath AnglePath3D AngleVector AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning AnimationRunTime AnimationTimeIndex Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotate Annotation AnnotationDelete AnnotationNames AnnotationRules AnnotationValue Annuity AnnuityDue Annulus AnomalyDetection AnomalyDetectorFunction Anonymous Antialiasing AntihermitianMatrixQ Antisymmetric AntisymmetricMatrixQ Antonyms AnyOrder AnySubset AnyTrue Apart ApartSquareFree APIFunction Appearance AppearanceElements AppearanceRules AppellF1 Append AppendCheck AppendLayer AppendTo ApplicationIdentificationKey Apply ApplySides ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcCurvature ARCHProcess ArcLength ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Area Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess Around AroundReplace ARProcess Array ArrayComponents ArrayDepth ArrayFilter ArrayFlatten ArrayMesh ArrayPad ArrayPlot ArrayQ ArrayResample ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads ASATriangle Ask AskAppend AskConfirm AskDisplay AskedQ AskedValue AskFunction AskState AskTemplateDisplay AspectRatio AspectRatioFixed Assert AssociateTo Association AssociationFormat AssociationMap AssociationQ AssociationThread AssumeDeterministic Assuming Assumptions AstronomicalData AsymptoticDSolveValue AsymptoticEqual AsymptoticEquivalent AsymptoticGreater AsymptoticGreaterEqual AsymptoticIntegrate AsymptoticLess AsymptoticLessEqual AsymptoticOutputTracker AsymptoticRSolveValue AsymptoticSolve AsymptoticSum Asynchronous AsynchronousTaskObject AsynchronousTasks Atom AtomCoordinates AtomCount AtomDiagramCoordinates AtomList AtomQ AttentionLayer Attributes Audio AudioAmplify AudioAnnotate AudioAnnotationLookup AudioBlockMap AudioCapture AudioChannelAssignment AudioChannelCombine AudioChannelMix AudioChannels AudioChannelSeparate AudioData AudioDelay AudioDelete AudioDevice AudioDistance AudioFade AudioFrequencyShift AudioGenerator AudioIdentify AudioInputDevice AudioInsert AudioIntervals AudioJoin AudioLabel AudioLength AudioLocalMeasurements AudioLooping AudioLoudness AudioMeasurements AudioNormalize AudioOutputDevice AudioOverlay AudioPad AudioPan AudioPartition AudioPause AudioPitchShift AudioPlay AudioPlot AudioQ AudioRecord AudioReplace AudioResample AudioReverb AudioSampleRate AudioSpectralMap AudioSpectralTransformation AudioSplit AudioStop AudioStream AudioStreams AudioTimeStretch AudioTrim AudioType AugmentedPolyhedron AugmentedSymmetricPolynomial Authenticate Authentication AuthenticationDialog AutoAction Autocomplete AutocompletionFunction AutoCopy AutocorrelationTest AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutoQuoteCharacters AutoRefreshed AutoRemove AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords AutoSubmitting Axes AxesEdge AxesLabel AxesOrigin AxesStyle AxiomaticTheory AxisBabyMonsterGroupB Back Background BackgroundAppearance BackgroundTasksSettings Backslash Backsubstitution Backward Ball Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarcodeImage BarcodeRecognize BaringhausHenzeTest BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseDecode BaseEncode BaseForm Baseline BaselinePosition BaseStyle BasicRecurrentLayer BatchNormalizationLayer BatchSize BatesDistribution BattleLemarieWavelet BayesianMaximization BayesianMaximizationObject BayesianMinimization BayesianMinimizationObject Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized Between BetweennessCentrality BeveledPolyhedron BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryDeserialize BinaryDistance BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinarySerialize BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BiquadraticFilterModel BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor BiweightLocation BiweightMidvariance Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockchainAddressData BlockchainBase BlockchainBlockData BlockchainContractValue BlockchainData BlockchainGet BlockchainKeyEncode BlockchainPut BlockchainTokenData BlockchainTransaction BlockchainTransactionData BlockchainTransactionSign BlockchainTransactionSubmit BlockMap BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bond BondCount BondList BondQ Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms BooleanQ BooleanRegion Booleans BooleanStrings BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryDiscretizeGraphics BoundaryDiscretizeRegion BoundaryMesh BoundaryMeshRegion BoundaryMeshRegionQ BoundaryStyle BoundedRegionQ BoundingRegion Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxObject BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break BridgeData BrightnessEqualize BroadcastStationData Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurve3DBoxOptions BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BSplineSurface3DBoxOptions BubbleChart BubbleChart3D BubbleScale BubbleSizes BuildingData BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteArray ByteArrayFormat ByteArrayQ ByteArrayToString ByteCount ByteOrderingC CachedValue CacheGraphics CachePersistence CalendarConvert CalendarData CalendarType Callout CalloutMarker CalloutStyle CallPacket CanberraDistance Cancel CancelButton CandlestickChart CanonicalGraph CanonicalizePolygon CanonicalizePolyhedron CanonicalName CanonicalWarpingCorrespondence CanonicalWarpingDistance CantorMesh CantorStaircase Cap CapForm CapitalDifferentialD Capitalize CapsuleShape CaptureRunning CardinalBSplineBasis CarlemanLinearize CarmichaelLambda CaseOrdering Cases CaseSensitive Cashflow Casoratian Catalan CatalanNumber Catch Catenate CatenateLayer CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling CelestialSystem Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEvaluationLanguage CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellLabelStyle CellLabelTemplate CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterArray CenterDot CentralFeature CentralMoment CentralMomentGeneratingFunction Cepstrogram CepstrogramArray CepstrumArray CForm ChampernowneNumber ChangeOptions ChannelBase ChannelBrokerAction ChannelDatabin ChannelHistoryLength ChannelListen ChannelListener ChannelListeners ChannelListenerWait ChannelObject ChannelPreSendFunction ChannelReceiverFunction ChannelSend ChannelSubscribers ChanVeseBinarize Character CharacterCounts CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterName CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop ChromaticityPlot ChromaticityPlot3D ChromaticPolynomial Circle CircleBox CircleDot CircleMinus CirclePlus CirclePoints CircleThrough CircleTimes CirculantGraph CircularOrthogonalMatrixDistribution CircularQuaternionMatrixDistribution CircularRealMatrixDistribution CircularSymplecticMatrixDistribution CircularUnitaryMatrixDistribution Circumsphere CityData ClassifierFunction ClassifierInformation ClassifierMeasurements ClassifierMeasurementsObject Classify ClassPriors Clear ClearAll ClearAttributes ClearCookies ClearPermissions ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipPlanesStyle ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent CloudAccountData CloudBase CloudConnect CloudDeploy CloudDirectory CloudDisconnect CloudEvaluate CloudExport CloudExpression CloudExpressions CloudFunction CloudGet CloudImport CloudLoggingData CloudObject CloudObjectInformation CloudObjectInformationData CloudObjectNameFormat CloudObjects CloudObjectURLType CloudPublish CloudPut CloudRenderingMethod CloudSave CloudShare CloudSubmit CloudSymbol CloudUnshare ClusterClassify ClusterDissimilarityFunction ClusteringComponents ClusteringTree CMYKColor Coarse CodeAssistOptions Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorBalance ColorCombine ColorConvert ColorCoverage ColorData ColorDataFunction ColorDetect ColorDistance ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQ ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorsNear ColorSpace ColorToneMapping Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CombinedEntityClass CombinerFunction CometData CommonDefaultFormatTypes Commonest CommonestFilter CommonName CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompanyData CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledCodeFunction CompiledFunction CompilerOptions Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComplexListPlot ComplexPlot ComplexPlot3D ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries CompositeQ Composition CompoundElement CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData ComputeUncertainty Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath ConformAudio ConformImages Congruent ConicHullRegion ConicHullRegion3DBox ConicHullRegionBox ConicOptimization Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphComponents ConnectedGraphQ ConnectedMeshComponents ConnectedMoleculeComponents ConnectedMoleculeQ ConnectionSettings ConnectLibraryCallbackFunction ConnectSystemModelComponents ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray ConstantArrayLayer ConstantImage ConstantPlusLayer ConstantRegionQ Constants ConstantTimesLayer ConstellationData ConstrainedMax ConstrainedMin Construct Containing ContainsAll ContainsAny ContainsExactly ContainsNone ContainsOnly ContentFieldOptions ContentLocationFunction ContentObject ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTask ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean ContrastiveLossLayer Control ControlActive ControlAlignment ControlGroupContentsBox ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket ConvexHullMesh ConvexPolygonQ ConvexPolyhedronQ ConvolutionLayer Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CookieFunction Cookies CoordinateBoundingBox CoordinateBoundingBoxArray CoordinateBounds CoordinateBoundsArray CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDatabin CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CountDistinct CountDistinctBy CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Counts CountsBy Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateCellID CreateChannel CreateCloudExpression CreateDatabin CreateDataSystemModel CreateDialog CreateDirectory CreateDocument CreateFile CreateIntermediateDirectories CreateManagedLibraryExpression CreateNotebook CreatePalette CreatePalettePacket CreatePermissionsGroup CreateScheduledTask CreateSearchIndex CreateSystemModel CreateTemporary CreateUUID CreateWindow CriterionFunction CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossEntropyLossLayer CrossingCount CrossingDetect CrossingPolygon CrossMatrix Csc Csch CTCLossLayer Cube CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrencyConvert CurrentDate CurrentImage CurrentlySpeakingPacket CurrentNotebookImage CurrentScreenImage CurrentValue Curry CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecompositionD DagumDistribution DamData DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DatabaseConnect DatabaseDisconnect DatabaseReference Databin DatabinAdd DatabinRemove Databins DatabinUpload DataCompression DataDistribution DataRange DataReversed Dataset Date DateBounds Dated DateDelimiters DateDifference DatedUnit DateFormat DateFunction DateHistogram DateList DateListLogPlot DateListPlot DateListStepPlot DateObject DateObjectQ DateOverlapsQ DatePattern DatePlus DateRange DateReduction DateString DateTicksFormat DateValue DateWithinQ DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayHemisphere DaylightQ DayMatchQ DayName DayNightTerminator DayPlus DayRange DayRound DeBruijnGraph DeBruijnSequence Debug DebugTag Decapitalize Decimal DecimalForm DeclareKnownSymbols DeclarePackage Decompose DeconvolutionLayer Decrement Decrypt DecryptFile DedekindEta DeepSpaceProbeData Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultPrintPrecision DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValue DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod DefineResourceFunction Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic DEigensystem DEigenvalues Deinitialization Del DelaunayMesh Delayed Deletable Delete DeleteAnomalies DeleteBorderComponents DeleteCases DeleteChannel DeleteCloudExpression DeleteContents DeleteDirectory DeleteDuplicates DeleteDuplicatesBy DeleteFile DeleteMissing DeleteObject DeletePermissionsKey DeleteSearchIndex DeleteSmallComponents DeleteStopwords DeleteWithContents DeletionWarning DelimitedArray DelimitedSequence Delimiter DelimiterFlashTime DelimiterMatching Delimiters DeliveryFunction Dendrogram Denominator DensityGraphics DensityHistogram DensityPlot DensityPlot3D DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DerivedKey DescriptorStateSpace DesignMatrix DestroyAfterEvaluation Det DeviceClose DeviceConfigure DeviceExecute DeviceExecuteAsynchronous DeviceObject DeviceOpen DeviceOpenQ DeviceRead DeviceReadBuffer DeviceReadLatest DeviceReadList DeviceReadTimeSeries Devices DeviceStreams DeviceWrite DeviceWriteBuffer DGaussianWavelet DiacriticalPositioning Diagonal DiagonalizableMatrixQ DiagonalMatrix DiagonalMatrixQ Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DictionaryWordQ DifferenceDelta DifferenceOrder DifferenceQuotient DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitalSignature DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralAngle DihedralGroup Dilation DimensionalCombinations DimensionalMeshComponents DimensionReduce DimensionReducerFunction DimensionReduction Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletBeta DirichletCharacter DirichletCondition DirichletConvolve DirichletDistribution DirichletEta DirichletL DirichletLambda DirichletTransform DirichletWindow DisableConsolePrintPacket DisableFormatting DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLimit DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscreteMaxLimit DiscreteMinLimit DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform DiscretizeGraphics DiscretizeRegion Discriminant DisjointQ Disjunction Disk DiskBox DiskMatrix DiskSegment Dispatch DispatchQ DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceMatrix DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers DivideSides Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentGenerator DocumentGeneratorInformation DocumentGeneratorInformationData DocumentGenerators DocumentNotebook DocumentWeightingRules Dodecahedron DomainRegistrationInformation DominantColors DOSTextFormat Dot DotDashed DotEqual DotLayer DotPlusLayer Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DropoutLayer DSolve DSolveValue Dt DualLinearProgramming DualPolyhedron DualSystemsModel DumpGet DumpSave DuplicateFreeQ Duration Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicGeoGraphics DynamicImage DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptionsE EarthImpactData EarthquakeData EccentricityCentrality Echo EchoFunction EclipseType EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeContract EdgeCost EdgeCount EdgeCoverQ EdgeCycleMatrix EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight EdgeWeightedGraphQ Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData ElementwiseLayer ElidedForms Eliminate EliminationOrder Ellipsoid EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmbedCode EmbeddedHTML EmbeddedService EmbeddingLayer EmbeddingObject EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EmptyRegion EnableConsolePrintPacket Enabled Encode Encrypt EncryptedObject EncryptFile End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfBuffer EndOfFile EndOfLine EndOfString EndPackage EngineEnvironment EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entity EntityClass EntityClassList EntityCopies EntityFunction EntityGroup EntityInstance EntityList EntityPrefetch EntityProperties EntityProperty EntityPropertyClass EntityRegister EntityStore EntityStores EntityTypeName EntityUnregister EntityValue Entropy EntropyFilter Environment Epilog EpilogFunction Equal EqualColumns EqualRows EqualTilde EqualTo EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EscapeRadius EstimatedBackground EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerAngles EulerCharacteristic EulerE EulerGamma EulerianGraphQ EulerMatrix EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluateScheduledTask EvaluationBox EvaluationCell EvaluationCompletionAction EvaluationData EvaluationElements EvaluationEnvironment EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels EventSeries ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludedLines ExcludedPhysicalQuantities ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog ExoplanetData Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi ExpirationDate Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportByteArray ExportForm ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpressionUUID ExpToTrig ExtendedEntityClass ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalBundle ExternalCall ExternalDataCharacterEncoding ExternalEvaluate ExternalFunction ExternalFunctionName ExternalObject ExternalOptions ExternalSessionObject ExternalSessions ExternalTypeSignature ExternalValue Extract ExtractArchive ExtractLayer ExtremeValueDistributionFaceForm FaceGrids FaceGridsStyle FacialFeatures Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail Failure FailureAction FailureDistribution FailureQ False FareySequence FARIMAProcess FeatureDistance FeatureExtract FeatureExtraction FeatureExtractor FeatureExtractorFunction FeatureNames FeatureNearest FeatureSpacePlot FeatureSpacePlot3D FeatureTypes FEDisableConsolePrintPacket FeedbackLinearize FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket FetalGrowthData Fibonacci Fibonorial FieldCompletionFunction FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileConvert FileDate FileExistsQ FileExtension FileFormat FileHandler FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameForms FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileSize FileSystemMap FileSystemScan FileTemplate FileTemplateApply FileType FilledCurve FilledCurveBox FilledCurveBoxOptions Filling FillingStyle FillingTransform FilteredEntityClass FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindAnomalies FindArgMax FindArgMin FindChannels FindClique FindClusters FindCookies FindCurvePath FindCycle FindDevices FindDistribution FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEdgeIndependentPaths FindEquationalProof FindEulerianCycle FindExternalEvaluators FindFaces FindFile FindFit FindFormula FindFundamentalCycles FindGeneratingFunction FindGeoLocation FindGeometricConjectures FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindHamiltonianPath FindHiddenMarkovStates FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMatchingColor FindMaximum FindMaximumFlow FindMaxValue FindMeshDefects FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindMoleculeSubstructure FindPath FindPeaks FindPermutation FindPostmanTour FindProcessParameters FindRepeat FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindSpanningTree FindSystemModelEquilibrium FindTextualAnswer FindThreshold FindTransientRepeat FindVertexCover FindVertexCut FindVertexIndependentPaths Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstCase FirstPassageTimeDistribution FirstPosition FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FitRegularization FittedModel FixedOrder FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlattenLayer FlatTopWindow FlipView Floor FlowPolynomial FlushPrintOutputPacket Fold FoldList FoldPair FoldPairList FollowRedirects Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FormControl FormFunction FormLayoutFunction FormObject FormPage FormTheme FormulaData FormulaLookup FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalGaussianNoiseProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameRate FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrenetSerretSystem FrequencySamplingFilterKernel FresnelC FresnelF FresnelG FresnelS Friday FrobeniusNumber FrobeniusSolve FromAbsoluteTime FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS FromEntity FromJulianDate FromLetterNumber FromPolarCoordinates FromRomanNumeral FromSphericalCoordinates FromUnixTime Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullInformationOutputRegulator FullOptions FullRegion FullSimplify Function FunctionCompile FunctionCompileExport FunctionCompileExportByteArray FunctionCompileExportLibrary FunctionCompileExportString FunctionDomain FunctionExpand FunctionInterpolation FunctionPeriod FunctionRange FunctionSpace FussellVeselyImportanceGaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins GalaxyData GalleryView Gamma GammaDistribution GammaRegularized GapPenalty GARCHProcess GatedRecurrentLayer Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianOrthogonalMatrixDistribution GaussianSymplecticMatrixDistribution GaussianUnitaryMatrixDistribution GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateAsymmetricKeyPair GenerateConditions GeneratedCell GeneratedDocumentBinding GenerateDerivedKey GenerateDigitalSignature GenerateDocument GeneratedParameters GeneratedQuantityMagnitudes GenerateHTTPResponse GenerateSecuredAuthenticationKey GenerateSymmetricKey GeneratingFunction GeneratorDescription GeneratorHistoryLength GeneratorOutputType Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeoAntipode GeoArea GeoArraySize GeoBackground GeoBoundingBox GeoBounds GeoBoundsRegion GeoBubbleChart GeoCenter GeoCircle GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDisk GeoDisplacement GeoDistance GeoDistanceList GeoElevationData GeoEntities GeoGraphics GeogravityModelData GeoGridDirectionDifference GeoGridLines GeoGridLinesStyle GeoGridPosition GeoGridRange GeoGridRangePadding GeoGridUnitArea GeoGridUnitDistance GeoGridVector GeoGroup GeoHemisphere GeoHemisphereBoundary GeoHistogram GeoIdentify GeoImage GeoLabels GeoLength GeoListPlot GeoLocation GeologicalPeriodData GeomagneticModelData GeoMarker GeometricAssertion GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricScene GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoModel GeoNearest GeoPath GeoPosition GeoPositionENU GeoPositionXYZ GeoProjection GeoProjectionData GeoRange GeoRangePadding GeoRegionValuePlot GeoResolution GeoScaleBar GeoServer GeoSmoothHistogram GeoStreamPlot GeoStyling GeoStylingImageFunction GeoVariant GeoVector GeoVectorENU GeoVectorPlot GeoVectorXYZ GeoVisibleRegion GeoVisibleRegionBoundary GeoWithinQ GeoZoomLevel GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenAngle GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter GrammarApply GrammarRules GrammarToken Graph Graph3D GraphAssortativity GraphAutomorphismGroup GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel Greater GreaterEqual GreaterEqualLess GreaterEqualThan GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterThan GreaterTilde Green GreenFunction Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupBy GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators Groupings GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain GroupTogetherGrouping GroupTogetherNestedGrouping GrowCutComponents Gudermannian GuidedFilter GumbelDistributionHaarWavelet HadamardMatrix HalfLine HalfNormalDistribution HalfPlane HalfSpace HamiltonianGraphQ HammingDistance HammingWindow HandlerFunctions HandlerFunctionsKeys HankelH1 HankelH2 HankelMatrix HankelTransform HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash Haversine HazardFunction Head HeadCompose HeaderLines Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings Here HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenMarkovProcess HiddenSurface Highlighted HighlightGraph HighlightImage HighlightMesh HighpassFilter HigmanSimsGroupHS HilbertCurve HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HistoricalPeriodData HitMissTransform HITSCentrality HjorthDistribution HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HostLookup HotellingTSquareDistribution HoytDistribution HTMLSave HTTPErrorResponse HTTPRedirect HTTPRequest HTTPRequestData HTTPResponse Hue HumanGrowthData HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyperplane Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestDataI IconData Iconize IconizedObject IconRules Icosahedron Identity IdentityMatrix If IgnoreCase IgnoreDiacritics IgnorePunctuation IgnoreSpellCheck IgnoringInactive Im Image Image3D Image3DProjection Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageApplyIndexed ImageAspectRatio ImageAssemble ImageAugmentationLayer ImageBoundingBoxes ImageCache ImageCacheValid ImageCapture ImageCaptureFunction ImageCases ImageChannels ImageClip ImageCollage ImageColorSpace ImageCompose ImageContainsQ ImageContents ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDisplacements ImageDistance ImageEffect ImageExposureCombine ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageFocusCombine ImageForestingComponents ImageFormattingWidth ImageForwardTransformation ImageGraphics ImageHistogram ImageIdentify ImageInstanceQ ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarker ImageMarkers ImageMeasurements ImageMesh ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImagePosition ImagePreviewFunction ImagePyramid ImagePyramidApply ImageQ ImageRangeCache ImageRecolor ImageReflect ImageRegion ImageResize ImageResolution ImageRestyle ImageRotate ImageRotated ImageSaliencyFilter ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions ImagingDevice ImplicitRegion Implies Import ImportAutoReplacements ImportByteArray ImportOptions ImportString ImprovementImportance In Inactivate Inactive IncidenceGraph IncidenceList IncidenceMatrix IncludeAromaticBonds IncludeConstantBasis IncludeDefinitions IncludeDirectories IncludeFileExtension IncludeGeneratorTasks IncludeHydrogens IncludeInflections IncludeMetaInformation IncludePods IncludeQuantities IncludeRelatedTables IncludeSingularTerm IncludeWindowTimes Increment IndefiniteMatrixQ Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentPhysicalQuantity IndependentUnit IndependentUnitDimension IndependentVertexSetQ Indeterminate IndeterminateThreshold IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers InfiniteLine InfinitePlane Infinity Infix InflationAdjust InflationMethod Information InformationData InformationDataGrid Inherited InheritScope InhomogeneousPoissonProcess InitialEvaluationHistory Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InitializationObjects InitializationValue Initialize InitialSeeding InlineCounterAssignments InlineCounterIncrements InlineRules Inner InnerPolygon InnerPolyhedron Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionFunction InsertionPointObject InsertLinebreaks InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Insphere Install InstallService InstanceNormalizationLayer InString Integer IntegerDigits IntegerExponent IntegerLength IntegerName IntegerPart IntegerPartitions IntegerQ IntegerReverse Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction Interpreter InterpretTemplate InterquartileRange Interrupt InterruptSettings IntersectingQ Intersection Interval IntervalIntersection IntervalMarkers IntervalMarkersStyle IntervalMemberQ IntervalSlider IntervalUnion Into Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHankelTransform InverseHaversine InverseImagePyramid InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InverseMellinTransform InversePermutation InverseRadon InverseRadonTransform InverseSeries InverseShortTimeFourier InverseSpectrogram InverseSurvivalFunction InverseTransformedRegion InverseWaveletTransform InverseWeierstrassP InverseWishartMatrixDistribution InverseZTransform Invisible InvisibleApplication InvisibleTimes IPAddress IrreduciblePolynomialQ IslandData IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemAspectRatio ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcessJaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join JoinAcross Joined JoinedCurve JoinedCurveBox JoinedCurveBoxOptions JoinForm JordanDecomposition JordanModelDecomposition JulianDate JuliaSetBoettcher JuliaSetIterationCount JuliaSetPlot JuliaSetPointsK KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KEdgeConnectedComponents KEdgeConnectedGraphQ KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelFunction KernelMixtureDistribution Kernels Ket Key KeyCollisionFunction KeyComplement KeyDrop KeyDropFrom KeyExistsQ KeyFreeQ KeyIntersection KeyMap KeyMemberQ KeypointStrength Keys KeySelect KeySort KeySortBy KeyTake KeyUnion KeyValueMap KeyValuePattern Khinchin KillProcess KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnapsackSolve KnightTourGraph KnotData KnownUnitQ KochCurve KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter KVertexConnectedComponents KVertexConnectedGraphQLABColor Label Labeled LabeledSlider LabelingFunction LabelingSize LabelStyle LabelVisibility LaguerreL LakeData LambdaComponents LambertW LaminaData LanczosWindow LandauDistribution Language LanguageCategory LanguageData LanguageIdentify LanguageOptions LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCHColor LCM LeaderSize LeafCount LeapYearQ LearnDistribution LearnedDistribution LearningRate LearningRateMultipliers LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessEqualThan LessFullEqual LessGreater LessLess LessSlantEqual LessThan LessTilde LetterCharacter LetterCounts LetterNumber LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryDataType LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox Line3DBoxOptions LinearFilter LinearFractionalOptimization LinearFractionalTransform LinearGradientImage LinearizingTransformationData LinearLayer LinearModelFit LinearOffsetFunction LinearOptimization LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBoxOptions LineBreak LinebreakAdjustments LineBreakChart LinebreakSemicolonWeighting LineBreakWithin LineColor LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRankCentrality LinkRead LinkReadHeld LinkReadyQ Links LinkService LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot ListDensityPlot3D Listen ListFormat ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListSliceContourPlot3D ListSliceDensityPlot3D ListSliceVectorPlot3D ListStepPlot ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalAdaptiveBinarize LocalCache LocalClusteringCoefficient LocalizeDefinitions LocalizeVariables LocalObject LocalObjects LocalResponseNormalizationLayer LocalSubmit LocalSymbol LocalTime LocalTimeZone LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogisticSigmoid LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongestOrderedSequence LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow LongShortTermMemoryLayer Lookup Loopback LoopFreeGraphQ LossFunction LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowerTriangularMatrixQ LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LunarEclipse LUVColor LyapunovSolve LyonsGroupLyMachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MailAddressValidation MailExecute MailFolder MailItem MailReceiverFunction MailResponseFunction MailSearch MailServerConnect MailServerConnection MailSettings MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules ManagedLibraryExpressionID ManagedLibraryExpressionQ MandelbrotSetBoettcher MandelbrotSetDistance MandelbrotSetIterationCount MandelbrotSetMemberQ MandelbrotSetPlot MangoldtLambda ManhattanDistance Manipulate Manipulator MannedSpaceMissionData MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarchenkoPasturDistribution MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicalFunctionData MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixNormalDistribution MatrixPlot MatrixPower MatrixPropertyDistribution MatrixQ MatrixRank MatrixTDistribution Max MaxBend MaxCellMeasure MaxColorDistance MaxDetect MaxDuration MaxExtraBandwidths MaxExtraConditions MaxFeatureDisplacement MaxFeatures MaxFilter MaximalBy Maximize MaxItems MaxIterations MaxLimit MaxMemoryUsed MaxMixtureKernels MaxOverlapFraction MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxTrainingRounds MaxValue MaxwellDistribution MaxWordGap McLaughlinGroupMcL Mean MeanAbsoluteLossLayer MeanAround MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter MeanSquaredLossLayer Median MedianDeviation MedianFilter MedicalTestData Medium MeijerG MeijerGReduce MeixnerDistribution MellinConvolve MellinTransform MemberQ MemoryAvailable MemoryConstrained MemoryConstraint MemoryInUse MengerMesh Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuList MenuPacket MenuSortingValue MenuStyle MenuView Merge MergeDifferences MergingFunction MersennePrimeExponent MersennePrimeExponentQ Mesh MeshCellCentroid MeshCellCount MeshCellHighlight MeshCellIndex MeshCellLabel MeshCellMarker MeshCellMeasure MeshCellQuality MeshCells MeshCellShapeFunction MeshCellStyle MeshCoordinates MeshFunctions MeshPrimitives MeshQualityGoal MeshRange MeshRefinementFunction MeshRegion MeshRegionQ MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageObject MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation MeteorShowerData Method MethodOptions MexicanHatWavelet MeyerWavelet Midpoint Min MinColorDistance MinDetect MineralData MinFilter MinimalBy MinimalPolynomial MinimalStateSpaceModel Minimize MinimumTimeIncrement MinIntervalSize MinkowskiQuestionMark MinLimit MinMax MinorPlanetData Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingBehavior MissingDataMethod MissingDataRules MissingQ MissingString MissingStyle MissingValuePattern MittagLefflerE MixedFractionParts MixedGraphQ MixedMagnitude MixedRadix MixedRadixQuantity MixedUnit MixtureDistribution Mod Modal Mode Modular ModularInverse ModularLambda Module Modulus MoebiusMu Molecule MoleculeContainsQ MoleculeEquivalentQ MoleculeGraph MoleculeModify MoleculePattern MoleculePlot MoleculePlot3D MoleculeProperty MoleculeQ MoleculeValue Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction MomentOfInertia Monday Monitor MonomialList MonomialOrder MonsterGroupM MoonPhase MoonPosition MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform MortalityData Most MountainData MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovieData MovingAverage MovingMap MovingMedian MoyalDistribution Multicolumn MultiedgeStyle MultigraphQ MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity MultiplySides Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistributionN NakagamiDistribution NameQ Names NamespaceBox NamespaceBoxOptions Nand NArgMax NArgMin NBernoulliB NBodySimulation NBodySimulationData NCache NDEigensystem NDEigenvalues NDSolve NDSolveValue Nearest NearestFunction NearestNeighborGraph NearestTo NebulaData NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeDefiniteMatrixQ NegativeIntegers NegativeMultinomialDistribution NegativeRationals NegativeReals NegativeSemidefiniteMatrixQ NeighborhoodData NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestGraph NestList NestWhile NestWhileList NetAppend NetBidirectionalOperator NetChain NetDecoder NetDelete NetDrop NetEncoder NetEvaluationMode NetExtract NetFlatten NetFoldOperator NetGraph NetInformation NetInitialize NetInsert NetInsertSharedArrays NetJoin NetMapOperator NetMapThreadOperator NetMeasurements NetModel NetNestOperator NetPairEmbeddingOperator NetPort NetPortGradient NetPrepend NetRename NetReplace NetReplacePart NetSharedArray NetStateObject NetTake NetTrain NetTrainResultsObject NetworkPacketCapture NetworkPacketRecording NetworkPacketRecordingDuring NetworkPacketTrace NeumannValue NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextCell NextDate NextPrime NextScheduledTaskTime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NightHemisphere NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants NondimensionalizationTransform None NoneTrue NonlinearModelFit NonlinearStateSpaceModel NonlocalMeansFilter NonNegative NonNegativeIntegers NonNegativeRationals NonNegativeReals NonPositive NonPositiveIntegers NonPositiveRationals NonPositiveReals Nor NorlundB Norm Normal NormalDistribution NormalGrouping NormalizationLayer Normalize Normalized NormalizedSquaredEuclideanDistance NormalMatrixQ NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookImport NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookTemplate NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde Nothing NotHumpDownHump NotHumpEqual NotificationFunction NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar Now NoWhitespace NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms NuclearExplosionData NuclearReactorData Null NullRecords NullSpace NullWords Number NumberCompose NumberDecompose NumberExpand NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberLinePlot NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumeratorDenominator NumericalOrder NumericalSort NumericArray NumericArrayQ NumericArrayType NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlotO ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OceanData Octahedron OddQ Off Offset OLEData On ONanGroupON Once OneIdentity Opacity OpacityFunction OpacityFunctionScaling Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionalElement OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering OrderingBy OrderingLayer Orderless OrderlessPatternSequence OrnsteinUhlenbeckProcess Orthogonalize OrthogonalMatrixQ Out Outer OuterPolygon OuterPolyhedron OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OverwriteTarget OwenT OwnValuesPackage PackingMethod PaddedForm Padding PaddingLayer PaddingSize PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageTheme PageWidth Pagination PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath PalindromeQ Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo Parallelepiped ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds Parallelogram ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParametricRegion ParentBox ParentCell ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParentNotebook ParetoDistribution ParetoPickandsDistribution ParkData Part PartBehavior PartialCorrelationFunction PartialD ParticleAcceleratorData ParticleData Partition PartitionGranularity PartitionsP PartitionsQ PartLayer PartOfSpeech PartProtection ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteAutoQuoteCharacters PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PeakDetect PeanoCurve PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PercentForm PerfectNumber PerfectNumberQ PerformanceGoal Perimeter PeriodicBoundaryCondition PeriodicInterpolation Periodogram PeriodogramArray Permanent Permissions PermissionsGroup PermissionsGroupMemberQ PermissionsGroups PermissionsKey PermissionsKeys PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PerpendicularBisector PersistenceLocation PersistenceTime PersistentObject PersistentObjects PersistentValue PersonData PERTDistribution PetersenGraph PhaseMargins PhaseRange PhysicalSystemData Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest PingTime Pink PitchRecognize Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarAngle PlanarGraph PlanarGraphQ PlanckRadiationLaw PlaneCurveData PlanetaryMoonData PlanetData PlantData Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLabels PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangeClipPlanesStyle PlotRangePadding PlotRegion PlotStyle PlotTheme Pluralize Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox Point3DBoxOptions PointBox PointBoxOptions PointFigureChart PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonalNumber PolygonAngle PolygonBox PolygonBoxOptions PolygonCoordinates PolygonDecomposition PolygonHoleScale PolygonIntersections PolygonScale Polyhedron PolyhedronAngle PolyhedronCoordinates PolyhedronData PolyhedronDecomposition PolyhedronGenus PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PoolingLayer PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position PositionIndex Positive PositiveDefiniteMatrixQ PositiveIntegers PositiveRationals PositiveReals PositiveSemidefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerRange PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement Predict PredictionRoot PredictorFunction PredictorInformation PredictorMeasurements PredictorMeasurementsObject PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependLayer PrependTo PreprocessingRules PreserveColor PreserveImageOptions Previous PreviousCell PreviousDate PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitivePolynomialQ PrimitiveRoot PrimitiveRootList PrincipalComponents PrincipalValue Print PrintableASCIIQ PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment Printout3D Printout3DPreviewer PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateKey PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessConnection ProcessDirectory ProcessEnvironment Processes ProcessEstimator ProcessInformation ProcessObject ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessStatus ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm ProofObject Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse PsychrometricPropertyData PublicKey PublisherID PulsarData PunctuationCharacter Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptionsQBinomial QFactorial QGamma QHypergeometricPFQ QnDispersion QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ QuadraticOptimization Quantile QuantilePlot Quantity QuantityArray QuantityDistribution QuantityForm QuantityMagnitude QuantityQ QuantityUnit QuantityVariable QuantityVariableCanonicalUnit QuantityVariableDimensions QuantityVariableIdentifier QuantityVariablePhysicalQuantity Quartics QuartileDeviation Quartiles QuartileSkewness Query QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainderRadialGradientImage RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RadonTransform RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Ramp Random RandomChoice RandomColor RandomComplex RandomEntity RandomFunction RandomGeoPosition RandomGraph RandomImage RandomInstance RandomInteger RandomPermutation RandomPoint RandomPolygon RandomPolyhedron RandomPrime RandomReal RandomSample RandomSeed RandomSeeding RandomVariate RandomWalkProcess RandomWord Range RangeFilter RangeSpecification RankedMax RankedMin RarerProbability Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadByteArray ReadLine ReadList ReadProtected ReadString Real RealAbs RealBlockDiagonalForm RealDigits RealExponent Reals RealSign Reap RecognitionPrior RecognitionThreshold Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RectangularRepeatingElement RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate Region RegionBinarize RegionBoundary RegionBounds RegionCentroid RegionDifference RegionDimension RegionDisjoint RegionDistance RegionDistanceFunction RegionEmbeddingDimension RegionEqual RegionFunction RegionImage RegionIntersection RegionMeasure RegionMember RegionMemberFunction RegionMoment RegionNearest RegionNearestFunction RegionPlot RegionPlot3D RegionProduct RegionQ RegionResize RegionSize RegionSymmetricDifference RegionUnion RegionWithin RegisterExternalEvaluator RegularExpression Regularization RegularlySampledQ RegularPolygon ReIm ReImLabels ReImPlot ReImStyle Reinstall RelationalDatabase RelationGraph Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot RemoteAuthorizationCaching RemoteConnect RemoteConnectionObject RemoteFile RemoteRun RemoteRunProcess Remove RemoveAlphaChannel RemoveAsynchronousTask RemoveAudioStream RemoveBackground RemoveChannelListener RemoveChannelSubscribers Removed RemoveDiacritics RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RemoveUsers RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart RepairMesh Repeated RepeatedNull RepeatedString RepeatedTiming RepeatingElement Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated ReplicateLayer RequiredPhysicalQuantities Resampling ResamplingAlgorithmData ResamplingMethod Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask ReshapeLayer Residue ResizeLayer Resolve ResourceAcquire ResourceData ResourceFunction ResourceObject ResourceRegister ResourceRemove ResourceSearch ResourceSubmissionObject ResourceSubmit ResourceSystemBase ResourceUpdate ResponseForm Rest RestartInterval Restricted Resultant ResumePacket Return ReturnEntersInput ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnReceiptFunction ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseSort ReverseSortBy ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ RiemannXi Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightComposition RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity RollPitchYawAngles RollPitchYawMatrix RomanNumeral Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RSolveValue RudinShapiro RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulePlot RulerUnits Run RunProcess RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilaritySameQ SameTest SampledEntityClass SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SASTriangle SatelliteData SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveConnection SaveDefinitions SavitzkyGolayMatrix SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTask ScheduledTaskActiveQ ScheduledTaskInformation ScheduledTaskInformationData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScientificNotationThreshold ScorerGi ScorerGiPrime ScorerHi ScorerHiPrime ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptForm ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition SearchAdjustment SearchIndexObject SearchIndices SearchQueryString SearchResultObject Sec Sech SechDistribution SecondOrderConeOptimization SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SecuredAuthenticationKey SecuredAuthenticationKeys SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook SelectFirst Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemanticImport SemanticImportString SemanticInterpretation SemialgebraicComponentInstances SemidefiniteOptimization SendMail SendMessage Sequence SequenceAlignment SequenceAttentionLayer SequenceCases SequenceCount SequenceFold SequenceFoldList SequenceForm SequenceHold SequenceLastLayer SequenceMostLayer SequencePosition SequencePredict SequencePredictorFunction SequenceReplace SequenceRestLayer SequenceReverseLayer SequenceSplit Series SeriesCoefficient SeriesData ServiceConnect ServiceDisconnect ServiceExecute ServiceObject ServiceRequest ServiceResponse ServiceSubmit SessionSubmit SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetCloudDirectory SetCookies SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPermissions SetPrecision SetProperty SetSecuredAuthenticationKey SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemModel SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetUsers SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share SharingList Sharpen ShearingMatrix ShearingTransform ShellRegion ShenCastanMatrix ShiftedGompertzDistribution ShiftRegisterSequence Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortTimeFourier ShortTimeFourierData ShortUpArrow Show ShowAutoConvert ShowAutoSpellCheck ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowCodeAssist ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiderealTime SiegelTheta SiegelTukeyTest SierpinskiCurve SierpinskiMesh Sign Signature SignedRankTest SignedRegionDistance SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ SimplePolygonQ SimplePolyhedronQ Simplex Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution SkinStyle Skip SliceContourPlot3D SliceDensityPlot3D SliceDistribution SliceVectorPlot3D Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDecomposition SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SnDispersion Snippet SnubPolyhedron SocialMediaData Socket SocketConnect SocketListen SocketListener SocketObject SocketOpen SocketReadMessage SocketReadyQ Sockets SocketWaitAll SocketWaitNext SoftmaxLayer SokalSneathDissimilarity SolarEclipse SolarSystemFeatureData SolidAngle SolidData SolidRegionQ Solve SolveAlways SolveDelayed Sort SortBy SortedBy SortedEntityClass Sound SoundAndGraphics SoundNote SoundVolume SourceLink Sow Space SpaceCurveData SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution SpatialMedian SpatialTransformationLayer Speak SpeakTextPacket SpearmanRankTest SpearmanRho SpeciesData SpecificityGoal SpectralLineData Spectrogram SpectrogramArray Specularity SpeechRecognize SpeechSynthesize SpellingCorrection SpellingCorrectionList SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SpherePoints SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SphericalShell SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquareMatrixQ SquareRepeatingElement SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave SSSTriangle StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackedDateListPlot StackedListPlot StackInhibit StadiumShape StandardAtmosphereData StandardDeviation StandardDeviationFilter StandardForm Standardize Standardized StandardOceanData StandbyDistribution Star StarClusterData StarData StarGraph StartAsynchronousTask StartExternalSession StartingStepSize StartOfLine StartOfString StartProcess StartScheduledTask StartupSound StartWebSession StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StateTransformationLinearize StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StereochemistryElements StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StoppingPowerData StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamMarkers StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringContainsQ StringCount StringDelete StringDrop StringEndsQ StringExpression StringExtract StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPadLeft StringPadRight StringPart StringPartition StringPosition StringQ StringRepeat StringReplace StringReplaceList StringReplacePart StringReverse StringRiffle StringRotateLeft StringRotateRight StringSkeleton StringSplit StringStartsQ StringTake StringTemplate StringToByteArray StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleData StyleDefinitions StyleForm StyleHints StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subdivide Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subsequences Subset SubsetEqual SubsetMap SubsetQ Subsets SubStar SubstitutionSystem Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubtractSides SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde Success SuchThat Sum SumConvergence SummationLayer Sunday SunPosition Sunrise Sunset SuperDagger SuperMinus SupernovaData SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceArea SurfaceColor SurfaceData SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricKey SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Synonyms Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SynthesizeMissingValues SystemDialogInput SystemException SystemGet SystemHelpPath SystemInformation SystemInformationData SystemInstall SystemModel SystemModeler SystemModelExamples SystemModelLinearize SystemModelParametricSimulate SystemModelPlot SystemModelProgressReporting SystemModelReliability SystemModels SystemModelSimulate SystemModelSimulateSensitivity SystemModelSimulationData SystemOpen SystemOptions SystemProcessData SystemProcesses SystemsConnectionsModel SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelLinearity SystemsModelMerge SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemsModelVectorRelativeOrders SystemStub SystemTestTab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TableViewBoxBackground TableViewBoxOptions TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeDrop TakeLargest TakeLargestBy TakeList TakeSmallest TakeSmallestBy TakeWhile Tally Tan Tanh TargetDevice TargetFunctions TargetSystem TargetUnits TaskAbort TaskExecute TaskObject TaskRemove TaskResume Tasks TaskSuspend TaskWait TautologyQ TelegraphProcess TemplateApply TemplateArgBox TemplateBox TemplateBoxOptions TemplateEvaluate TemplateExpression TemplateIf TemplateObject TemplateSequence TemplateSlot TemplateSlotSequence TemplateUnevaluated TemplateVerbatim TemplateWith TemporalData TemporalRegularity Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge TestID TestReport TestReportObject TestResultObject Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCases TextCell TextClipboardType TextContents TextData TextElement TextForm TextGrid TextJustification TextLine TextPacket TextParagraph TextPosition TextRecognize TextSearch TextSearchReport TextSentences TextString TextStructure TextStyle TextTranslation Texture TextureCoordinateFunction TextureCoordinateScaling TextWords Therefore ThermodynamicData ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreadingLayer ThreeJSymbol Threshold Through Throw ThueMorse Thumbnail Thursday Ticks TicksStyle TideData Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint TimeDirection TimeFormat TimeGoal TimelinePlot TimeObject TimeObjectQ Times TimesBy TimeSeries TimeSeriesAggregate TimeSeriesForecast TimeSeriesInsert TimeSeriesInvertibility TimeSeriesMap TimeSeriesMapThread TimeSeriesModel TimeSeriesModelFit TimeSeriesResample TimeSeriesRescale TimeSeriesShift TimeSeriesThread TimeSeriesWindow TimeUsed TimeValue TimeWarpingCorrespondence TimeWarpingDistance TimeZone TimeZoneConvert TimeZoneOffset Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate Today ToDiscreteTimeModel ToEntity ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase Tomorrow ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform ToPolarCoordinates TopologicalSort ToRadicals ToRules ToSphericalCoordinates ToString Total TotalHeight TotalLayer TotalVariationFilter TotalWidth TouchPosition TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TrackingFunction TracyWidomDistribution TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TrainingProgressCheckpointing TrainingProgressFunction TrainingProgressMeasurements TrainingProgressReporting TrainingStoppingCriterion TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationClass TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField TransformedProcess TransformedRegion TransitionDirection TransitionDuration TransitionEffect TransitiveClosureGraph TransitiveReductionGraph Translate TranslationOptions TranslationTransform Transliterate Transparent TransparentColor Transpose TransposeLayer TrapSelection TravelDirections TravelDirectionsData TravelDistance TravelDistanceList TravelMethod TravelTime TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle Triangle TriangleCenter TriangleConstruct TriangleMeasurement TriangleWave TriangularDistribution TriangulateMesh Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean TrimmedVariance TropicalStormData True TrueQ TruncatedDistribution TruncatedPolyhedron TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBoxOptions TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow TunnelData Tuples TuranGraph TuringMachine TuttePolynomial TwoWayRule Typed TypeSpecifierUnateQ Uncompress UnconstrainedParameters Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UnderseaFeatureData UndirectedEdge UndirectedGraph UndirectedGraphQ UndoOptions UndoTrackedVariables Unequal UnequalTo Unevaluated UniformDistribution UniformGraphDistribution UniformPolyhedron UniformSumDistribution Uninstall Union UnionPlus Unique UnitaryMatrixQ UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitSystem UnitTriangle UnitVector UnitVectorLayer UnityDimensions UniverseModelData UniversityData UnixTime Unprotect UnregisterExternalEvaluator UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpdateSearchIndex UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize UpperTriangularMatrixQ Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpTo UpValues URL URLBuild URLDecode URLDispatcher URLDownload URLDownloadSubmit URLEncode URLExecute URLExpand URLFetch URLFetchAsynchronous URLParse URLQueryDecode URLQueryEncode URLRead URLResponseTime URLSave URLSaveAsynchronous URLShorten URLSubmit UseGraphicsRange UserDefinedWavelet Using UsingFrontEnd UtilityFunctionV2Get ValenceErrorHandling ValidationLength ValidationSet Value ValueBox ValueBoxOptions ValueDimensions ValueForm ValuePreprocessingFunction ValueQ Values ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorAround VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorGreater VectorGreaterEqual VectorLess VectorLessEqual VectorMarkers VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerificationTest VerifyConvergence VerifyDerivedKey VerifyDigitalSignature VerifyInterpretation VerifySecurityCertificates VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexContract VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight VertexWeightedGraphQ Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewProjection ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoiceStyleData VoigtDistribution VolcanoData Volume VonMisesDistribution VoronoiMeshWaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WarpingCorrespondence WarpingDistance WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeatherForecastData WebAudioSearch WebElementObject WeberE WebExecute WebImage WebImageSearch WebSearch WebSessionObject WebSessions WebWindowObject Wedge Wednesday WeibullDistribution WeierstrassE1 WeierstrassE2 WeierstrassE3 WeierstrassEta1 WeierstrassEta2 WeierstrassEta3 WeierstrassHalfPeriods WeierstrassHalfPeriodW1 WeierstrassHalfPeriodW2 WeierstrassHalfPeriodW3 WeierstrassInvariantG2 WeierstrassInvariantG3 WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White WhiteNoiseProcess WhitePoint Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WikipediaData WikipediaSearch WilksW WilksWTest WindDirectionData WindingCount WindingPolygon WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowPersistentStyles WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth WindSpeedData WindVectorData WinsorizedMean WinsorizedVariance WishartMatrixDistribution With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult WolframLanguageData Word WordBoundary WordCharacter WordCloud WordCount WordCounts WordData WordDefinition WordFrequency WordFrequencyData WordList WordOrientation WordSearch WordSelectionFunction WordSeparators WordSpacings WordStem WordTranslation WorkingPrecision WrapAround Write WriteLine WriteString WronskianXMLElement XMLObject XMLTemplate Xnor Xor XYZColorYellow Yesterday YuleDissimilarityZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZIPCodeData ZipfDistribution ZoomCenter ZoomFactor ZTest ZTransform$Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AllowExternalChannelFunctions $AssertFunction $Assumptions $AsynchronousTask $AudioInputDevices $AudioOutputDevices $BaseDirectory $BatchInput $BatchOutput $BlockchainBase $BoxForms $ByteOrdering $CacheBaseDirectory $Canceled $ChannelBase $CharacterEncoding $CharacterEncodings $CloudBase $CloudConnected $CloudCreditsAvailable $CloudEvaluation $CloudExpressionBase $CloudObjectNameFormat $CloudObjectURLType $CloudRootDirectory $CloudSymbolBase $CloudUserID $CloudUserUUID $CloudVersion $CloudVersionNumber $CloudWolframEngineVersionNumber $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $Cookies $CookieStore $CreationDate $CurrentLink $CurrentTask $CurrentWebSession $DateStringFormat $DefaultAudioInputDevice $DefaultAudioOutputDevice $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultLocalBase $DefaultMailbox $DefaultNetworkInterface $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $EmbedCodeEnvironments $EmbeddableServices $EntityStores $Epilog $EvaluationCloudBase $EvaluationCloudObject $EvaluationEnvironment $ExportFormats $Failed $FinancialDataSource $FontFamilies $FormatType $FrontEnd $FrontEndSession $GeoEntityTypes $GeoLocation $GeoLocationCity $GeoLocationCountry $GeoLocationPrecision $GeoLocationSource $HistoryLength $HomeDirectory $HTMLExportRules $HTTPCookies $HTTPRequest $IgnoreEOF $ImageFormattingWidth $ImagingDevice $ImagingDevices $ImportFormats $IncomingMailSettings $InitialDirectory $Initialization $InitializationContexts $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $InterpreterTypes $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $LocalBase $LocalSymbolBase $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $MobilePhone $ModuleNumber $NetworkConnected $NetworkInterfaces $NetworkLicense $NewMessage $NewSymbol $Notebooks $NoValue $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $Permissions $PermissionsGroupBase $PersistenceBase $PersistencePath $PipeSupported $PlotTheme $Post $Pre $PreferencesDirectory $PreInitialization $PrePrint $PreRead $PrintForms $PrintLiteral $Printout3DPreviewer $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $PublisherID $RandomState $RecursionLimit $RegisteredDeviceClasses $RegisteredUserName $ReleaseNumber $RequesterAddress $RequesterWolframID $RequesterWolframUUID $ResourceSystemBase $RootDirectory $ScheduledTask $ScriptCommandLine $ScriptInputString $SecuredAuthenticationKeyTokens $ServiceCreditsAvailable $Services $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SourceLink $SSHAuthentication $SummaryBoxDataSizeLimit $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemMemory $SystemShell $SystemTimeZone $SystemWordLength $TemplatePath $TemporaryDirectory $TemporaryPrefix $TestFileName $TextStyle $TimedOut $TimeUnit $TimeZone $TimeZoneEntity $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $UnitSystem $Urgent $UserAddOnsDirectory $UserAgentLanguages $UserAgentMachine $UserAgentName $UserAgentOperatingSystem $UserAgentString $UserAgentVersion $UserBaseDirectory $UserDocumentsDirectory $Username $UserName $UserURLBase $Version $VersionNumber $VoiceStyles $WolframID $WolframUUID',c:[e.C('\\\\(\\\\*','\\\\*\\\\)',{c:['self']}),e.QSM,e.CNM]}}),r.registerLanguage('vim',function(e){return{l:/[!#@\\w]+/,k:{keyword:'N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu go gr grepa gu gv ha helpf helpg helpt hi hid his ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf quita qa rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank',built_in:'synIDtrans atan2 range matcharg did_filetype asin feedkeys xor argv complete_check add getwinposx getqflist getwinposy screencol clearmatches empty extend getcmdpos mzeval garbagecollect setreg ceil sqrt diff_hlID inputsecret get getfperm getpid filewritable shiftwidth max sinh isdirectory synID system inputrestore winline atan visualmode inputlist tabpagewinnr round getregtype mapcheck hasmapto histdel argidx findfile sha256 exists toupper getcmdline taglist string getmatches bufnr strftime winwidth bufexists strtrans tabpagebuflist setcmdpos remote_read printf setloclist getpos getline bufwinnr float2nr len getcmdtype diff_filler luaeval resolve libcallnr foldclosedend reverse filter has_key bufname str2float strlen setline getcharmod setbufvar index searchpos shellescape undofile foldclosed setqflist buflisted strchars str2nr virtcol floor remove undotree remote_expr winheight gettabwinvar reltime cursor tabpagenr finddir localtime acos getloclist search tanh matchend rename gettabvar strdisplaywidth type abs py3eval setwinvar tolower wildmenumode log10 spellsuggest bufloaded synconcealed nextnonblank server2client complete settabwinvar executable input wincol setmatches getftype hlID inputsave searchpair or screenrow line settabvar histadd deepcopy strpart remote_peek and eval getftime submatch screenchar winsaveview matchadd mkdir screenattr getfontname libcall reltimestr getfsize winnr invert pow getbufline byte2line soundfold repeat fnameescape tagfiles sin strwidth spellbadword trunc maparg log lispindent hostname setpos globpath remote_foreground getchar synIDattr fnamemodify cscope_connection stridx winbufnr indent min complete_add nr2char searchpairpos inputdialog values matchlist items hlexists strridx browsedir expand fmod pathshorten line2byte argc count getwinvar glob foldtextresult getreg foreground cosh matchdelete has char2nr simplify histget searchdecl iconv winrestcmd pumvisible writefile foldlevel haslocaldir keys cos matchstr foldtext histnr tan tempname getcwd byteidx getbufvar islocked escape eventhandler remote_send serverlist winrestview synstack pyeval prevnonblank readfile cindent filereadable changenr exp'},i:/;/,c:[e.NM,{cN:'string',b:'\\'',e:'\\'',i:'\\\\n'},{cN:'string',b:/\"(\\\\\"|\\n\\\\|[^\"\\n])*\"/},e.C('\"','$'),{cN:'variable',b:/[bwtglsav]:[\\w\\d_]*/},{cN:'function',bK:'function function!',e:'$',relevance:0,c:[e.TM,{cN:'params',b:'\\\\(',e:'\\\\)'}]},{cN:'symbol',b:/<[\\w-]+>/}]}}),r.registerLanguage('makefile',function(e){var t={cN:'variable',v:[{b:'\\\\$\\\\('+e.UIR+'\\\\)',c:[e.BE]},{b:/\\$[@%<?\\^\\+\\*]/}]},r={cN:'string',b:/\"/,e:/\"/,c:[e.BE,t]},a={cN:'variable',b:/\\$\\([\\w-]+\\s/,e:/\\)/,k:{built_in:'subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value'},c:[t]},i={b:'^'+e.UIR+'\\\\s*(?=[:+?]?=)'},n={cN:'section',b:/^[^\\s]+:/,e:/$/,c:[t]};return{aliases:['mk','mak'],k:'define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath',l:/[\\w-]+/,c:[e.HCM,t,r,a,i,{cN:'meta',b:/^\\.PHONY:/,e:/$/,k:{'meta-keyword':'.PHONY'},l:/[\\.\\w]+/},n]}}),r.registerLanguage('objectivec',function(e){var t=/[a-zA-Z@][a-zA-Z0-9_]*/,r='@interface @class @protocol @implementation';return{aliases:['mm','objc','obj-c'],k:{keyword:'int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN',literal:'false true FALSE TRUE nil YES NO NULL',built_in:'BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once'},l:t,i:'</',c:[{cN:'built_in',b:'\\\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\\\w+'},e.CLCM,e.CBCM,e.CNM,e.QSM,e.ASM,{cN:'string',v:[{b:'@\"',e:'\"',i:'\\\\n',c:[e.BE]}]},{cN:'meta',b:/#\\s*[a-z]+\\b/,e:/$/,k:{'meta-keyword':'if else elif endif define undef warning error line pragma ifdef ifndef include'},c:[{b:/\\\\\\n/,relevance:0},e.inherit(e.QSM,{cN:'meta-string'}),{cN:'meta-string',b:/<.*?>/,e:/$/,i:'\\\\n'},e.CLCM,e.CBCM]},{cN:'class',b:'('+r.split(' ').join('|')+')\\\\b',e:'({|$)',eE:!0,k:r,l:t,c:[e.UTM]},{b:'\\\\.'+e.UIR,relevance:0}]}}),r.registerLanguage('shell',function(e){return{aliases:['console'],c:[{cN:'meta',b:'^\\\\s{0,3}[/\\\\w\\\\d\\\\[\\\\]()@-]*[>%$#]',starts:{e:'$',sL:'bash'}}]}}),r.registerLanguage('erlang',function(e){var t='[a-z\\'][a-zA-Z0-9_\\']*',r='('+t+':'+t+'|'+t+')',a={keyword:'after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor',literal:'false true'},i=e.C('%','$'),n={cN:'number',b:'\\\\b(\\\\d+#[a-fA-F0-9]+|\\\\d+(\\\\.\\\\d+)?([eE][-+]?\\\\d+)?)',relevance:0},o={b:'fun\\\\s+'+t+'/\\\\d+'},s={b:r+'\\\\(',e:'\\\\)',rB:!0,relevance:0,c:[{b:r,relevance:0},{b:'\\\\(',e:'\\\\)',eW:!0,rE:!0,relevance:0}]},l={b:'{',e:'}',relevance:0},c={b:'\\\\b_([A-Z][A-Za-z0-9_]*)?',relevance:0},d={b:'[A-Z][a-zA-Z0-9_]*',relevance:0},u={b:'#'+e.UIR,relevance:0,rB:!0,c:[{b:'#'+e.UIR,relevance:0},{b:'{',e:'}',relevance:0}]},r={bK:'fun receive if try case',e:'end',k:a};r.c=[i,o,e.inherit(e.ASM,{cN:''}),r,s,e.QSM,n,l,c,d,u];r=[i,o,r,s,e.QSM,n,l,c,d,u];s.c[1].c=r,l.c=r;s={cN:'params',b:'\\\\(',e:'\\\\)',c:u.c[1].c=r};return{aliases:['erl'],k:a,i:'(</|\\\\*=|\\\\+=|-=|/\\\\*|\\\\*/|\\\\(\\\\*|\\\\*\\\\))',c:[{cN:'function',b:'^'+t+'\\\\s*\\\\(',e:'->',rB:!0,i:'\\\\(|#|//|/\\\\*|\\\\\\\\|:|;',c:[s,e.inherit(e.TM,{b:t})],starts:{e:';|\\\\.',k:a,c:r}},i,{b:'^-',e:'\\\\.',relevance:0,eE:!0,rB:!0,l:'-'+e.IR,k:'-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior -spec',c:[s]},n,e.QSM,u,c,d,l,{b:/\\.$/}]}}),r.registerLanguage('powershell',function(e){var t={keyword:'if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter'},r={b:'`[\\\\s\\\\S]',relevance:0},a={cN:'variable',v:[{b:/\\$\\B/},{cN:'keyword',b:/\\$this/},{b:/\\$[\\w\\d][\\w\\d_:]*/}]},i={cN:'string',v:[{b:/\"/,e:/\"/},{b:/@\"/,e:/^\"@/}],c:[r,a,{cN:'variable',b:/\\$[A-z]/,e:/[^A-z]/}]},n={cN:'string',v:[{b:/'/,e:/'/},{b:/@'/,e:/^'@/}]},o=e.inherit(e.C(null,null),{v:[{b:/#/,e:/$/},{b:/<#/,e:/#>/}],c:[{cN:'doctag',v:[{b:/\\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{b:/\\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\\s+\\S+/}]}]}),s={cN:'built_in',v:[{b:'('.concat('Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|New|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Complete|Confirm|Deny|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where',')+(-)[\\\\w\\\\d]+')}]},l={cN:'class',bK:'class enum',e:/\\s*[{]/,eE:!0,relevance:0,c:[e.TM]},c={cN:'function',b:/function\\s+/,e:/\\s*\\{|$/,eE:!0,rB:!0,relevance:0,c:[{b:'function',relevance:0,cN:'keyword'},{cN:'title',b:/\\w[\\w\\d]*((-)[\\w\\d]+)*/,relevance:0},{b:/\\(/,e:/\\)/,cN:'params',relevance:0,c:[a]}]},d={b:/using\\s/,e:/$/,rB:!0,c:[i,n,{cN:'keyword',b:/(using|assembly|command|module|namespace|type)/}]},u={v:[{cN:'operator',b:'('.concat('-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor',')\\\\b')},{cN:'literal',b:/(-)[\\w\\d]+/,relevance:0}]},p={cN:'function',b:/\\[.*\\]\\s*[\\w]+[ ]??\\(/,e:/$/,rB:!0,relevance:0,c:[{cN:'keyword',b:'('.concat(t.keyword.toString().replace(/\\s/g,'|'),')\\\\b'),endsParent:!0,relevance:0},e.inherit(e.TM,{endsParent:!0})]},s=[p,o,r,e.NM,i,n,s,a,{cN:'literal',b:/\\$(null|true|false)\\b/},{cN:'selector-tag',b:/\\@\\B/,relevance:0}],a={b:/\\[/,e:/\\]/,eB:!0,eE:!0,relevance:0,c:[].concat('self',s,{b:'('+['string','char','byte','int','long','bool','decimal','single','double','DateTime','xml','array','hashtable','void'].join('|')+')',cN:'built_in',relevance:0},{cN:'type',b:/[\\.\\w\\d]+/,relevance:0})};return p.c.unshift(a),{aliases:['ps','ps1'],l:/-?[A-z\\.\\-]+/,cI:!0,k:t,c:s.concat(l,c,d,u,a)}}),r.registerLanguage('typescript',function(e){var t='[A-Za-z$_][0-9A-Za-z$_]*',r={keyword:'in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private protected get set super static implements enum export import declare type namespace abstract as from extends async await',literal:'true false null undefined NaN Infinity',built_in:'eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void Promise'},a={cN:'meta',b:'@'+t},i={b:'\\\\(',e:/\\)/,k:r,c:['self',e.QSM,e.ASM,e.NM]},n={cN:'params',b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:r,c:[e.CLCM,e.CBCM,a,i]},o={cN:'number',v:[{b:'\\\\b(0[bB][01]+)n?'},{b:'\\\\b(0[oO][0-7]+)n?'},{b:e.CNR+'n?'}],relevance:0},s={cN:'subst',b:'\\\\$\\\\{',e:'\\\\}',k:r,c:[]},l={b:'html`',e:'',starts:{e:'`',rE:!1,c:[e.BE,s],sL:'xml'}},c={b:'css`',e:'',starts:{e:'`',rE:!1,c:[e.BE,s],sL:'css'}},d={cN:'string',b:'`',e:'`',c:[e.BE,s]};return s.c=[e.ASM,e.QSM,l,c,d,o,e.RM],{aliases:['ts'],k:r,c:[{cN:'meta',b:/^\\s*['\"]use strict['\"]/},e.ASM,e.QSM,l,c,d,e.CLCM,e.CBCM,o,{b:'('+e.RSR+'|\\\\b(case|return|throw)\\\\b)\\\\s*',k:'return throw case',c:[e.CLCM,e.CBCM,e.RM,{cN:'function',b:'(\\\\(.*?\\\\)|'+e.IR+')\\\\s*=>',rB:!0,e:'\\\\s*=>',c:[{cN:'params',v:[{b:e.IR},{b:/\\(\\s*\\)/},{b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:r,c:['self',e.CLCM,e.CBCM]}]}]}],relevance:0},{cN:'function',bK:'function',e:/[\\{;]/,eE:!0,k:r,c:['self',e.inherit(e.TM,{b:t}),n],i:/%/,relevance:0},{bK:'constructor',e:/[\\{;]/,eE:!0,c:['self',n]},{b:/module\\./,k:{built_in:'module'},relevance:0},{bK:'module',e:/\\{/,eE:!0},{bK:'interface',e:/\\{/,eE:!0,k:'interface extends'},{b:/\\$[(.]/},{b:'\\\\.'+e.IR,relevance:0},a,i]}}),r.registerLanguage('fortran',function(e){return{cI:!0,aliases:['f90','f95'],k:{literal:'.False. .True.',keyword:'kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then block endblock public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data',built_in:'alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image'},i:/\\/\\*/,c:[e.inherit(e.ASM,{cN:'string',relevance:0}),e.inherit(e.QSM,{cN:'string',relevance:0}),{cN:'function',bK:'subroutine function program',i:'[${=\\\\n]',c:[e.UTM,{cN:'params',b:'\\\\(',e:'\\\\)'}]},e.C('!','$',{relevance:0}),{cN:'number',b:'(?=\\\\b|\\\\+|\\\\-|\\\\.)(?=\\\\.\\\\d|\\\\d)(?:\\\\d+)?(?:\\\\.?\\\\d*)(?:[de][+-]?\\\\d+)?\\\\b\\\\.?',relevance:0}]}}),r.registerLanguage('php',function(e){var t={b:'\\\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*'},r={cN:'meta',b:/<\\?(php)?|\\?>/},a={cN:'string',c:[e.BE,r],v:[{b:'b\"',e:'\"'},{b:'b\\'',e:'\\''},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},i={v:[e.BNM,e.CNM]};return{aliases:['php','php3','php4','php5','php6','php7'],cI:!0,k:'and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally',c:[e.HCM,e.C('//','$',{c:[r]}),e.C('/\\\\*','\\\\*/',{c:[{cN:'doctag',b:'@[A-Za-z]+'}]}),e.C('__halt_compiler.+?;',!1,{eW:!0,k:'__halt_compiler',l:e.UIR}),{cN:'string',b:/<<<['\"]?\\w+['\"]?$/,e:/^\\w+;?$/,c:[e.BE,{cN:'subst',v:[{b:/\\$\\w+/},{b:/\\{\\$/,e:/\\}/}]}]},r,{cN:'keyword',b:/\\$this\\b/},t,{b:/(::|->)+[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/},{cN:'function',bK:'function',e:/[;{]/,eE:!0,i:'\\\\$|\\\\[|%',c:[e.UTM,{cN:'params',b:'\\\\(',e:'\\\\)',c:['self',t,e.CBCM,a,i]}]},{cN:'class',bK:'class interface',e:'{',eE:!0,i:/[:\\(\\$\"]/,c:[{bK:'extends implements'},e.UTM]},{bK:'namespace',e:';',i:/[\\.']/,c:[e.UTM]},{bK:'use',e:';',c:[e.UTM]},{b:'=>'},a,i]}}),r.registerLanguage('haskell',function(e){var t={v:[e.C('--','$'),e.C('{-','-}',{c:['self']})]},r={cN:'meta',b:'{-#',e:'#-}'},a={cN:'meta',b:'^#',e:'$'},i={cN:'type',b:'\\\\b[A-Z][\\\\w\\']*',relevance:0},n={b:'\\\\(',e:'\\\\)',i:'\"',c:[r,a,{cN:'type',b:'\\\\b[A-Z][\\\\w]*(\\\\((\\\\.\\\\.|,|\\\\w+)\\\\))?'},e.inherit(e.TM,{b:'[_a-z][\\\\w\\']*'}),t]};return{aliases:['hs'],k:'let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec',c:[{bK:'module',e:'where',k:'module where',c:[n,t],i:'\\\\W\\\\.|;'},{b:'\\\\bimport\\\\b',e:'$',k:'import qualified as hiding',c:[n,t],i:'\\\\W\\\\.|;'},{cN:'class',b:'^(\\\\s*)?(class|instance)\\\\b',e:'where',k:'class family instance where',c:[i,n,t]},{cN:'class',b:'\\\\b(data|(new)?type)\\\\b',e:'$',k:'data family type newtype deriving',c:[r,i,n,{b:'{',e:'}',c:n.c},t]},{bK:'default',e:'$',c:[i,n,t]},{bK:'infix infixl infixr',e:'$',c:[e.CNM,t]},{b:'\\\\bforeign\\\\b',e:'$',k:'foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe',c:[i,e.QSM,t]},{cN:'meta',b:'#!\\\\/usr\\\\/bin\\\\/env runhaskell',e:'$'},r,a,e.QSM,e.CNM,i,e.inherit(e.TM,{b:'^[_a-z][\\\\w\\']*'}),t,{b:'->|<-'}]}}),r.registerLanguage('coffeescript',function(e){var t={keyword:'in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not',literal:'true false null undefined yes no on off',built_in:'npm require console print module global window document'},r='[A-Za-z$_][0-9A-Za-z$_]*',a={cN:'subst',b:/#\\{/,e:/}/,k:t},i=[e.BNM,e.inherit(e.CNM,{starts:{e:'(\\\\s*/)?',relevance:0}}),{cN:'string',v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/\"\"\"/,e:/\"\"\"/,c:[e.BE,a]},{b:/\"/,e:/\"/,c:[e.BE,a]}]},{cN:'regexp',v:[{b:'///',e:'///',c:[a,e.HCM]},{b:'//[gim]{0,3}(?=\\\\W)',relevance:0},{b:/\\/(?![ *]).*?(?![\\\\]).\\/[gim]{0,3}(?=\\W)/}]},{b:'@'+r},{sL:'javascript',eB:!0,eE:!0,v:[{b:'```',e:'```'},{b:'`',e:'`'}]}];a.c=i;var n=e.inherit(e.TM,{b:r}),o='(\\\\(.*\\\\))?\\\\s*\\\\B[-=]>',a={cN:'params',b:'\\\\([^\\\\(]',rB:!0,c:[{b:/\\(/,e:/\\)/,k:t,c:['self'].concat(i)}]};return{aliases:['coffee','cson','iced'],k:t,i:/\\/\\*/,c:i.concat([e.C('###','###'),e.HCM,{cN:'function',b:'^\\\\s*'+r+'\\\\s*=\\\\s*'+o,e:'[-=]>',rB:!0,c:[n,a]},{b:/[:\\(,=]\\s*/,relevance:0,c:[{cN:'function',b:o,e:'[-=]>',rB:!0,c:[a]}]},{cN:'class',bK:'class',e:'$',i:/[:=\"\\[\\]]/,c:[{bK:'extends',eW:!0,i:/[:=\"\\[\\]]/,c:[n]},n]},{b:r+':',e:':',rB:!0,rE:!0,relevance:0}])}}),r.registerLanguage('r',function(e){var t='([a-zA-Z]|\\\\.[a-zA-Z.])[a-zA-Z0-9._]*';return{c:[e.HCM,{b:t,l:t,k:{keyword:'function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...',literal:'NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10'},relevance:0},{cN:'number',b:'0[xX][0-9a-fA-F]+[Li]?\\\\b',relevance:0},{cN:'number',b:'\\\\d+(?:[eE][+\\\\-]?\\\\d*)?L\\\\b',relevance:0},{cN:'number',b:'\\\\d+\\\\.(?!\\\\d)(?:i\\\\b)?',relevance:0},{cN:'number',b:'\\\\d+(?:\\\\.\\\\d*)?(?:[eE][+\\\\-]?\\\\d*)?i?\\\\b',relevance:0},{cN:'number',b:'\\\\.\\\\d+(?:[eE][+\\\\-]?\\\\d*)?i?\\\\b',relevance:0},{b:'`',e:'`',relevance:0},{cN:'string',c:[e.BE],v:[{b:'\"',e:'\"'},{b:'\\'',e:'\\''}]}]}}),r.registerLanguage('autohotkey',function(e){var t={b:'`[\\\\s\\\\S]'};return{cI:!0,aliases:['ahk'],k:{keyword:'Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group',literal:'true false NOT AND OR',built_in:'ComSpec Clipboard ClipboardAll ErrorLevel'},c:[t,e.inherit(e.QSM,{c:[t]}),e.C(';','$',{relevance:0}),e.CBCM,{cN:'number',b:e.NR,relevance:0},{cN:'variable',b:'%[a-zA-Z0-9#_$@]+%'},{cN:'built_in',b:'^\\\\s*\\\\w+\\\\s*(,|%)'},{cN:'title',v:[{b:'^[^\\\\n\";]+::(?!=)'},{b:'^[^\\\\n\";]+:(?!=)',relevance:0}]},{cN:'meta',b:'^\\\\s*#\\\\w+',e:'$',relevance:0},{cN:'built_in',b:'A_[a-zA-Z0-9]+'},{b:',\\\\s*,'}]}}),r.registerLanguage('elixir',function(e){var t='[a-zA-Z_][a-zA-Z0-9_.]*(\\\\!|\\\\?)?',r='and false then defined module in return redo retry end for true self when next until do begin unless nil break not case cond alias while ensure or include use alias fn quote require import with|0',a={cN:'subst',b:'#\\\\{',e:'}',l:t,k:r},i='[/|([{<\"\\']',n={cN:'string',b:'~[a-z](?='+i+')',c:[{endsParent:!0,c:[{c:[e.BE,a],v:[{b:/\"/,e:/\"/},{b:/'/,e:/'/},{b:/\\//,e:/\\//},{b:/\\|/,e:/\\|/},{b:/\\(/,e:/\\)/},{b:/\\[/,e:/\\]/},{b:/\\{/,e:/\\}/},{b:/</,e:/>/}]}]}]},o={cN:'string',b:'~[A-Z](?='+i+')',c:[{b:/\"/,e:/\"/},{b:/'/,e:/'/},{b:/\\//,e:/\\//},{b:/\\|/,e:/\\|/},{b:/\\(/,e:/\\)/},{b:/\\[/,e:/\\]/},{b:/\\{/,e:/\\}/},{b:/\\</,e:/\\>/}]},s={cN:'string',c:[e.BE,a],v:[{b:/\"\"\"/,e:/\"\"\"/},{b:/'''/,e:/'''/},{b:/~S\"\"\"/,e:/\"\"\"/,c:[]},{b:/~S\"/,e:/\"/,c:[]},{b:/~S'''/,e:/'''/,c:[]},{b:/~S'/,e:/'/,c:[]},{b:/'/,e:/'/},{b:/\"/,e:/\"/}]},l={cN:'function',bK:'def defp defmacro',e:/\\B\\b/,c:[e.inherit(e.TM,{b:t,endsParent:!0})]},i=e.inherit(l,{cN:'class',bK:'defimpl defmodule defprotocol defrecord',e:/\\bdo\\b|$|;/}),e=[s,o,n,e.HCM,i,l,{b:'::'},{cN:'symbol',b:':(?![\\\\s:])',c:[s,{b:'[a-zA-Z_]\\\\w*[!?=]?|[-+~]\\\\@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?'}],relevance:0},{cN:'symbol',b:t+':(?!:)',relevance:0},{cN:'number',b:'(\\\\b0o[0-7_]+)|(\\\\b0b[01_]+)|(\\\\b0x[0-9a-fA-F_]+)|(-?\\\\b[1-9][0-9_]*(.[0-9_]+([eE][-+]?[0-9]+)?)?)',relevance:0},{cN:'variable',b:'(\\\\$\\\\W)|((\\\\$|\\\\@\\\\@?)(\\\\w+))'},{b:'->'},{b:'('+e.RSR+')\\\\s*',c:[e.HCM,{cN:'regexp',i:'\\\\n',c:[e.BE,a],v:[{b:'/',e:'/[a-z]*'},{b:'%r\\\\[',e:'\\\\][a-z]*'}]}],relevance:0}];return{l:t,k:r,c:a.c=e}}),r.registerLanguage('gradle',function(e){return{cI:!0,k:{keyword:'task project allprojects subprojects artifacts buildscript configurations dependencies repositories sourceSets description delete from into include exclude source classpath destinationDir includes options sourceCompatibility targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant def abstract break case catch continue default do else extends final finally for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package import false null super this true antlrtask checkstyle codenarc copy boolean byte char class double float int interface long short void compile runTime file fileTree abs any append asList asWritable call collect compareTo count div dump each eachByte eachFile eachLine every find findAll flatten getAt getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter newReader newWriter next plus pop power previous print println push putAt read readBytes readLines reverse reverseEach round size sort splitEachLine step subMap times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader withStream withWriter withWriterAppend write writeLine'},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.NM,e.RM]}}),r.registerLanguage('css',function(e){var t={b:/(?:[A-Z\\_\\.\\-]+|--[a-zA-Z0-9_-]+)\\s*:/,rB:!0,e:';',eW:!0,c:[{cN:'attribute',b:/\\S/,e:':',eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\\w-]+\\(/,rB:!0,c:[{cN:'built_in',b:/[\\w-]+/},{b:/\\(/,e:/\\)/,c:[e.ASM,e.QSM,e.CSSNM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:'number',b:'#[0-9A-Fa-f]+'},{cN:'meta',b:'!important'}]}}]};return{cI:!0,i:/[=\\/|'\\$]/,c:[e.CBCM,{cN:'selector-id',b:/#[A-Za-z0-9_-]+/},{cN:'selector-class',b:/\\.[A-Za-z0-9_-]+/},{cN:'selector-attr',b:/\\[/,e:/\\]/,i:'$',c:[e.ASM,e.QSM]},{cN:'selector-pseudo',b:/:(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\"'.]+/},{b:'@(page|font-face)',l:'@[a-z-]+',k:'@page @font-face'},{b:'@',e:'[{;]',i:/:/,rB:!0,c:[{cN:'keyword',b:/@\\-?\\w[\\w]*(\\-\\w+)*/},{b:/\\s/,eW:!0,eE:!0,relevance:0,k:'and or not only',c:[{b:/[a-z-]+:/,cN:'attribute'},e.ASM,e.QSM,e.CSSNM]}]},{cN:'selector-tag',b:'[a-zA-Z-][a-zA-Z0-9_-]*',relevance:0},{b:'{',e:'}',i:/\\S/,c:[e.CBCM,t]}]}}),exports.hljs=r;","type":"application/javascript","module-type":"library"},"$:/plugins/tiddlywiki/highlight/highlight.css":{"text":"/*\n\nOriginal highlight.js style (c) Ivan Sagalaev <maniac@softwaremaniacs.org>\n\n*/\n\n.hljs {\n display: block;\n overflow-x: auto;\n padding: 0.5em;\n background: #F0F0F0;\n}\n\n\n/* Base color: saturation 0; */\n\n.hljs,\n.hljs-subst {\n color: #444;\n}\n\n.hljs-comment {\n color: #888888;\n}\n\n.hljs-keyword,\n.hljs-attribute,\n.hljs-selector-tag,\n.hljs-meta-keyword,\n.hljs-doctag,\n.hljs-name {\n font-weight: bold;\n}\n\n\n/* User color: hue: 0 */\n\n.hljs-type,\n.hljs-string,\n.hljs-number,\n.hljs-selector-id,\n.hljs-selector-class,\n.hljs-quote,\n.hljs-template-tag,\n.hljs-deletion {\n color: #880000;\n}\n\n.hljs-title,\n.hljs-section {\n color: #880000;\n font-weight: bold;\n}\n\n.hljs-regexp,\n.hljs-symbol,\n.hljs-variable,\n.hljs-template-variable,\n.hljs-link,\n.hljs-selector-attr,\n.hljs-selector-pseudo {\n color: #BC6060;\n}\n\n\n/* Language color: hue: 90; */\n\n.hljs-literal {\n color: #78A960;\n}\n\n.hljs-built_in,\n.hljs-bullet,\n.hljs-code,\n.hljs-addition {\n color: #397300;\n}\n\n\n/* Meta color: hue: 200 */\n\n.hljs-meta {\n color: #1f7199;\n}\n\n.hljs-meta-string {\n color: #4d99bf;\n}\n\n\n/* Misc effects */\n\n.hljs-emphasis {\n font-style: italic;\n}\n\n.hljs-strong {\n font-weight: bold;\n}\n","type":"text/css","tags":"[[$:/tags/Stylesheet]]"},"$:/plugins/tiddlywiki/highlight/highlightblock.js":{"text":"!function(){'use strict';var i=require('$:/core/modules/widgets/codeblock.js').codeblock,l=require('$:/plugins/tiddlywiki/highlight/highlight.js');l.configure({tabReplace:' '}),i.prototype.postRender=function(){var i=this.domNodes[0],e=this.language,t=this.wiki.getTiddler('$:/config/HighlightPlugin/TypeMappings/'+e);t&&(e=t.fields.text||''),e&&l.getLanguage(e)&&(i.className=e.toLowerCase()+' hljs',$tw.browser&&!i.isTiddlyWikiFakeDom?l.highlightBlock(i):(t=i.textContent,i.children[0].innerHTML=l.fixMarkup(l.highlight(e,t).value),i.isTiddlyWikiFakeDom&&(i.children[0].textInnerHTML=t)))}}();","type":"application/javascript","module-type":"widget"},"$:/plugins/tiddlywiki/highlight/howto":{"text":"! Supporting Additional Languages\n \nThe [[highlight.js|https://github.com/highlightjs/highlight.js]] project supports many languages. Only a subset of these languages are supported by the plugin. It is possible for users to change the set of languages supported by the plugin by following these steps:\n \n# Go to the highlight.js project [[download page|https://highlightjs.org/download/]], select the language definitions to include, and press the Download button to download a zip archive containing customised support files for a highlight.js syntax highlighting server.\n# Locate the `highlight.pack.js` file in the highlight plugin -- on a stock Debian 8 system running Tiddlywiki5 under node-js it is located at `/usr/local/lib/node_modules/tiddlywiki/plugins/tiddlywiki/highlight/files/highlight.pack.js`.\n# Replace the plugin `highlight.pack.js` file located in step 2 with the one from the downloaded archive obtained in step 1.\n# Restart the Tiddlywiki server.\n"},"$:/plugins/tiddlywiki/highlight/license":{"type":"text/plain","text":"Copyright (c) 2006, Ivan Sagalaev\nAll rights reserved.\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n * Neither the name of highlight.js nor the names of its contributors\n may be used to endorse or promote products derived from this software\n without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"},"$:/plugins/tiddlywiki/highlight/readme":{"text":"This plugin provides syntax highlighting of code blocks using v9.18.1 of [[highlight.js|https://github.com/isagalaev/highlight.js]] from Ivan Sagalaev.\n\n! Usage\n\nWhen the plugin is installed it automatically applies highlighting to all codeblocks defined with triple backticks or with the CodeBlockWidget.\n\nThe language can optionally be specified after the opening triple braces:\n\n<$codeblock code=\"\"\"```css\n * { margin: 0; padding: 0; } /* micro reset */\n\nhtml { font-size: 62.5%; }\nbody { font-size: 14px; font-size: 1.4rem; } /* =14px */\nh1 { font-size: 24px; font-size: 2.4rem; } /* =24px */\n```\"\"\"/>\n\nIf no language is specified highlight.js will attempt to automatically detect the language.\n\n! Built-in Language Brushes\n\nThe plugin includes support for the following languages (referred to as \"brushes\" by highlight.js):\n\n* apache\n* arduino\n* arm assembly\n* asciidoc\n* autohotkey\n* awk\n* bash\n* cmake\n* coffeescript\n* cpp\n* cs\n* css\n* diff\n* dockerfile\n* erlang\n* elixir\n* fortran\n* go\n* gradle\n* haskell\n* html\n* http\n* ini\n* intel x86 assembly\n* java\n* javascript\n* json\n* kotlin\n* less\n* lua\n* makefile\n* markdown\n* mathematica\n* matlab\n* nginx\n* objectivec\n* perl\n* php\n* plaintext\n* powershell\n* properties\n* python\n* R\n* ruby\n* rust\n* scss\n* shell session\n* sql\n* swift\n* toml\n* typescript\n* vala\n* vim script\n* xml\n* yaml\n\nYou can also specify the language as a MIME content type (eg `text/html` or `text/css`). The mapping is accomplished via mapping tiddlers whose titles start with `$:/config/HighlightPlugin/TypeMappings/`.\n"},"$:/plugins/tiddlywiki/highlight/styles":{"tags":"[[$:/tags/Stylesheet]]","text":".hljs {\n display: block;\n overflow-x: auto;\n padding: 0.5em;\n background: <<colour tiddler-editor-background>>;\n color: <<colour foreground>>;\n -webkit-text-size-adjust:none\n}\n\n.hljs-comment,\n.hljs-quote {\n color: #93a1a1;\n}\n\n/* Solarized Green */\n.hljs-keyword,\n.hljs-selector-tag,\n.hljs-addition {\n color: #859900;\n}\n\n/* Solarized Cyan */\n.hljs-number,\n.hljs-string,\n.hljs-meta .hljs-meta-string,\n.hljs-literal,\n.hljs-doctag,\n.hljs-regexp {\n color: #2aa198;\n}\n\n/* Solarized Blue */\n.hljs-title,\n.hljs-section,\n.hljs-name,\n.hljs-selector-id,\n.hljs-selector-class {\n color: #268bd2;\n}\n\n/* Solarized Yellow */\n.hljs-attribute,\n.hljs-attr,\n.hljs-variable,\n.hljs-template-variable,\n.hljs-class .hljs-title,\n.hljs-type {\n color: #b58900;\n}\n\n/* Solarized Orange */\n.hljs-symbol,\n.hljs-bullet,\n.hljs-subst,\n.hljs-meta,\n.hljs-meta .hljs-keyword,\n.hljs-selector-attr,\n.hljs-selector-pseudo,\n.hljs-link {\n color: #cb4b16;\n}\n\n/* Solarized Red */\n.hljs-built_in,\n.hljs-deletion {\n color: #dc322f;\n}\n\n.hljs-formula {\n background: #eee8d5;\n}\n\n.hljs-emphasis {\n font-style: italic;\n}\n\n.hljs-strong {\n font-weight: bold;\n}\n"},"$:/plugins/tiddlywiki/highlight/usage":{"text":"! Usage\n\nFenced code blocks can have a language specifier added to trigger highlighting in a specific language. Otherwise heuristics are used to detect the language.\n\n```\n ```js\n var a = b + c; // Highlighted as JavaScript\n ```\n```\n! Adding Themes\n\nYou can add themes from highlight.js by copying the CSS to a new tiddler and tagging it with [[$:/tags/Stylesheet]]. The available themes can be found on GitHub:\n\nhttps://github.com/isagalaev/highlight.js/tree/master/src/styles\n"}}}
{"tiddlers":{"$:/plugins/tiddlywiki/markdown/EditorToolbar/bold":{"list-after":"$:/core/ui/EditorToolbar/bold","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/bold","caption":"{{$:/language/Buttons/Bold/Caption}} (Markdown)","description":"{{$:/language/Buttons/Bold/Hint}}","condition":"[<targetTiddler>type[text/x-markdown]]","shortcuts":"((bold))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"**\"\n\tsuffix=\"**\"\n/>\n"},"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-1":{"list-after":"$:/core/ui/EditorToolbar/heading-1","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-1","caption":"{{$:/language/Buttons/Heading1/Caption}} (Markdown)","description":"{{$:/language/Buttons/Heading1/Hint}}","condition":"[<targetTiddler>type[text/x-markdown]]","shortcuts":"((heading-1))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n"},"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-2":{"list-after":"$:/core/ui/EditorToolbar/heading-2","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-2","caption":"{{$:/language/Buttons/Heading2/Caption}} (Markdown)","description":"{{$:/language/Buttons/Heading2/Hint}}","condition":"[<targetTiddler>type[text/x-markdown]]","shortcuts":"((heading-2))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"2\"\n/>\n"},"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-3":{"list-after":"$:/core/ui/EditorToolbar/heading-3","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-3","caption":"{{$:/language/Buttons/Heading3/Caption}} (Markdown)","description":"{{$:/language/Buttons/Heading3/Hint}}","condition":"[<targetTiddler>type[text/x-markdown]]","shortcuts":"((heading-3))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"3\"\n/>\n"},"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-4":{"list-after":"$:/core/ui/EditorToolbar/heading-4","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-4","caption":"{{$:/language/Buttons/Heading4/Caption}} (Markdown)","description":"{{$:/language/Buttons/Heading4/Hint}}","condition":"[<targetTiddler>type[text/x-markdown]]","shortcuts":"((heading-4))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"4\"\n/>\n"},"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-5":{"list-after":"$:/core/ui/EditorToolbar/heading-5","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-5","caption":"{{$:/language/Buttons/Heading5/Caption}} (Markdown)","description":"{{$:/language/Buttons/Heading5/Hint}}","condition":"[<targetTiddler>type[text/x-markdown]]","shortcuts":"((heading-5))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"5\"\n/>\n"},"$:/plugins/tiddlywiki/markdown/EditorToolbar/heading-6":{"list-after":"$:/core/ui/EditorToolbar/heading-6","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-6","caption":"{{$:/language/Buttons/Heading6/Caption}} (Markdown)","description":"{{$:/language/Buttons/Heading6/Hint}}","condition":"[<targetTiddler>type[text/x-markdown]]","shortcuts":"((heading-6))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"6\"\n/>\n"},"$:/plugins/tiddlywiki/markdown/EditorToolbar/italic":{"list-after":"$:/core/ui/EditorToolbar/italic","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/italic","caption":"{{$:/language/Buttons/Italic/Caption}} (Markdown)","description":"{{$:/language/Buttons/Italic/Hint}}","condition":"[<targetTiddler>type[text/x-markdown]]","shortcuts":"((italic))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"*\"\n\tsuffix=\"*\"\n/>\n"},"$:/plugins/tiddlywiki/markdown/EditorToolbar/list-bullet":{"list-after":"$:/core/ui/EditorToolbar/list-bullet","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/list-bullet","caption":"{{$:/language/Buttons/ListBullet/Caption}} (Markdown)","description":"{{$:/language/Buttons/ListBullet/Hint}}","condition":"[<targetTiddler>type[text/x-markdown]]","shortcuts":"((list-bullet))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n"},"$:/plugins/tiddlywiki/markdown/EditorToolbar/list-number":{"list-after":"$:/core/ui/EditorToolbar/list-number","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/list-number","caption":"{{$:/language/Buttons/ListNumber/Caption}} (Markdown)","description":"{{$:/language/Buttons/ListNumber/Hint}}","condition":"[<targetTiddler>type[text/x-markdown]]","shortcuts":"((list-number))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"1.\"\n\tcount=\"1\"\n/>\n"},"$:/plugins/tiddlywiki/markdown/EditorToolbar/mono-line":{"list-after":"$:/core/ui/EditorToolbar/mono-line","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/mono-line","caption":"{{$:/language/Buttons/MonoLine/Caption}} (Markdown)","description":"{{$:/language/Buttons/MonoLine/Hint}}","condition":"[<targetTiddler>type[text/x-markdown]]","shortcuts":"((mono-line))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n/>\n"},"$:/plugins/tiddlywiki/markdown/EditorToolbar/quote":{"list-after":"$:/core/ui/EditorToolbar/quote","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/quote","caption":"{{$:/language/Buttons/Quote/Caption}} (Markdown)","description":"{{$:/language/Buttons/Quote/Hint}}","condition":"[<targetTiddler>type[text/x-markdown]]","shortcuts":"((quote))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\">\"\n\tcount=\"1\"\n/>\n"},"$:/config/markdown/breaks":{"text":"false"},"$:/config/markdown/linkNewWindow":{"text":"true"},"$:/config/markdown/linkify":{"text":"false"},"$:/config/markdown/quotes":{"text":"“”‘’"},"$:/config/markdown/renderWikiText":{"text":"true"},"$:/config/markdown/renderWikiTextPragma":{"text":"\\rules only html image macrocallinline syslink transcludeinline wikilink filteredtranscludeblock macrocallblock transcludeblock"},"$:/config/markdown/typographer":{"text":"false"},"$:/language/Docs/Types/text/x-markdown":{"description":"Markdown","name":"text/x-markdown","group":"Text"},"$:/plugins/tiddlywiki/markdown/remarkable.js":{"text":"var e,t;e=this,t=function(e){'use strict';var t={Aacute:'Á',aacute:'á',Abreve:'Ă',abreve:'ă',ac:'∾',acd:'∿',acE:'∾̳',Acirc:'Â',acirc:'â',acute:'´',Acy:'А',acy:'а',AElig:'Æ',aelig:'æ',af:'',Afr:'𝔄',afr:'𝔞',Agrave:'À',agrave:'à',alefsym:'ℵ',aleph:'ℵ',Alpha:'Α',alpha:'α',Amacr:'Ā',amacr:'ā',amalg:'⨿',AMP:'&',amp:'&',And:'⩓',and:'∧',andand:'⩕',andd:'⩜',andslope:'⩘',andv:'⩚',ang:'∠',ange:'⦤',angle:'∠',angmsd:'∡',angmsdaa:'⦨',angmsdab:'⦩',angmsdac:'⦪',angmsdad:'⦫',angmsdae:'⦬',angmsdaf:'⦭',angmsdag:'⦮',angmsdah:'⦯',angrt:'∟',angrtvb:'⊾',angrtvbd:'⦝',angsph:'∢',angst:'Å',angzarr:'⍼',Aogon:'Ą',aogon:'ą',Aopf:'𝔸',aopf:'𝕒',ap:'≈',apacir:'⩯',apE:'⩰',ape:'≊',apid:'≋',apos:'\\'',ApplyFunction:'',approx:'≈',approxeq:'≊',Aring:'Å',aring:'å',Ascr:'𝒜',ascr:'𝒶',Assign:'≔',ast:'*',asymp:'≈',asympeq:'≍',Atilde:'Ã',atilde:'ã',Auml:'Ä',auml:'ä',awconint:'∳',awint:'⨑',backcong:'≌',backepsilon:'϶',backprime:'‵',backsim:'∽',backsimeq:'⋍',Backslash:'∖',Barv:'⫧',barvee:'⊽',Barwed:'⌆',barwed:'⌅',barwedge:'⌅',bbrk:'⎵',bbrktbrk:'⎶',bcong:'≌',Bcy:'Б',bcy:'б',bdquo:'„',becaus:'∵',Because:'∵',because:'∵',bemptyv:'⦰',bepsi:'϶',bernou:'ℬ',Bernoullis:'ℬ',Beta:'Β',beta:'β',beth:'ℶ',between:'≬',Bfr:'𝔅',bfr:'𝔟',bigcap:'⋂',bigcirc:'◯',bigcup:'⋃',bigodot:'⨀',bigoplus:'⨁',bigotimes:'⨂',bigsqcup:'⨆',bigstar:'★',bigtriangledown:'▽',bigtriangleup:'△',biguplus:'⨄',bigvee:'⋁',bigwedge:'⋀',bkarow:'⤍',blacklozenge:'⧫',blacksquare:'▪',blacktriangle:'▴',blacktriangledown:'▾',blacktriangleleft:'◂',blacktriangleright:'▸',blank:'␣',blk12:'▒',blk14:'░',blk34:'▓',block:'█',bne:'=⃥',bnequiv:'≡⃥',bNot:'⫭',bnot:'⌐',Bopf:'𝔹',bopf:'𝕓',bot:'⊥',bottom:'⊥',bowtie:'⋈',boxbox:'⧉',boxDL:'╗',boxDl:'╖',boxdL:'╕',boxdl:'┐',boxDR:'╔',boxDr:'╓',boxdR:'╒',boxdr:'┌',boxH:'═',boxh:'─',boxHD:'╦',boxHd:'╤',boxhD:'╥',boxhd:'┬',boxHU:'╩',boxHu:'╧',boxhU:'╨',boxhu:'┴',boxminus:'⊟',boxplus:'⊞',boxtimes:'⊠',boxUL:'╝',boxUl:'╜',boxuL:'╛',boxul:'┘',boxUR:'╚',boxUr:'╙',boxuR:'╘',boxur:'└',boxV:'║',boxv:'│',boxVH:'╬',boxVh:'╫',boxvH:'╪',boxvh:'┼',boxVL:'╣',boxVl:'╢',boxvL:'╡',boxvl:'┤',boxVR:'╠',boxVr:'╟',boxvR:'╞',boxvr:'├',bprime:'‵',Breve:'˘',breve:'˘',brvbar:'¦',Bscr:'ℬ',bscr:'𝒷',bsemi:'⁏',bsim:'∽',bsime:'⋍',bsol:'\\\\',bsolb:'⧅',bsolhsub:'⟈',bull:'•',bullet:'•',bump:'≎',bumpE:'⪮',bumpe:'≏',Bumpeq:'≎',bumpeq:'≏',Cacute:'Ć',cacute:'ć',Cap:'⋒',cap:'∩',capand:'⩄',capbrcup:'⩉',capcap:'⩋',capcup:'⩇',capdot:'⩀',CapitalDifferentialD:'ⅅ',caps:'∩︀',caret:'⁁',caron:'ˇ',Cayleys:'ℭ',ccaps:'⩍',Ccaron:'Č',ccaron:'č',Ccedil:'Ç',ccedil:'ç',Ccirc:'Ĉ',ccirc:'ĉ',Cconint:'∰',ccups:'⩌',ccupssm:'⩐',Cdot:'Ċ',cdot:'ċ',cedil:'¸',Cedilla:'¸',cemptyv:'⦲',cent:'¢',CenterDot:'·',centerdot:'·',Cfr:'ℭ',cfr:'𝔠',CHcy:'Ч',chcy:'ч',check:'✓',checkmark:'✓',Chi:'Χ',chi:'χ',cir:'○',circ:'ˆ',circeq:'≗',circlearrowleft:'↺',circlearrowright:'↻',circledast:'⊛',circledcirc:'⊚',circleddash:'⊝',CircleDot:'⊙',circledR:'®',circledS:'Ⓢ',CircleMinus:'⊖',CirclePlus:'⊕',CircleTimes:'⊗',cirE:'⧃',cire:'≗',cirfnint:'⨐',cirmid:'⫯',cirscir:'⧂',ClockwiseContourIntegral:'∲',CloseCurlyDoubleQuote:'”',CloseCurlyQuote:'’',clubs:'♣',clubsuit:'♣',Colon:'∷',colon:':',Colone:'⩴',colone:'≔',coloneq:'≔',comma:',',commat:'@',comp:'∁',compfn:'∘',complement:'∁',complexes:'ℂ',cong:'≅',congdot:'⩭',Congruent:'≡',Conint:'∯',conint:'∮',ContourIntegral:'∮',Copf:'ℂ',copf:'𝕔',coprod:'∐',Coproduct:'∐',COPY:'©',copy:'©',copysr:'℗',CounterClockwiseContourIntegral:'∳',crarr:'↵',Cross:'⨯',cross:'✗',Cscr:'𝒞',cscr:'𝒸',csub:'⫏',csube:'⫑',csup:'⫐',csupe:'⫒',ctdot:'⋯',cudarrl:'⤸',cudarrr:'⤵',cuepr:'⋞',cuesc:'⋟',cularr:'↶',cularrp:'⤽',Cup:'⋓',cup:'∪',cupbrcap:'⩈',CupCap:'≍',cupcap:'⩆',cupcup:'⩊',cupdot:'⊍',cupor:'⩅',cups:'∪︀',curarr:'↷',curarrm:'⤼',curlyeqprec:'⋞',curlyeqsucc:'⋟',curlyvee:'⋎',curlywedge:'⋏',curren:'¤',curvearrowleft:'↶',curvearrowright:'↷',cuvee:'⋎',cuwed:'⋏',cwconint:'∲',cwint:'∱',cylcty:'⌭',Dagger:'‡',dagger:'†',daleth:'ℸ',Darr:'↡',dArr:'⇓',darr:'↓',dash:'‐',Dashv:'⫤',dashv:'⊣',dbkarow:'⤏',dblac:'˝',Dcaron:'Ď',dcaron:'ď',Dcy:'Д',dcy:'д',DD:'ⅅ',dd:'ⅆ',ddagger:'‡',ddarr:'⇊',DDotrahd:'⤑',ddotseq:'⩷',deg:'°',Del:'∇',Delta:'Δ',delta:'δ',demptyv:'⦱',dfisht:'⥿',Dfr:'𝔇',dfr:'𝔡',dHar:'⥥',dharl:'⇃',dharr:'⇂',DiacriticalAcute:'´',DiacriticalDot:'˙',DiacriticalDoubleAcute:'˝',DiacriticalGrave:'`',DiacriticalTilde:'˜',diam:'⋄',Diamond:'⋄',diamond:'⋄',diamondsuit:'♦',diams:'♦',die:'¨',DifferentialD:'ⅆ',digamma:'ϝ',disin:'⋲',div:'÷',divide:'÷',divideontimes:'⋇',divonx:'⋇',DJcy:'Ђ',djcy:'ђ',dlcorn:'⌞',dlcrop:'⌍',dollar:'$',Dopf:'𝔻',dopf:'𝕕',Dot:'¨',dot:'˙',DotDot:'⃜',doteq:'≐',doteqdot:'≑',DotEqual:'≐',dotminus:'∸',dotplus:'∔',dotsquare:'⊡',doublebarwedge:'⌆',DoubleContourIntegral:'∯',DoubleDot:'¨',DoubleDownArrow:'⇓',DoubleLeftArrow:'⇐',DoubleLeftRightArrow:'⇔',DoubleLeftTee:'⫤',DoubleLongLeftArrow:'⟸',DoubleLongLeftRightArrow:'⟺',DoubleLongRightArrow:'⟹',DoubleRightArrow:'⇒',DoubleRightTee:'⊨',DoubleUpArrow:'⇑',DoubleUpDownArrow:'⇕',DoubleVerticalBar:'∥',DownArrow:'↓',Downarrow:'⇓',downarrow:'↓',DownArrowBar:'⤓',DownArrowUpArrow:'⇵',DownBreve:'̑',downdownarrows:'⇊',downharpoonleft:'⇃',downharpoonright:'⇂',DownLeftRightVector:'⥐',DownLeftTeeVector:'⥞',DownLeftVector:'↽',DownLeftVectorBar:'⥖',DownRightTeeVector:'⥟',DownRightVector:'⇁',DownRightVectorBar:'⥗',DownTee:'⊤',DownTeeArrow:'↧',drbkarow:'⤐',drcorn:'⌟',drcrop:'⌌',Dscr:'𝒟',dscr:'𝒹',DScy:'Ѕ',dscy:'ѕ',dsol:'⧶',Dstrok:'Đ',dstrok:'đ',dtdot:'⋱',dtri:'▿',dtrif:'▾',duarr:'⇵',duhar:'⥯',dwangle:'⦦',DZcy:'Џ',dzcy:'џ',dzigrarr:'⟿',Eacute:'É',eacute:'é',easter:'⩮',Ecaron:'Ě',ecaron:'ě',ecir:'≖',Ecirc:'Ê',ecirc:'ê',ecolon:'≕',Ecy:'Э',ecy:'э',eDDot:'⩷',Edot:'Ė',eDot:'≑',edot:'ė',ee:'ⅇ',efDot:'≒',Efr:'𝔈',efr:'𝔢',eg:'⪚',Egrave:'È',egrave:'è',egs:'⪖',egsdot:'⪘',el:'⪙',Element:'∈',elinters:'⏧',ell:'ℓ',els:'⪕',elsdot:'⪗',Emacr:'Ē',emacr:'ē',empty:'∅',emptyset:'∅',EmptySmallSquare:'◻',emptyv:'∅',EmptyVerySmallSquare:'▫',emsp:' ',emsp13:' ',emsp14:' ',ENG:'Ŋ',eng:'ŋ',ensp:' ',Eogon:'Ę',eogon:'ę',Eopf:'𝔼',eopf:'𝕖',epar:'⋕',eparsl:'⧣',eplus:'⩱',epsi:'ε',Epsilon:'Ε',epsilon:'ε',epsiv:'ϵ',eqcirc:'≖',eqcolon:'≕',eqsim:'≂',eqslantgtr:'⪖',eqslantless:'⪕',Equal:'⩵',equals:'=',EqualTilde:'≂',equest:'≟',Equilibrium:'⇌',equiv:'≡',equivDD:'⩸',eqvparsl:'⧥',erarr:'⥱',erDot:'≓',Escr:'ℰ',escr:'ℯ',esdot:'≐',Esim:'⩳',esim:'≂',Eta:'Η',eta:'η',ETH:'Ð',eth:'ð',Euml:'Ë',euml:'ë',euro:'€',excl:'!',exist:'∃',Exists:'∃',expectation:'ℰ',ExponentialE:'ⅇ',exponentiale:'ⅇ',fallingdotseq:'≒',Fcy:'Ф',fcy:'ф',female:'♀',ffilig:'ffi',fflig:'ff',ffllig:'ffl',Ffr:'𝔉',ffr:'𝔣',filig:'fi',FilledSmallSquare:'◼',FilledVerySmallSquare:'▪',fjlig:'fj',flat:'♭',fllig:'fl',fltns:'▱',fnof:'ƒ',Fopf:'𝔽',fopf:'𝕗',ForAll:'∀',forall:'∀',fork:'⋔',forkv:'⫙',Fouriertrf:'ℱ',fpartint:'⨍',frac12:'½',frac13:'⅓',frac14:'¼',frac15:'⅕',frac16:'⅙',frac18:'⅛',frac23:'⅔',frac25:'⅖',frac34:'¾',frac35:'⅗',frac38:'⅜',frac45:'⅘',frac56:'⅚',frac58:'⅝',frac78:'⅞',frasl:'⁄',frown:'⌢',Fscr:'ℱ',fscr:'𝒻',gacute:'ǵ',Gamma:'Γ',gamma:'γ',Gammad:'Ϝ',gammad:'ϝ',gap:'⪆',Gbreve:'Ğ',gbreve:'ğ',Gcedil:'Ģ',Gcirc:'Ĝ',gcirc:'ĝ',Gcy:'Г',gcy:'г',Gdot:'Ġ',gdot:'ġ',gE:'≧',ge:'≥',gEl:'⪌',gel:'⋛',geq:'≥',geqq:'≧',geqslant:'⩾',ges:'⩾',gescc:'⪩',gesdot:'⪀',gesdoto:'⪂',gesdotol:'⪄',gesl:'⋛︀',gesles:'⪔',Gfr:'𝔊',gfr:'𝔤',Gg:'⋙',gg:'≫',ggg:'⋙',gimel:'ℷ',GJcy:'Ѓ',gjcy:'ѓ',gl:'≷',gla:'⪥',glE:'⪒',glj:'⪤',gnap:'⪊',gnapprox:'⪊',gnE:'≩',gne:'⪈',gneq:'⪈',gneqq:'≩',gnsim:'⋧',Gopf:'𝔾',gopf:'𝕘',grave:'`',GreaterEqual:'≥',GreaterEqualLess:'⋛',GreaterFullEqual:'≧',GreaterGreater:'⪢',GreaterLess:'≷',GreaterSlantEqual:'⩾',GreaterTilde:'≳',Gscr:'𝒢',gscr:'ℊ',gsim:'≳',gsime:'⪎',gsiml:'⪐',GT:'>',Gt:'≫',gt:'>',gtcc:'⪧',gtcir:'⩺',gtdot:'⋗',gtlPar:'⦕',gtquest:'⩼',gtrapprox:'⪆',gtrarr:'⥸',gtrdot:'⋗',gtreqless:'⋛',gtreqqless:'⪌',gtrless:'≷',gtrsim:'≳',gvertneqq:'≩︀',gvnE:'≩︀',Hacek:'ˇ',hairsp:' ',half:'½',hamilt:'ℋ',HARDcy:'Ъ',hardcy:'ъ',hArr:'⇔',harr:'↔',harrcir:'⥈',harrw:'↭',Hat:'^',hbar:'ℏ',Hcirc:'Ĥ',hcirc:'ĥ',hearts:'♥',heartsuit:'♥',hellip:'…',hercon:'⊹',Hfr:'ℌ',hfr:'𝔥',HilbertSpace:'ℋ',hksearow:'⤥',hkswarow:'⤦',hoarr:'⇿',homtht:'∻',hookleftarrow:'↩',hookrightarrow:'↪',Hopf:'ℍ',hopf:'𝕙',horbar:'―',HorizontalLine:'─',Hscr:'ℋ',hscr:'𝒽',hslash:'ℏ',Hstrok:'Ħ',hstrok:'ħ',HumpDownHump:'≎',HumpEqual:'≏',hybull:'⁃',hyphen:'‐',Iacute:'Í',iacute:'í',ic:'',Icirc:'Î',icirc:'î',Icy:'И',icy:'и',Idot:'İ',IEcy:'Е',iecy:'е',iexcl:'¡',iff:'⇔',Ifr:'ℑ',ifr:'𝔦',Igrave:'Ì',igrave:'ì',ii:'ⅈ',iiiint:'⨌',iiint:'∭',iinfin:'⧜',iiota:'℩',IJlig:'IJ',ijlig:'ij',Im:'ℑ',Imacr:'Ī',imacr:'ī',image:'ℑ',ImaginaryI:'ⅈ',imagline:'ℐ',imagpart:'ℑ',imath:'ı',imof:'⊷',imped:'Ƶ',Implies:'⇒',in:'∈',incare:'℅',infin:'∞',infintie:'⧝',inodot:'ı',Int:'∬',int:'∫',intcal:'⊺',integers:'ℤ',Integral:'∫',intercal:'⊺',Intersection:'⋂',intlarhk:'⨗',intprod:'⨼',InvisibleComma:'',InvisibleTimes:'',IOcy:'Ё',iocy:'ё',Iogon:'Į',iogon:'į',Iopf:'𝕀',iopf:'𝕚',Iota:'Ι',iota:'ι',iprod:'⨼',iquest:'¿',Iscr:'ℐ',iscr:'𝒾',isin:'∈',isindot:'⋵',isinE:'⋹',isins:'⋴',isinsv:'⋳',isinv:'∈',it:'',Itilde:'Ĩ',itilde:'ĩ',Iukcy:'І',iukcy:'і',Iuml:'Ï',iuml:'ï',Jcirc:'Ĵ',jcirc:'ĵ',Jcy:'Й',jcy:'й',Jfr:'𝔍',jfr:'𝔧',jmath:'ȷ',Jopf:'𝕁',jopf:'𝕛',Jscr:'𝒥',jscr:'𝒿',Jsercy:'Ј',jsercy:'ј',Jukcy:'Є',jukcy:'є',Kappa:'Κ',kappa:'κ',kappav:'ϰ',Kcedil:'Ķ',kcedil:'ķ',Kcy:'К',kcy:'к',Kfr:'𝔎',kfr:'𝔨',kgreen:'ĸ',KHcy:'Х',khcy:'х',KJcy:'Ќ',kjcy:'ќ',Kopf:'𝕂',kopf:'𝕜',Kscr:'𝒦',kscr:'𝓀',lAarr:'⇚',Lacute:'Ĺ',lacute:'ĺ',laemptyv:'⦴',lagran:'ℒ',Lambda:'Λ',lambda:'λ',Lang:'⟪',lang:'⟨',langd:'⦑',langle:'⟨',lap:'⪅',Laplacetrf:'ℒ',laquo:'«',Larr:'↞',lArr:'⇐',larr:'←',larrb:'⇤',larrbfs:'⤟',larrfs:'⤝',larrhk:'↩',larrlp:'↫',larrpl:'⤹',larrsim:'⥳',larrtl:'↢',lat:'⪫',lAtail:'⤛',latail:'⤙',late:'⪭',lates:'⪭︀',lBarr:'⤎',lbarr:'⤌',lbbrk:'❲',lbrace:'{',lbrack:'[',lbrke:'⦋',lbrksld:'⦏',lbrkslu:'⦍',Lcaron:'Ľ',lcaron:'ľ',Lcedil:'Ļ',lcedil:'ļ',lceil:'⌈',lcub:'{',Lcy:'Л',lcy:'л',ldca:'⤶',ldquo:'“',ldquor:'„',ldrdhar:'⥧',ldrushar:'⥋',ldsh:'↲',lE:'≦',le:'≤',LeftAngleBracket:'⟨',LeftArrow:'←',Leftarrow:'⇐',leftarrow:'←',LeftArrowBar:'⇤',LeftArrowRightArrow:'⇆',leftarrowtail:'↢',LeftCeiling:'⌈',LeftDoubleBracket:'⟦',LeftDownTeeVector:'⥡',LeftDownVector:'⇃',LeftDownVectorBar:'⥙',LeftFloor:'⌊',leftharpoondown:'↽',leftharpoonup:'↼',leftleftarrows:'⇇',LeftRightArrow:'↔',Leftrightarrow:'⇔',leftrightarrow:'↔',leftrightarrows:'⇆',leftrightharpoons:'⇋',leftrightsquigarrow:'↭',LeftRightVector:'⥎',LeftTee:'⊣',LeftTeeArrow:'↤',LeftTeeVector:'⥚',leftthreetimes:'⋋',LeftTriangle:'⊲',LeftTriangleBar:'⧏',LeftTriangleEqual:'⊴',LeftUpDownVector:'⥑',LeftUpTeeVector:'⥠',LeftUpVector:'↿',LeftUpVectorBar:'⥘',LeftVector:'↼',LeftVectorBar:'⥒',lEg:'⪋',leg:'⋚',leq:'≤',leqq:'≦',leqslant:'⩽',les:'⩽',lescc:'⪨',lesdot:'⩿',lesdoto:'⪁',lesdotor:'⪃',lesg:'⋚︀',lesges:'⪓',lessapprox:'⪅',lessdot:'⋖',lesseqgtr:'⋚',lesseqqgtr:'⪋',LessEqualGreater:'⋚',LessFullEqual:'≦',LessGreater:'≶',lessgtr:'≶',LessLess:'⪡',lesssim:'≲',LessSlantEqual:'⩽',LessTilde:'≲',lfisht:'⥼',lfloor:'⌊',Lfr:'𝔏',lfr:'𝔩',lg:'≶',lgE:'⪑',lHar:'⥢',lhard:'↽',lharu:'↼',lharul:'⥪',lhblk:'▄',LJcy:'Љ',ljcy:'љ',Ll:'⋘',ll:'≪',llarr:'⇇',llcorner:'⌞',Lleftarrow:'⇚',llhard:'⥫',lltri:'◺',Lmidot:'Ŀ',lmidot:'ŀ',lmoust:'⎰',lmoustache:'⎰',lnap:'⪉',lnapprox:'⪉',lnE:'≨',lne:'⪇',lneq:'⪇',lneqq:'≨',lnsim:'⋦',loang:'⟬',loarr:'⇽',lobrk:'⟦',LongLeftArrow:'⟵',Longleftarrow:'⟸',longleftarrow:'⟵',LongLeftRightArrow:'⟷',Longleftrightarrow:'⟺',longleftrightarrow:'⟷',longmapsto:'⟼',LongRightArrow:'⟶',Longrightarrow:'⟹',longrightarrow:'⟶',looparrowleft:'↫',looparrowright:'↬',lopar:'⦅',Lopf:'𝕃',lopf:'𝕝',loplus:'⨭',lotimes:'⨴',lowast:'∗',lowbar:'_',LowerLeftArrow:'↙',LowerRightArrow:'↘',loz:'◊',lozenge:'◊',lozf:'⧫',lpar:'(',lparlt:'⦓',lrarr:'⇆',lrcorner:'⌟',lrhar:'⇋',lrhard:'⥭',lrm:'',lrtri:'⊿',lsaquo:'‹',Lscr:'ℒ',lscr:'𝓁',Lsh:'↰',lsh:'↰',lsim:'≲',lsime:'⪍',lsimg:'⪏',lsqb:'[',lsquo:'‘',lsquor:'‚',Lstrok:'Ł',lstrok:'ł',LT:'<',Lt:'≪',lt:'<',ltcc:'⪦',ltcir:'⩹',ltdot:'⋖',lthree:'⋋',ltimes:'⋉',ltlarr:'⥶',ltquest:'⩻',ltri:'◃',ltrie:'⊴',ltrif:'◂',ltrPar:'⦖',lurdshar:'⥊',luruhar:'⥦',lvertneqq:'≨︀',lvnE:'≨︀',macr:'¯',male:'♂',malt:'✠',maltese:'✠',Map:'⤅',map:'↦',mapsto:'↦',mapstodown:'↧',mapstoleft:'↤',mapstoup:'↥',marker:'▮',mcomma:'⨩',Mcy:'М',mcy:'м',mdash:'—',mDDot:'∺',measuredangle:'∡',MediumSpace:' ',Mellintrf:'ℳ',Mfr:'𝔐',mfr:'𝔪',mho:'℧',micro:'µ',mid:'∣',midast:'*',midcir:'⫰',middot:'·',minus:'−',minusb:'⊟',minusd:'∸',minusdu:'⨪',MinusPlus:'∓',mlcp:'⫛',mldr:'…',mnplus:'∓',models:'⊧',Mopf:'𝕄',mopf:'𝕞',mp:'∓',Mscr:'ℳ',mscr:'𝓂',mstpos:'∾',Mu:'Μ',mu:'μ',multimap:'⊸',mumap:'⊸',nabla:'∇',Nacute:'Ń',nacute:'ń',nang:'∠⃒',nap:'≉',napE:'⩰̸',napid:'≋̸',napos:'ʼn',napprox:'≉',natur:'♮',natural:'♮',naturals:'ℕ',nbsp:' ',nbump:'≎̸',nbumpe:'≏̸',ncap:'⩃',Ncaron:'Ň',ncaron:'ň',Ncedil:'Ņ',ncedil:'ņ',ncong:'≇',ncongdot:'⩭̸',ncup:'⩂',Ncy:'Н',ncy:'н',ndash:'–',ne:'≠',nearhk:'⤤',neArr:'⇗',nearr:'↗',nearrow:'↗',nedot:'≐̸',NegativeMediumSpace:'',NegativeThickSpace:'',NegativeThinSpace:'',NegativeVeryThinSpace:'',nequiv:'≢',nesear:'⤨',nesim:'≂̸',NestedGreaterGreater:'≫',NestedLessLess:'≪',NewLine:'\\n',nexist:'∄',nexists:'∄',Nfr:'𝔑',nfr:'𝔫',ngE:'≧̸',nge:'≱',ngeq:'≱',ngeqq:'≧̸',ngeqslant:'⩾̸',nges:'⩾̸',nGg:'⋙̸',ngsim:'≵',nGt:'≫⃒',ngt:'≯',ngtr:'≯',nGtv:'≫̸',nhArr:'⇎',nharr:'↮',nhpar:'⫲',ni:'∋',nis:'⋼',nisd:'⋺',niv:'∋',NJcy:'Њ',njcy:'њ',nlArr:'⇍',nlarr:'↚',nldr:'‥',nlE:'≦̸',nle:'≰',nLeftarrow:'⇍',nleftarrow:'↚',nLeftrightarrow:'⇎',nleftrightarrow:'↮',nleq:'≰',nleqq:'≦̸',nleqslant:'⩽̸',nles:'⩽̸',nless:'≮',nLl:'⋘̸',nlsim:'≴',nLt:'≪⃒',nlt:'≮',nltri:'⋪',nltrie:'⋬',nLtv:'≪̸',nmid:'∤',NoBreak:'',NonBreakingSpace:' ',Nopf:'ℕ',nopf:'𝕟',Not:'⫬',not:'¬',NotCongruent:'≢',NotCupCap:'≭',NotDoubleVerticalBar:'∦',NotElement:'∉',NotEqual:'≠',NotEqualTilde:'≂̸',NotExists:'∄',NotGreater:'≯',NotGreaterEqual:'≱',NotGreaterFullEqual:'≧̸',NotGreaterGreater:'≫̸',NotGreaterLess:'≹',NotGreaterSlantEqual:'⩾̸',NotGreaterTilde:'≵',NotHumpDownHump:'≎̸',NotHumpEqual:'≏̸',notin:'∉',notindot:'⋵̸',notinE:'⋹̸',notinva:'∉',notinvb:'⋷',notinvc:'⋶',NotLeftTriangle:'⋪',NotLeftTriangleBar:'⧏̸',NotLeftTriangleEqual:'⋬',NotLess:'≮',NotLessEqual:'≰',NotLessGreater:'≸',NotLessLess:'≪̸',NotLessSlantEqual:'⩽̸',NotLessTilde:'≴',NotNestedGreaterGreater:'⪢̸',NotNestedLessLess:'⪡̸',notni:'∌',notniva:'∌',notnivb:'⋾',notnivc:'⋽',NotPrecedes:'⊀',NotPrecedesEqual:'⪯̸',NotPrecedesSlantEqual:'⋠',NotReverseElement:'∌',NotRightTriangle:'⋫',NotRightTriangleBar:'⧐̸',NotRightTriangleEqual:'⋭',NotSquareSubset:'⊏̸',NotSquareSubsetEqual:'⋢',NotSquareSuperset:'⊐̸',NotSquareSupersetEqual:'⋣',NotSubset:'⊂⃒',NotSubsetEqual:'⊈',NotSucceeds:'⊁',NotSucceedsEqual:'⪰̸',NotSucceedsSlantEqual:'⋡',NotSucceedsTilde:'≿̸',NotSuperset:'⊃⃒',NotSupersetEqual:'⊉',NotTilde:'≁',NotTildeEqual:'≄',NotTildeFullEqual:'≇',NotTildeTilde:'≉',NotVerticalBar:'∤',npar:'∦',nparallel:'∦',nparsl:'⫽⃥',npart:'∂̸',npolint:'⨔',npr:'⊀',nprcue:'⋠',npre:'⪯̸',nprec:'⊀',npreceq:'⪯̸',nrArr:'⇏',nrarr:'↛',nrarrc:'⤳̸',nrarrw:'↝̸',nRightarrow:'⇏',nrightarrow:'↛',nrtri:'⋫',nrtrie:'⋭',nsc:'⊁',nsccue:'⋡',nsce:'⪰̸',Nscr:'𝒩',nscr:'𝓃',nshortmid:'∤',nshortparallel:'∦',nsim:'≁',nsime:'≄',nsimeq:'≄',nsmid:'∤',nspar:'∦',nsqsube:'⋢',nsqsupe:'⋣',nsub:'⊄',nsubE:'⫅̸',nsube:'⊈',nsubset:'⊂⃒',nsubseteq:'⊈',nsubseteqq:'⫅̸',nsucc:'⊁',nsucceq:'⪰̸',nsup:'⊅',nsupE:'⫆̸',nsupe:'⊉',nsupset:'⊃⃒',nsupseteq:'⊉',nsupseteqq:'⫆̸',ntgl:'≹',Ntilde:'Ñ',ntilde:'ñ',ntlg:'≸',ntriangleleft:'⋪',ntrianglelefteq:'⋬',ntriangleright:'⋫',ntrianglerighteq:'⋭',Nu:'Ν',nu:'ν',num:'#',numero:'№',numsp:' ',nvap:'≍⃒',nVDash:'⊯',nVdash:'⊮',nvDash:'⊭',nvdash:'⊬',nvge:'≥⃒',nvgt:'>⃒',nvHarr:'⤄',nvinfin:'⧞',nvlArr:'⤂',nvle:'≤⃒',nvlt:'<⃒',nvltrie:'⊴⃒',nvrArr:'⤃',nvrtrie:'⊵⃒',nvsim:'∼⃒',nwarhk:'⤣',nwArr:'⇖',nwarr:'↖',nwarrow:'↖',nwnear:'⤧',Oacute:'Ó',oacute:'ó',oast:'⊛',ocir:'⊚',Ocirc:'Ô',ocirc:'ô',Ocy:'О',ocy:'о',odash:'⊝',Odblac:'Ő',odblac:'ő',odiv:'⨸',odot:'⊙',odsold:'⦼',OElig:'Œ',oelig:'œ',ofcir:'⦿',Ofr:'𝔒',ofr:'𝔬',ogon:'˛',Ograve:'Ò',ograve:'ò',ogt:'⧁',ohbar:'⦵',ohm:'Ω',oint:'∮',olarr:'↺',olcir:'⦾',olcross:'⦻',oline:'‾',olt:'⧀',Omacr:'Ō',omacr:'ō',Omega:'Ω',omega:'ω',Omicron:'Ο',omicron:'ο',omid:'⦶',ominus:'⊖',Oopf:'𝕆',oopf:'𝕠',opar:'⦷',OpenCurlyDoubleQuote:'“',OpenCurlyQuote:'‘',operp:'⦹',oplus:'⊕',Or:'⩔',or:'∨',orarr:'↻',ord:'⩝',order:'ℴ',orderof:'ℴ',ordf:'ª',ordm:'º',origof:'⊶',oror:'⩖',orslope:'⩗',orv:'⩛',oS:'Ⓢ',Oscr:'𝒪',oscr:'ℴ',Oslash:'Ø',oslash:'ø',osol:'⊘',Otilde:'Õ',otilde:'õ',Otimes:'⨷',otimes:'⊗',otimesas:'⨶',Ouml:'Ö',ouml:'ö',ovbar:'⌽',OverBar:'‾',OverBrace:'⏞',OverBracket:'⎴',OverParenthesis:'⏜',par:'∥',para:'¶',parallel:'∥',parsim:'⫳',parsl:'⫽',part:'∂',PartialD:'∂',Pcy:'П',pcy:'п',percnt:'%',period:'.',permil:'‰',perp:'⊥',pertenk:'‱',Pfr:'𝔓',pfr:'𝔭',Phi:'Φ',phi:'φ',phiv:'ϕ',phmmat:'ℳ',phone:'☎',Pi:'Π',pi:'π',pitchfork:'⋔',piv:'ϖ',planck:'ℏ',planckh:'ℎ',plankv:'ℏ',plus:'+',plusacir:'⨣',plusb:'⊞',pluscir:'⨢',plusdo:'∔',plusdu:'⨥',pluse:'⩲',PlusMinus:'±',plusmn:'±',plussim:'⨦',plustwo:'⨧',pm:'±',Poincareplane:'ℌ',pointint:'⨕',Popf:'ℙ',popf:'𝕡',pound:'£',Pr:'⪻',pr:'≺',prap:'⪷',prcue:'≼',prE:'⪳',pre:'⪯',prec:'≺',precapprox:'⪷',preccurlyeq:'≼',Precedes:'≺',PrecedesEqual:'⪯',PrecedesSlantEqual:'≼',PrecedesTilde:'≾',preceq:'⪯',precnapprox:'⪹',precneqq:'⪵',precnsim:'⋨',precsim:'≾',Prime:'″',prime:'′',primes:'ℙ',prnap:'⪹',prnE:'⪵',prnsim:'⋨',prod:'∏',Product:'∏',profalar:'⌮',profline:'⌒',profsurf:'⌓',prop:'∝',Proportion:'∷',Proportional:'∝',propto:'∝',prsim:'≾',prurel:'⊰',Pscr:'𝒫',pscr:'𝓅',Psi:'Ψ',psi:'ψ',puncsp:' ',Qfr:'𝔔',qfr:'𝔮',qint:'⨌',Qopf:'ℚ',qopf:'𝕢',qprime:'⁗',Qscr:'𝒬',qscr:'𝓆',quaternions:'ℍ',quatint:'⨖',quest:'?',questeq:'≟',QUOT:'\"',quot:'\"',rAarr:'⇛',race:'∽̱',Racute:'Ŕ',racute:'ŕ',radic:'√',raemptyv:'⦳',Rang:'⟫',rang:'⟩',rangd:'⦒',range:'⦥',rangle:'⟩',raquo:'»',Rarr:'↠',rArr:'⇒',rarr:'→',rarrap:'⥵',rarrb:'⇥',rarrbfs:'⤠',rarrc:'⤳',rarrfs:'⤞',rarrhk:'↪',rarrlp:'↬',rarrpl:'⥅',rarrsim:'⥴',Rarrtl:'⤖',rarrtl:'↣',rarrw:'↝',rAtail:'⤜',ratail:'⤚',ratio:'∶',rationals:'ℚ',RBarr:'⤐',rBarr:'⤏',rbarr:'⤍',rbbrk:'❳',rbrace:'}',rbrack:']',rbrke:'⦌',rbrksld:'⦎',rbrkslu:'⦐',Rcaron:'Ř',rcaron:'ř',Rcedil:'Ŗ',rcedil:'ŗ',rceil:'⌉',rcub:'}',Rcy:'Р',rcy:'р',rdca:'⤷',rdldhar:'⥩',rdquo:'”',rdquor:'”',rdsh:'↳',Re:'ℜ',real:'ℜ',realine:'ℛ',realpart:'ℜ',reals:'ℝ',rect:'▭',REG:'®',reg:'®',ReverseElement:'∋',ReverseEquilibrium:'⇋',ReverseUpEquilibrium:'⥯',rfisht:'⥽',rfloor:'⌋',Rfr:'ℜ',rfr:'𝔯',rHar:'⥤',rhard:'⇁',rharu:'⇀',rharul:'⥬',Rho:'Ρ',rho:'ρ',rhov:'ϱ',RightAngleBracket:'⟩',RightArrow:'→',Rightarrow:'⇒',rightarrow:'→',RightArrowBar:'⇥',RightArrowLeftArrow:'⇄',rightarrowtail:'↣',RightCeiling:'⌉',RightDoubleBracket:'⟧',RightDownTeeVector:'⥝',RightDownVector:'⇂',RightDownVectorBar:'⥕',RightFloor:'⌋',rightharpoondown:'⇁',rightharpoonup:'⇀',rightleftarrows:'⇄',rightleftharpoons:'⇌',rightrightarrows:'⇉',rightsquigarrow:'↝',RightTee:'⊢',RightTeeArrow:'↦',RightTeeVector:'⥛',rightthreetimes:'⋌',RightTriangle:'⊳',RightTriangleBar:'⧐',RightTriangleEqual:'⊵',RightUpDownVector:'⥏',RightUpTeeVector:'⥜',RightUpVector:'↾',RightUpVectorBar:'⥔',RightVector:'⇀',RightVectorBar:'⥓',ring:'˚',risingdotseq:'≓',rlarr:'⇄',rlhar:'⇌',rlm:'',rmoust:'⎱',rmoustache:'⎱',rnmid:'⫮',roang:'⟭',roarr:'⇾',robrk:'⟧',ropar:'⦆',Ropf:'ℝ',ropf:'𝕣',roplus:'⨮',rotimes:'⨵',RoundImplies:'⥰',rpar:')',rpargt:'⦔',rppolint:'⨒',rrarr:'⇉',Rrightarrow:'⇛',rsaquo:'›',Rscr:'ℛ',rscr:'𝓇',Rsh:'↱',rsh:'↱',rsqb:']',rsquo:'’',rsquor:'’',rthree:'⋌',rtimes:'⋊',rtri:'▹',rtrie:'⊵',rtrif:'▸',rtriltri:'⧎',RuleDelayed:'⧴',ruluhar:'⥨',rx:'℞',Sacute:'Ś',sacute:'ś',sbquo:'‚',Sc:'⪼',sc:'≻',scap:'⪸',Scaron:'Š',scaron:'š',sccue:'≽',scE:'⪴',sce:'⪰',Scedil:'Ş',scedil:'ş',Scirc:'Ŝ',scirc:'ŝ',scnap:'⪺',scnE:'⪶',scnsim:'⋩',scpolint:'⨓',scsim:'≿',Scy:'С',scy:'с',sdot:'⋅',sdotb:'⊡',sdote:'⩦',searhk:'⤥',seArr:'⇘',searr:'↘',searrow:'↘',sect:'§',semi:';',seswar:'⤩',setminus:'∖',setmn:'∖',sext:'✶',Sfr:'𝔖',sfr:'𝔰',sfrown:'⌢',sharp:'♯',SHCHcy:'Щ',shchcy:'щ',SHcy:'Ш',shcy:'ш',ShortDownArrow:'↓',ShortLeftArrow:'←',shortmid:'∣',shortparallel:'∥',ShortRightArrow:'→',ShortUpArrow:'↑',shy:'',Sigma:'Σ',sigma:'σ',sigmaf:'ς',sigmav:'ς',sim:'∼',simdot:'⩪',sime:'≃',simeq:'≃',simg:'⪞',simgE:'⪠',siml:'⪝',simlE:'⪟',simne:'≆',simplus:'⨤',simrarr:'⥲',slarr:'←',SmallCircle:'∘',smallsetminus:'∖',smashp:'⨳',smeparsl:'⧤',smid:'∣',smile:'⌣',smt:'⪪',smte:'⪬',smtes:'⪬︀',SOFTcy:'Ь',softcy:'ь',sol:'/',solb:'⧄',solbar:'⌿',Sopf:'𝕊',sopf:'𝕤',spades:'♠',spadesuit:'♠',spar:'∥',sqcap:'⊓',sqcaps:'⊓︀',sqcup:'⊔',sqcups:'⊔︀',Sqrt:'√',sqsub:'⊏',sqsube:'⊑',sqsubset:'⊏',sqsubseteq:'⊑',sqsup:'⊐',sqsupe:'⊒',sqsupset:'⊐',sqsupseteq:'⊒',squ:'□',Square:'□',square:'□',SquareIntersection:'⊓',SquareSubset:'⊏',SquareSubsetEqual:'⊑',SquareSuperset:'⊐',SquareSupersetEqual:'⊒',SquareUnion:'⊔',squarf:'▪',squf:'▪',srarr:'→',Sscr:'𝒮',sscr:'𝓈',ssetmn:'∖',ssmile:'⌣',sstarf:'⋆',Star:'⋆',star:'☆',starf:'★',straightepsilon:'ϵ',straightphi:'ϕ',strns:'¯',Sub:'⋐',sub:'⊂',subdot:'⪽',subE:'⫅',sube:'⊆',subedot:'⫃',submult:'⫁',subnE:'⫋',subne:'⊊',subplus:'⪿',subrarr:'⥹',Subset:'⋐',subset:'⊂',subseteq:'⊆',subseteqq:'⫅',SubsetEqual:'⊆',subsetneq:'⊊',subsetneqq:'⫋',subsim:'⫇',subsub:'⫕',subsup:'⫓',succ:'≻',succapprox:'⪸',succcurlyeq:'≽',Succeeds:'≻',SucceedsEqual:'⪰',SucceedsSlantEqual:'≽',SucceedsTilde:'≿',succeq:'⪰',succnapprox:'⪺',succneqq:'⪶',succnsim:'⋩',succsim:'≿',SuchThat:'∋',Sum:'∑',sum:'∑',sung:'♪',Sup:'⋑',sup:'⊃',sup1:'¹',sup2:'²',sup3:'³',supdot:'⪾',supdsub:'⫘',supE:'⫆',supe:'⊇',supedot:'⫄',Superset:'⊃',SupersetEqual:'⊇',suphsol:'⟉',suphsub:'⫗',suplarr:'⥻',supmult:'⫂',supnE:'⫌',supne:'⊋',supplus:'⫀',Supset:'⋑',supset:'⊃',supseteq:'⊇',supseteqq:'⫆',supsetneq:'⊋',supsetneqq:'⫌',supsim:'⫈',supsub:'⫔',supsup:'⫖',swarhk:'⤦',swArr:'⇙',swarr:'↙',swarrow:'↙',swnwar:'⤪',szlig:'ß',Tab:'\\t',target:'⌖',Tau:'Τ',tau:'τ',tbrk:'⎴',Tcaron:'Ť',tcaron:'ť',Tcedil:'Ţ',tcedil:'ţ',Tcy:'Т',tcy:'т',tdot:'⃛',telrec:'⌕',Tfr:'𝔗',tfr:'𝔱',there4:'∴',Therefore:'∴',therefore:'∴',Theta:'Θ',theta:'θ',thetasym:'ϑ',thetav:'ϑ',thickapprox:'≈',thicksim:'∼',ThickSpace:' ',thinsp:' ',ThinSpace:' ',thkap:'≈',thksim:'∼',THORN:'Þ',thorn:'þ',Tilde:'∼',tilde:'˜',TildeEqual:'≃',TildeFullEqual:'≅',TildeTilde:'≈',times:'×',timesb:'⊠',timesbar:'⨱',timesd:'⨰',tint:'∭',toea:'⤨',top:'⊤',topbot:'⌶',topcir:'⫱',Topf:'𝕋',topf:'𝕥',topfork:'⫚',tosa:'⤩',tprime:'‴',TRADE:'™',trade:'™',triangle:'▵',triangledown:'▿',triangleleft:'◃',trianglelefteq:'⊴',triangleq:'≜',triangleright:'▹',trianglerighteq:'⊵',tridot:'◬',trie:'≜',triminus:'⨺',TripleDot:'⃛',triplus:'⨹',trisb:'⧍',tritime:'⨻',trpezium:'⏢',Tscr:'𝒯',tscr:'𝓉',TScy:'Ц',tscy:'ц',TSHcy:'Ћ',tshcy:'ћ',Tstrok:'Ŧ',tstrok:'ŧ',twixt:'≬',twoheadleftarrow:'↞',twoheadrightarrow:'↠',Uacute:'Ú',uacute:'ú',Uarr:'↟',uArr:'⇑',uarr:'↑',Uarrocir:'⥉',Ubrcy:'Ў',ubrcy:'ў',Ubreve:'Ŭ',ubreve:'ŭ',Ucirc:'Û',ucirc:'û',Ucy:'У',ucy:'у',udarr:'⇅',Udblac:'Ű',udblac:'ű',udhar:'⥮',ufisht:'⥾',Ufr:'𝔘',ufr:'𝔲',Ugrave:'Ù',ugrave:'ù',uHar:'⥣',uharl:'↿',uharr:'↾',uhblk:'▀',ulcorn:'⌜',ulcorner:'⌜',ulcrop:'⌏',ultri:'◸',Umacr:'Ū',umacr:'ū',uml:'¨',UnderBar:'_',UnderBrace:'⏟',UnderBracket:'⎵',UnderParenthesis:'⏝',Union:'⋃',UnionPlus:'⊎',Uogon:'Ų',uogon:'ų',Uopf:'𝕌',uopf:'𝕦',UpArrow:'↑',Uparrow:'⇑',uparrow:'↑',UpArrowBar:'⤒',UpArrowDownArrow:'⇅',UpDownArrow:'↕',Updownarrow:'⇕',updownarrow:'↕',UpEquilibrium:'⥮',upharpoonleft:'↿',upharpoonright:'↾',uplus:'⊎',UpperLeftArrow:'↖',UpperRightArrow:'↗',Upsi:'ϒ',upsi:'υ',upsih:'ϒ',Upsilon:'Υ',upsilon:'υ',UpTee:'⊥',UpTeeArrow:'↥',upuparrows:'⇈',urcorn:'⌝',urcorner:'⌝',urcrop:'⌎',Uring:'Ů',uring:'ů',urtri:'◹',Uscr:'𝒰',uscr:'𝓊',utdot:'⋰',Utilde:'Ũ',utilde:'ũ',utri:'▵',utrif:'▴',uuarr:'⇈',Uuml:'Ü',uuml:'ü',uwangle:'⦧',vangrt:'⦜',varepsilon:'ϵ',varkappa:'ϰ',varnothing:'∅',varphi:'ϕ',varpi:'ϖ',varpropto:'∝',vArr:'⇕',varr:'↕',varrho:'ϱ',varsigma:'ς',varsubsetneq:'⊊︀',varsubsetneqq:'⫋︀',varsupsetneq:'⊋︀',varsupsetneqq:'⫌︀',vartheta:'ϑ',vartriangleleft:'⊲',vartriangleright:'⊳',Vbar:'⫫',vBar:'⫨',vBarv:'⫩',Vcy:'В',vcy:'в',VDash:'⊫',Vdash:'⊩',vDash:'⊨',vdash:'⊢',Vdashl:'⫦',Vee:'⋁',vee:'∨',veebar:'⊻',veeeq:'≚',vellip:'⋮',Verbar:'‖',verbar:'|',Vert:'‖',vert:'|',VerticalBar:'∣',VerticalLine:'|',VerticalSeparator:'❘',VerticalTilde:'≀',VeryThinSpace:' ',Vfr:'𝔙',vfr:'𝔳',vltri:'⊲',vnsub:'⊂⃒',vnsup:'⊃⃒',Vopf:'𝕍',vopf:'𝕧',vprop:'∝',vrtri:'⊳',Vscr:'𝒱',vscr:'𝓋',vsubnE:'⫋︀',vsubne:'⊊︀',vsupnE:'⫌︀',vsupne:'⊋︀',Vvdash:'⊪',vzigzag:'⦚',Wcirc:'Ŵ',wcirc:'ŵ',wedbar:'⩟',Wedge:'⋀',wedge:'∧',wedgeq:'≙',weierp:'℘',Wfr:'𝔚',wfr:'𝔴',Wopf:'𝕎',wopf:'𝕨',wp:'℘',wr:'≀',wreath:'≀',Wscr:'𝒲',wscr:'𝓌',xcap:'⋂',xcirc:'◯',xcup:'⋃',xdtri:'▽',Xfr:'𝔛',xfr:'𝔵',xhArr:'⟺',xharr:'⟷',Xi:'Ξ',xi:'ξ',xlArr:'⟸',xlarr:'⟵',xmap:'⟼',xnis:'⋻',xodot:'⨀',Xopf:'𝕏',xopf:'𝕩',xoplus:'⨁',xotime:'⨂',xrArr:'⟹',xrarr:'⟶',Xscr:'𝒳',xscr:'𝓍',xsqcup:'⨆',xuplus:'⨄',xutri:'△',xvee:'⋁',xwedge:'⋀',Yacute:'Ý',yacute:'ý',YAcy:'Я',yacy:'я',Ycirc:'Ŷ',ycirc:'ŷ',Ycy:'Ы',ycy:'ы',yen:'¥',Yfr:'𝔜',yfr:'𝔶',YIcy:'Ї',yicy:'ї',Yopf:'𝕐',yopf:'𝕪',Yscr:'𝒴',yscr:'𝓎',YUcy:'Ю',yucy:'ю',Yuml:'Ÿ',yuml:'ÿ',Zacute:'Ź',zacute:'ź',Zcaron:'Ž',zcaron:'ž',Zcy:'З',zcy:'з',Zdot:'Ż',zdot:'ż',zeetrf:'ℨ',ZeroWidthSpace:'',Zeta:'Ζ',zeta:'ζ',Zfr:'ℨ',zfr:'𝔷',ZHcy:'Ж',zhcy:'ж',zigrarr:'⇝',Zopf:'ℤ',zopf:'𝕫',Zscr:'𝒵',zscr:'𝓏',zwj:'',zwnj:''},r=Object.prototype.hasOwnProperty;function s(e){return t&&r.call(t,e)?t[e]:e}var n=Object.prototype.hasOwnProperty;function c(e,t){return!!e&&n.call(e,t)}function o(r){return[].slice.call(arguments,1).forEach(function(t){if(t){if('object'!=typeof t)throw new TypeError(t+'must be object');Object.keys(t).forEach(function(e){r[e]=t[e]})}}),r}var i=/\\\\([\\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;function p(e){return e.indexOf('\\\\')<0?e:e.replace(i,'$1')}function a(e){return!(55296<=e&&e<=57343||64976<=e&&e<=65007||65535==(65535&e)||65534==(65535&e)||0<=e&&e<=8||11===e||14<=e&&e<=31||127<=e&&e<=159||1114111<e)}function u(e){if(65535<e){var t=55296+((e-=65536)>>10),r=56320+(1023&e);return String.fromCharCode(t,r)}return String.fromCharCode(e)}var l=/&([a-z#][a-z0-9]{1,31});/gi,h=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;function f(e,t){var r=0,n=s(t);return t!==n?n:35===t.charCodeAt(0)&&h.test(t)&&a(r='x'===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10))?u(r):e}function g(e){return e.indexOf('&')<0?e:e.replace(l,f)}var d=/[&<>\"]/,m=/[&<>\"]/g,b={'&':'&','<':'<','>':'>','\"':'"'};function v(e){return b[e]}function k(e){return d.test(e)?e.replace(m,v):e}var A=Object.freeze({isString:function(e){return'[object String]'===Object.prototype.toString.call(e)},has:c,assign:o,unescapeMd:p,isValidEntityCode:a,fromCodePoint:u,replaceEntities:g,escapeHtml:k}),y={blockquote_open:function(){return'<blockquote>\\n'},blockquote_close:function(e,t){return'</blockquote>'+x(e,t)},code:function(e,t){return e[t].block?'<pre><code>'+k(e[t].content)+'</code></pre>'+x(e,t):'<code>'+k(e[t].content)+'</code>'},fence:function(e,t,r,n,o){var s,i,a=e[t],u='',l=r.langPrefix;if(a.params){if(i=(s=a.params.split(/\\s+/g)).join(' '),c(o.rules.fence_custom,s[0]))return o.rules.fence_custom[s[0]](e,t,r,n,o);u=' class=\"'+l+k(g(p(i)))+'\"'}return'<pre><code'+u+'>'+(r.highlight&&r.highlight.apply(r.highlight,[a.content].concat(s))||k(a.content))+'</code></pre>'+x(e,t)},fence_custom:{},heading_open:function(e,t){return'<h'+e[t].hLevel+'>'},heading_close:function(e,t){return'</h'+e[t].hLevel+'>\\n'},hr:function(e,t,r){return(r.xhtmlOut?'<hr />':'<hr>')+x(e,t)},bullet_list_open:function(){return'<ul>\\n'},bullet_list_close:function(e,t){return'</ul>'+x(e,t)},list_item_open:function(){return'<li>'},list_item_close:function(){return'</li>\\n'},ordered_list_open:function(e,t){t=e[t];return'<ol'+(1<t.order?' start=\"'+t.order+'\"':'')+'>\\n'},ordered_list_close:function(e,t){return'</ol>'+x(e,t)},paragraph_open:function(e,t){return e[t].tight?'':'<p>'},paragraph_close:function(e,t){var r=!(e[t].tight&&t&&'inline'===e[t-1].type&&!e[t-1].content);return(e[t].tight?'':'</p>')+(r?x(e,t):'')},link_open:function(e,t,r){var n=e[t].title?' title=\"'+k(g(e[t].title))+'\"':'',r=r.linkTarget?' target=\"'+r.linkTarget+'\"':'';return'<a href=\"'+k(e[t].href)+'\"'+n+r+'>'},link_close:function(){return'</a>'},image:function(e,t,r){var n=' src=\"'+k(e[t].src)+'\"',o=e[t].title?' title=\"'+k(g(e[t].title))+'\"':'';return'<img'+n+' alt=\"'+(e[t].alt?k(g(p(e[t].alt))):'')+'\"'+o+(r.xhtmlOut?' /':'')+'>'},table_open:function(){return'<table>\\n'},table_close:function(){return'</table>\\n'},thead_open:function(){return'<thead>\\n'},thead_close:function(){return'</thead>\\n'},tbody_open:function(){return'<tbody>\\n'},tbody_close:function(){return'</tbody>\\n'},tr_open:function(){return'<tr>'},tr_close:function(){return'</tr>\\n'},th_open:function(e,t){t=e[t];return'<th'+(t.align?' style=\"text-align:'+t.align+'\"':'')+'>'},th_close:function(){return'</th>'},td_open:function(e,t){t=e[t];return'<td'+(t.align?' style=\"text-align:'+t.align+'\"':'')+'>'},td_close:function(){return'</td>'},strong_open:function(){return'<strong>'},strong_close:function(){return'</strong>'},em_open:function(){return'<em>'},em_close:function(){return'</em>'},del_open:function(){return'<del>'},del_close:function(){return'</del>'},ins_open:function(){return'<ins>'},ins_close:function(){return'</ins>'},mark_open:function(){return'<mark>'},mark_close:function(){return'</mark>'},sub:function(e,t){return'<sub>'+k(e[t].content)+'</sub>'},sup:function(e,t){return'<sup>'+k(e[t].content)+'</sup>'},hardbreak:function(e,t,r){return r.xhtmlOut?'<br />\\n':'<br>\\n'},softbreak:function(e,t,r){return r.breaks?r.xhtmlOut?'<br />\\n':'<br>\\n':'\\n'},text:function(e,t){return k(e[t].content)},htmlblock:function(e,t){return e[t].content},htmltag:function(e,t){return e[t].content},abbr_open:function(e,t){return'<abbr title=\"'+k(g(e[t].title))+'\">'},abbr_close:function(){return'</abbr>'},footnote_ref:function(e,t){var r=Number(e[t].id+1).toString(),n='fnref'+r;return 0<e[t].subId&&(n+=':'+e[t].subId),'<sup class=\"footnote-ref\"><a href=\"#fn'+r+'\" id=\"'+n+'\">['+r+']</a></sup>'},footnote_block_open:function(e,t,r){return(r.xhtmlOut?'<hr class=\"footnotes-sep\" />\\n':'<hr class=\"footnotes-sep\">\\n')+'<section class=\"footnotes\">\\n<ol class=\"footnotes-list\">\\n'},footnote_block_close:function(){return'</ol>\\n</section>\\n'},footnote_open:function(e,t){return'<li id=\"fn'+Number(e[t].id+1).toString()+'\" class=\"footnote-item\">'},footnote_close:function(){return'</li>\\n'},footnote_anchor:function(e,t){var r='fnref'+Number(e[t].id+1).toString();return 0<e[t].subId&&(r+=':'+e[t].subId),' <a href=\"#'+r+'\" class=\"footnote-backref\">↩</a>'},dl_open:function(){return'<dl>\\n'},dt_open:function(){return'<dt>'},dd_open:function(){return'<dd>'},dl_close:function(){return'</dl>\\n'},dt_close:function(){return'</dt>\\n'},dd_close:function(){return'</dd>\\n'}},x=y.getBreak=function(e,t){return(t=function e(t,r){return!(++r>=t.length-2)&&'paragraph_open'===t[r].type&&t[r].tight&&'inline'===t[r+1].type&&0===t[r+1].content.length&&'paragraph_close'===t[r+2].type&&t[r+2].tight?e(t,r+2):r}(e,t))<e.length&&'list_item_close'===e[t].type?'':'\\n'};function w(){this.rules=o({},y),this.getBreak=y.getBreak}function C(){this.__rules__=[],this.__cache__=null}function E(e,t,r,n,o){this.src=e,this.env=n,this.options=r,this.parser=t,this.tokens=o,this.pos=0,this.posMax=this.src.length,this.level=0,this.pending='',this.pendingLevel=0,this.cache=[],this.isInLabel=!1,this.linkLevel=0,this.linkContent='',this.labelUnmatchedScopes=0}function D(e,t){var r,n,o,s=-1,i=e.posMax,a=e.pos,u=e.isInLabel;if(e.isInLabel)return-1;if(e.labelUnmatchedScopes)return e.labelUnmatchedScopes--,-1;for(e.pos=t+1,e.isInLabel=!0,r=1;e.pos<i;){if(91===(o=e.src.charCodeAt(e.pos)))r++;else if(93===o&&0==--r){n=!0;break}e.parser.skipToken(e)}return n?(s=e.pos,e.labelUnmatchedScopes=0):e.labelUnmatchedScopes=r-1,e.pos=a,e.isInLabel=u,s}function _(e){var t=g(e);try{t=decodeURI(t)}catch(e){}return encodeURI(t)}function B(e,t){var r,n,o,s=t,i=e.posMax;if(60!==e.src.charCodeAt(t)){for(n=0;t<i&&32!==(r=e.src.charCodeAt(t))&&!(r<32||127===r);)if(92===r&&t+1<i)t+=2;else{if(40===r&&1<++n)break;if(41===r&&--n<0)break;t++}return s!==t&&(o=p(e.src.slice(s,t)),e.parser.validateLink(o)&&(e.linkContent=o,e.pos=t,1))}for(t++;t<i;){if(10===(r=e.src.charCodeAt(t)))return;if(62===r)return o=_(p(e.src.slice(s+1,t))),e.parser.validateLink(o)&&(e.pos=t+1,e.linkContent=o,1);92===r&&t+1<i?t+=2:t++}}function q(e,t){var r,n=t,o=e.posMax,s=e.src.charCodeAt(t);if(34===s||39===s||40===s)for(t++,40===s&&(s=41);t<o;){if((r=e.src.charCodeAt(t))===s)return e.pos=t+1,e.linkContent=p(e.src.slice(n+1,t)),1;92===r&&t+1<o?t+=2:t++}}function F(e){return e.trim().replace(/\\s+/g,' ').toUpperCase()}w.prototype.renderInline=function(e,t,r){for(var n=this.rules,o=e.length,s=0,i='';o--;)i+=n[e[s].type](e,s++,t,r,this);return i},w.prototype.render=function(e,t,r){for(var n=this.rules,o=e.length,s=-1,i='';++s<o;)'inline'===e[s].type?i+=this.renderInline(e[s].children,t,r):i+=n[e[s].type](e,s,t,r,this);return i},C.prototype.__find__=function(e){for(var t=this.__rules__.length,r=-1;t--;)if(this.__rules__[++r].name===e)return r;return-1},C.prototype.__compile__=function(){var r=this,t=[''];r.__rules__.forEach(function(e){e.enabled&&e.alt.forEach(function(e){t.indexOf(e)<0&&t.push(e)})}),r.__cache__={},t.forEach(function(t){r.__cache__[t]=[],r.__rules__.forEach(function(e){e.enabled&&(t&&e.alt.indexOf(t)<0||r.__cache__[t].push(e.fn))})})},C.prototype.at=function(e,t,r){var n=this.__find__(e),r=r||{};if(-1===n)throw new Error('Parser rule not found: '+e);this.__rules__[n].fn=t,this.__rules__[n].alt=r.alt||[],this.__cache__=null},C.prototype.before=function(e,t,r,n){var o=this.__find__(e),n=n||{};if(-1===o)throw new Error('Parser rule not found: '+e);this.__rules__.splice(o,0,{name:t,enabled:!0,fn:r,alt:n.alt||[]}),this.__cache__=null},C.prototype.after=function(e,t,r,n){var o=this.__find__(e),n=n||{};if(-1===o)throw new Error('Parser rule not found: '+e);this.__rules__.splice(o+1,0,{name:t,enabled:!0,fn:r,alt:n.alt||[]}),this.__cache__=null},C.prototype.push=function(e,t,r){r=r||{};this.__rules__.push({name:e,enabled:!0,fn:t,alt:r.alt||[]}),this.__cache__=null},C.prototype.enable=function(e,t){e=Array.isArray(e)?e:[e],t&&this.__rules__.forEach(function(e){e.enabled=!1}),e.forEach(function(e){var t=this.__find__(e);if(t<0)throw new Error('Rules manager: invalid rule name '+e);this.__rules__[t].enabled=!0},this),this.__cache__=null},C.prototype.disable=function(e){(e=Array.isArray(e)?e:[e]).forEach(function(e){var t=this.__find__(e);if(t<0)throw new Error('Rules manager: invalid rule name '+e);this.__rules__[t].enabled=!1},this),this.__cache__=null},C.prototype.getRules=function(e){return null===this.__cache__&&this.__compile__(),this.__cache__[e]||[]},E.prototype.pushPending=function(){this.tokens.push({type:'text',content:this.pending,level:this.pendingLevel}),this.pending=''},E.prototype.push=function(e){this.pending&&this.pushPending(),this.tokens.push(e),this.pendingLevel=this.level},E.prototype.cacheSet=function(e,t){for(var r=this.cache.length;r<=e;r++)this.cache.push(0);this.cache[e]=t},E.prototype.cacheGet=function(e){return e<this.cache.length?this.cache[e]:0};var M=' \\n()[]\\'\".,!?-';function S(e){return e.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g,'\\\\$1')}var T=/\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/,L=/\\((c|tm|r|p)\\)/gi,R={c:'©',r:'®',p:'§',tm:'™'},N=/['\"]/,z=/['\"]/g,P=/[-\\s()\\[\\]]/;function j(e,t){return!(t<0||t>=e.length||P.test(e[t]))}function I(e,t,r){return e.substr(0,t)+r+e.substr(t+1)}var O=[['block',function(e){e.inlineMode?e.tokens.push({type:'inline',content:e.src.replace(/\\n/g,' ').trim(),level:0,lines:[0,1],children:[]}):e.block.parse(e.src,e.options,e.env,e.tokens)}],['abbr',function(e){var t,r,n,o,s=e.tokens;if(!e.inlineMode)for(t=1,r=s.length-1;t<r;t++)if('paragraph_open'===s[t-1].type&&'inline'===s[t].type&&'paragraph_close'===s[t+1].type){for(n=s[t].content;n.length&&!((o=function(e,t,r,n){var o,s,i;if(42!==e.charCodeAt(0))return-1;if(91!==e.charCodeAt(1))return-1;if(-1===e.indexOf(']:'))return-1;if((t=D(o=new E(e,t,r,n,[]),1))<0||58!==e.charCodeAt(t+1))return-1;for(i=o.posMax,s=t+2;s<i&&10!==o.src.charCodeAt(s);s++);return r=e.slice(2,t),0===(t=e.slice(t+2,s).trim()).length?-1:(n.abbreviations||(n.abbreviations={}),void 0===n.abbreviations[':'+r]&&(n.abbreviations[':'+r]=t),s)}(n,e.inline,e.options,e.env))<0);)n=n.slice(o).trim();(s[t].content=n).length||(s[t-1].tight=!0,s[t+1].tight=!0)}}],['references',function(e){var t,r,n,o,s=e.tokens;if(e.env.references=e.env.references||{},!e.inlineMode)for(t=1,r=s.length-1;t<r;t++)if('inline'===s[t].type&&'paragraph_open'===s[t-1].type&&'paragraph_close'===s[t+1].type){for(n=s[t].content;n.length&&!((o=function(e,t,r,n){var o,s,i,a,u,l;if(91!==e.charCodeAt(0))return-1;if(-1===e.indexOf(']:'))return-1;if((l=D(o=new E(e,t,r,n,[]),0))<0||58!==e.charCodeAt(l+1))return-1;for(i=o.posMax,s=l+2;s<i&&(32===(a=o.src.charCodeAt(s))||10===a);s++);if(!B(o,s))return-1;for(t=o.linkContent,r=s=o.pos,s+=1;s<i&&(32===(a=o.src.charCodeAt(s))||10===a);s++);for(s=s<i&&r!==s&&q(o,s)?(u=o.linkContent,o.pos):(u='',r);s<i&&32===o.src.charCodeAt(s);)s++;return s<i&&10!==o.src.charCodeAt(s)?-1:(l=F(e.slice(1,l)),void 0===n.references[l]&&(n.references[l]={title:u,href:t}),s)}(n,e.inline,e.options,e.env))<0);)n=n.slice(o).trim();(s[t].content=n).length||(s[t-1].tight=!0,s[t+1].tight=!0)}}],['inline',function(e){for(var t,r=e.tokens,n=0,o=r.length;n<o;n++)'inline'===(t=r[n]).type&&e.inline.parse(t.content,e.options,e.env,t.children)}],['footnote_tail',function(e){var t,r,n,o,s,i,a,u,l,c=0,p=!1,h={};if(e.env.footnotes&&(e.tokens=e.tokens.filter(function(e){return'footnote_reference_open'===e.type?(p=!0,u=[],l=e.label,!1):'footnote_reference_close'===e.type?(p=!1,h[':'+l]=u,!1):(p&&u.push(e),!p)}),e.env.footnotes.list)){for(i=e.env.footnotes.list,e.tokens.push({type:'footnote_block_open',level:c++}),t=0,r=i.length;t<r;t++){for(e.tokens.push({type:'footnote_open',id:t,level:c++}),i[t].tokens?((a=[]).push({type:'paragraph_open',tight:!1,level:c++}),a.push({type:'inline',content:'',level:c,children:i[t].tokens}),a.push({type:'paragraph_close',tight:!1,level:--c})):i[t].label&&(a=h[':'+i[t].label]),e.tokens=e.tokens.concat(a),s='paragraph_close'===e.tokens[e.tokens.length-1].type?e.tokens.pop():null,o=0<i[t].count?i[t].count:1,n=0;n<o;n++)e.tokens.push({type:'footnote_anchor',id:t,subId:n,level:c});s&&e.tokens.push(s),e.tokens.push({type:'footnote_close',level:--c})}e.tokens.push({type:'footnote_block_close',level:--c})}}],['abbr2',function(e){var t,r,n,o,s,i,a,u,l,c,p,h,f=e.tokens;if(e.env.abbreviations)for(e.env.abbrRegExp||(h='(^|['+M.split('').map(S).join('')+'])('+Object.keys(e.env.abbreviations).map(function(e){return e.substr(1)}).sort(function(e,t){return t.length-e.length}).map(S).join('|')+')($|['+M.split('').map(S).join('')+'])',e.env.abbrRegExp=new RegExp(h,'g')),c=e.env.abbrRegExp,r=0,n=f.length;r<n;r++)if('inline'===f[r].type)for(t=(o=f[r].children).length-1;0<=t;t--)if('text'===(s=o[t]).type){for(u=0,i=s.content,c.lastIndex=0,l=s.level,a=[];p=c.exec(i);)c.lastIndex>u&&a.push({type:'text',content:i.slice(u,p.index+p[1].length),level:l}),a.push({type:'abbr_open',title:e.env.abbreviations[':'+p[2]],level:l++}),a.push({type:'text',content:p[2],level:l}),a.push({type:'abbr_close',level:--l}),u=c.lastIndex-p[3].length;a.length&&(u<i.length&&a.push({type:'text',content:i.slice(u),level:l}),f[r].children=o=[].concat(o.slice(0,t),a,o.slice(t+1)))}}],['replacements',function(e){var t,r,n,o,s,i;if(e.options.typographer)for(s=e.tokens.length-1;0<=s;s--)if('inline'===e.tokens[s].type)for(t=(o=e.tokens[s].children).length-1;0<=t;t--)'text'===(r=o[t]).type&&(n=(i=n=r.content).indexOf('(')<0?i:i.replace(L,function(e,t){return R[t.toLowerCase()]}),T.test(n)&&(n=n.replace(/\\+-/g,'±').replace(/\\.{2,}/g,'…').replace(/([?!])…/g,'$1..').replace(/([?!]){4,}/g,'$1$1$1').replace(/,{2,}/g,',').replace(/(^|[^-])---([^-]|$)/gm,'$1—$2').replace(/(^|\\s)--(\\s|$)/gm,'$1–$2').replace(/(^|[^-\\s])--([^-\\s]|$)/gm,'$1–$2')),r.content=n)}],['smartquotes',function(e){var t,r,n,o,s,i,a,u,l,c,p,h,f,g,d;if(e.options.typographer)for(d=[],f=e.tokens.length-1;0<=f;f--)if('inline'===e.tokens[f].type)for(g=e.tokens[f].children,t=d.length=0;t<g.length;t++)if('text'===(r=g[t]).type&&!N.test(r.text)){for(a=g[t].level,p=d.length-1;0<=p&&!(d[p].level<=a);p--);d.length=p+1,s=0,i=(n=r.content).length;e:for(;s<i&&(z.lastIndex=s,o=z.exec(n));)if(c=!j(n,o.index-1),s=o.index+1,h='\\''===o[0],(l=!j(n,s))||c){if(l=!l,c=!c)for(p=d.length-1;0<=p&&(u=d[p],!(d[p].level<a));p--)if(u.single===h&&d[p].level===a){u=d[p],h?(g[u.token].content=I(g[u.token].content,u.pos,e.options.quotes[2]),r.content=I(r.content,o.index,e.options.quotes[3])):(g[u.token].content=I(g[u.token].content,u.pos,e.options.quotes[0]),r.content=I(r.content,o.index,e.options.quotes[1])),d.length=p;continue e}l?d.push({token:t,pos:o.index,single:h,level:a}):c&&h&&(r.content=I(r.content,o.index,'’'))}else h&&(r.content=I(r.content,o.index,'’'))}}]];function U(){this.options={},this.ruler=new C;for(var e=0;e<O.length;e++)this.ruler.push(O[e][0],O[e][1])}function H(e,t,r,n,o){var s,i,a,u,l,c,p;for(this.src=e,this.parser=t,this.options=r,this.env=n,this.tokens=o,this.bMarks=[],this.eMarks=[],this.tShift=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.parentType='root',this.ddIndent=-1,this.level=0,this.result='',p=!1,a=u=c=c=0,l=(i=this.src).length;u<l;u++){if(s=i.charCodeAt(u),!p){if(32===s){c++;continue}p=!0}10!==s&&u!==l-1||(10!==s&&u++,this.bMarks.push(a),this.eMarks.push(u),this.tShift.push(c),p=!1,c=0,a=u+1)}this.bMarks.push(i.length),this.eMarks.push(i.length),this.tShift.push(0),this.lineMax=this.bMarks.length-1}function V(e,t){var r,n;return(r=e.bMarks[t]+e.tShift[t])>=(n=e.eMarks[t])||42!==(t=e.src.charCodeAt(r++))&&45!==t&&43!==t||r<n&&32!==e.src.charCodeAt(r)?-1:r}function G(e,t){var r,n=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];if(o<=n+1)return-1;if((r=e.src.charCodeAt(n++))<48||57<r)return-1;for(;;){if(o<=n)return-1;if(!(48<=(r=e.src.charCodeAt(n++))&&r<=57)){if(41===r||46===r)break;return-1}}return n<o&&32!==e.src.charCodeAt(n)?-1:n}U.prototype.process=function(e){for(var t,r=0,n=(t=this.ruler.getRules('')).length;r<n;r++)t[r](e)},H.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},H.prototype.skipEmptyLines=function(e){for(var t=this.lineMax;e<t&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e},H.prototype.skipSpaces=function(e){for(var t=this.src.length;e<t&&32===this.src.charCodeAt(e);e++);return e},H.prototype.skipChars=function(e,t){for(var r=this.src.length;e<r&&this.src.charCodeAt(e)===t;e++);return e},H.prototype.skipCharsBack=function(e,t,r){if(e<=r)return e;for(;r<e;)if(t!==this.src.charCodeAt(--e))return e+1;return e},H.prototype.getLines=function(e,t,r,n){var o,s,i,a,u,l=e;if(t<=e)return'';if(l+1===t)return s=this.bMarks[l]+Math.min(this.tShift[l],r),i=n?this.eMarks[l]+1:this.eMarks[l],this.src.slice(s,i);for(a=new Array(t-e),o=0;l<t;l++,o++)(u=this.tShift[l])>r&&(u=r),u<0&&(u=0),s=this.bMarks[l]+u,i=l+1<t||n?this.eMarks[l]+1:this.eMarks[l],a[o]=this.src.slice(s,i);return a.join('')};var $={};['article','aside','button','blockquote','body','canvas','caption','col','colgroup','dd','div','dl','dt','embed','fieldset','figcaption','figure','footer','form','h1','h2','h3','h4','h5','h6','header','hgroup','hr','iframe','li','map','object','ol','output','p','pre','progress','script','section','style','table','tbody','td','textarea','tfoot','th','tr','thead','ul','video'].forEach(function(e){$[e]=!0});var Z=/^<([a-zA-Z]{1,15})[\\s\\/>]/,W=/^<\\/([a-zA-Z]{1,15})[\\s>]/;function J(e,t){var r=e.bMarks[t]+e.blkIndent,t=e.eMarks[t];return e.src.substr(r,t-r)}function Y(e,t){var r,n=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];return o<=n||126!==(t=e.src.charCodeAt(n++))&&58!==t||n===(r=e.skipSpaces(n))||o<=r?-1:r}var K=[['code',function(e,t,r){var n,o;if(e.tShift[t]-e.blkIndent<4)return!1;for(o=n=t+1;n<r;)if(e.isEmpty(n))n++;else{if(!(4<=e.tShift[n]-e.blkIndent))break;o=++n}return e.line=n,e.tokens.push({type:'code',content:e.getLines(t,o,4+e.blkIndent,!0),block:!0,lines:[t,e.line],level:e.level}),!0}],['fences',function(e,t,r,n){var o,s,i,a,u,l=!1,c=e.bMarks[t]+e.tShift[t],p=e.eMarks[t];if(p<c+3)return!1;if(126!==(o=e.src.charCodeAt(c))&&96!==o)return!1;if(u=c,(s=(c=e.skipChars(c,o))-u)<3)return!1;if(0<=(i=e.src.slice(c,p).trim()).indexOf('`'))return!1;if(n)return!0;for(a=t;!(++a>=r||(c=u=e.bMarks[a]+e.tShift[a])<(p=e.eMarks[a])&&e.tShift[a]<e.blkIndent);)if(e.src.charCodeAt(c)===o&&!(4<=e.tShift[a]-e.blkIndent||(c=e.skipChars(c,o))-u<s||(c=e.skipSpaces(c))<p)){l=!0;break}return s=e.tShift[t],e.line=a+(l?1:0),e.tokens.push({type:'fence',params:i,content:e.getLines(t+1,a,s,!0),lines:[t,e.line],level:e.level}),!0},['paragraph','blockquote','list']],['blockquote',function(e,t,r,n){var o,s,i,a,u,l,c,p,h,f,g=e.bMarks[t]+e.tShift[t],d=e.eMarks[t];if(d<g)return!1;if(62!==e.src.charCodeAt(g++))return!1;if(e.level>=e.options.maxNesting)return!1;if(n)return!0;for(32===e.src.charCodeAt(g)&&g++,u=e.blkIndent,e.blkIndent=0,a=[e.bMarks[t]],s=(g=(e.bMarks[t]=g)<d?e.skipSpaces(g):g)>=d,i=[e.tShift[t]],e.tShift[t]=g-e.bMarks[t],c=e.parser.ruler.getRules('blockquote'),o=t+1;o<r&&!((g=e.bMarks[o]+e.tShift[o])>=(d=e.eMarks[o]));o++)if(62!==e.src.charCodeAt(g++)){if(s)break;for(f=!1,p=0,h=c.length;p<h;p++)if(c[p](e,o,r,!0)){f=!0;break}if(f)break;a.push(e.bMarks[o]),i.push(e.tShift[o]),e.tShift[o]=-1337}else 32===e.src.charCodeAt(g)&&g++,a.push(e.bMarks[o]),s=(g=(e.bMarks[o]=g)<d?e.skipSpaces(g):g)>=d,i.push(e.tShift[o]),e.tShift[o]=g-e.bMarks[o];for(l=e.parentType,e.parentType='blockquote',e.tokens.push({type:'blockquote_open',lines:n=[t,0],level:e.level++}),e.parser.tokenize(e,t,o),e.tokens.push({type:'blockquote_close',level:--e.level}),e.parentType=l,n[1]=e.line,p=0;p<i.length;p++)e.bMarks[p+t]=a[p],e.tShift[p+t]=i[p];return e.blkIndent=u,!0},['paragraph','blockquote','list']],['hr',function(e,t,r,n){var o,s,i,a=e.bMarks[t],u=e.eMarks[t];if((a+=e.tShift[t])>u)return!1;if(42!==(o=e.src.charCodeAt(a++))&&45!==o&&95!==o)return!1;for(s=1;a<u;){if((i=e.src.charCodeAt(a++))!==o&&32!==i)return!1;i===o&&s++}return!(s<3||!n&&(e.line=t+1,e.tokens.push({type:'hr',lines:[t,e.line],level:e.level}),0))},['paragraph','blockquote','list']],['list',function(e,t,r,n){var o,s,i,a,u,l,c,p,h,f,g,d,m,b,v,k,A,y,x=!0;if(0<=(l=G(e,t)))h=!0;else{if(!(0<=(l=V(e,t))))return!1;h=!1}if(e.level>=e.options.maxNesting)return!1;if(p=e.src.charCodeAt(l-1),n)return!0;for(g=e.tokens.length,h?(m=e.bMarks[t]+e.tShift[t],m=Number(e.src.substr(m,l-m-1)),e.tokens.push({type:'ordered_list_open',order:m,lines:m=[t,0],level:e.level++})):e.tokens.push({type:'bullet_list_open',lines:m=[t,0],level:e.level++}),o=t,d=!1,v=e.parser.ruler.getRules('list');!(!(o<r)||(4<(c=(f=e.skipSpaces(l))>=e.eMarks[o]?1:f-l)&&(c=1),c<1&&(c=1),s=l-e.bMarks[o]+c,e.tokens.push({type:'list_item_open',lines:b=[t,0],level:e.level++}),a=e.blkIndent,u=e.tight,i=e.tShift[t],c=e.parentType,e.tShift[t]=f-e.bMarks[t],e.blkIndent=s,e.tight=!0,e.parentType='list',e.parser.tokenize(e,t,r,!0),e.tight&&!d||(x=!1),d=1<e.line-t&&e.isEmpty(e.line-1),e.blkIndent=a,e.tShift[t]=i,e.tight=u,e.parentType=c,e.tokens.push({type:'list_item_close',level:--e.level}),o=t=e.line,b[1]=o,f=e.bMarks[t],r<=o)||e.isEmpty(o)||e.tShift[o]<e.blkIndent);){for(y=!1,k=0,A=v.length;k<A;k++)if(v[k](e,o,r,!0)){y=!0;break}if(y)break;if(h){if((l=G(e,o))<0)break}else if((l=V(e,o))<0)break;if(p!==e.src.charCodeAt(l-1))break}return e.tokens.push({type:h?'ordered_list_close':'bullet_list_close',level:--e.level}),m[1]=o,e.line=o,x&&function(e){for(var t=e.level+2,r=g+2,n=e.tokens.length-2;r<n;r++)e.tokens[r].level===t&&'paragraph_open'===e.tokens[r].type&&(e.tokens[r+2].tight=!0,e.tokens[r].tight=!0,r+=2)}(e),!0},['paragraph','blockquote']],['footnote',function(e,t,r,n){var o,s,i=e.bMarks[t]+e.tShift[t],a=e.eMarks[t];if(a<i+4)return!1;if(91!==e.src.charCodeAt(i))return!1;if(94!==e.src.charCodeAt(i+1))return!1;if(e.level>=e.options.maxNesting)return!1;for(o=i+2;o<a;o++){if(32===e.src.charCodeAt(o))return!1;if(93===e.src.charCodeAt(o))break}return!(o===i+2||a<=o+1||58!==e.src.charCodeAt(++o)||!n&&(o++,e.env.footnotes||(e.env.footnotes={}),e.env.footnotes.refs||(e.env.footnotes.refs={}),s=e.src.slice(i+2,o-2),e.env.footnotes.refs[':'+s]=-1,e.tokens.push({type:'footnote_reference_open',label:s,level:e.level++}),n=e.bMarks[t],i=e.tShift[t],s=e.parentType,e.tShift[t]=e.skipSpaces(o)-o,e.bMarks[t]=o,e.blkIndent+=4,e.parentType='footnote',e.tShift[t]<e.blkIndent&&(e.tShift[t]+=e.blkIndent,e.bMarks[t]-=e.blkIndent),e.parser.tokenize(e,t,r,!0),e.parentType=s,e.blkIndent-=4,e.tShift[t]=i,e.bMarks[t]=n,e.tokens.push({type:'footnote_reference_close',level:--e.level}),0))},['paragraph']],['heading',function(e,t,r,n){var o,s,i=e.bMarks[t]+e.tShift[t],a=e.eMarks[t];if(a<=i)return!1;if(35!==(o=e.src.charCodeAt(i))||a<=i)return!1;for(s=1,o=e.src.charCodeAt(++i);35===o&&i<a&&s<=6;)s++,o=e.src.charCodeAt(++i);return!(6<s||i<a&&32!==o||!n&&(a=e.skipCharsBack(a,32,i),(n=e.skipCharsBack(a,35,i))>i&&32===e.src.charCodeAt(n-1)&&(a=n),e.line=t+1,e.tokens.push({type:'heading_open',hLevel:s,lines:[t,e.line],level:e.level}),i<a&&e.tokens.push({type:'inline',content:e.src.slice(i,a).trim(),level:e.level+1,lines:[t,e.line],children:[]}),e.tokens.push({type:'heading_close',hLevel:s,level:e.level}),0))},['paragraph','blockquote']],['lheading',function(e,t,r){var n,o,s,i=t+1;return!(r<=i||e.tShift[i]<e.blkIndent||3<e.tShift[i]-e.blkIndent||(o=e.bMarks[i]+e.tShift[i])>=(s=e.eMarks[i])||45!==(n=e.src.charCodeAt(o))&&61!==n||(o=e.skipChars(o,n),(o=e.skipSpaces(o))<s||(o=e.bMarks[t]+e.tShift[t],e.line=i+1,e.tokens.push({type:'heading_open',hLevel:61===n?1:2,lines:[t,e.line],level:e.level}),e.tokens.push({type:'inline',content:e.src.slice(o,e.eMarks[t]).trim(),level:e.level+1,lines:[t,e.line-1],children:[]}),e.tokens.push({type:'heading_close',hLevel:61===n?1:2,level:e.level}),0)))}],['htmlblock',function(e,t,r,n){var o,s,i,a=e.bMarks[t],u=e.eMarks[t],l=e.tShift[t];if(a+=l,!e.options.html)return!1;if(3<l||u<=a+2)return!1;if(60!==e.src.charCodeAt(a))return!1;if(33===(o=e.src.charCodeAt(a+1))||63===o){if(n)return!0}else{if(47!==o&&!(97<=(l=32|o)&&l<=122))return!1;if(47===o){if(!(s=e.src.slice(a,u).match(W)))return!1}else if(!(s=e.src.slice(a,u).match(Z)))return!1;if(!0!==$[s[1].toLowerCase()])return!1;if(n)return!0}for(i=t+1;i<e.lineMax&&!e.isEmpty(i);)i++;return e.line=i,e.tokens.push({type:'htmlblock',level:e.level,lines:[t,e.line],content:e.getLines(t,i,0,!0)}),!0},['paragraph','blockquote']],['table',function(e,t,r,n){var o,s,i,a,u,l,c,p;if(r<t+2)return!1;if(i=t+1,e.tShift[i]<e.blkIndent)return!1;if((p=e.bMarks[i]+e.tShift[i])>=e.eMarks[i])return!1;if(124!==(p=e.src.charCodeAt(p))&&45!==p&&58!==p)return!1;if(o=J(e,t+1),!/^[-:| ]+$/.test(o))return!1;if((a=o.split('|'))<=2)return!1;for(l=[],s=0;s<a.length;s++){if(!(c=a[s].trim())){if(0===s||s===a.length-1)continue;return!1}if(!/^:?-+:?$/.test(c))return!1;58===c.charCodeAt(c.length-1)?l.push(58===c.charCodeAt(0)?'center':'right'):58===c.charCodeAt(0)?l.push('left'):l.push('')}if(-1===(o=J(e,t).trim()).indexOf('|'))return!1;if(a=o.replace(/^\\||\\|$/g,'').split('|'),l.length!==a.length)return!1;if(n)return!0;for(e.tokens.push({type:'table_open',lines:p=[t,0],level:e.level++}),e.tokens.push({type:'thead_open',lines:[t,t+1],level:e.level++}),e.tokens.push({type:'tr_open',lines:[t,t+1],level:e.level++}),s=0;s<a.length;s++)e.tokens.push({type:'th_open',align:l[s],lines:[t,t+1],level:e.level++}),e.tokens.push({type:'inline',content:a[s].trim(),lines:[t,t+1],level:e.level,children:[]}),e.tokens.push({type:'th_close',level:--e.level});for(e.tokens.push({type:'tr_close',level:--e.level}),e.tokens.push({type:'thead_close',level:--e.level}),e.tokens.push({type:'tbody_open',lines:n=[t+2,0],level:e.level++}),i=t+2;i<r&&!(e.tShift[i]<e.blkIndent)&&-1!==(o=J(e,i).trim()).indexOf('|');i++){for(a=o.replace(/^\\||\\|$/g,'').split('|'),e.tokens.push({type:'tr_open',level:e.level++}),s=0;s<a.length;s++)e.tokens.push({type:'td_open',align:l[s],level:e.level++}),u=a[s].substring(124===a[s].charCodeAt(0)?1:0,124===a[s].charCodeAt(a[s].length-1)?a[s].length-1:a[s].length).trim(),e.tokens.push({type:'inline',content:u,level:e.level,children:[]}),e.tokens.push({type:'td_close',level:--e.level});e.tokens.push({type:'tr_close',level:--e.level})}return e.tokens.push({type:'tbody_close',level:--e.level}),e.tokens.push({type:'table_close',level:--e.level}),p[1]=n[1]=i,e.line=i,!0},['paragraph']],['deflist',function(e,t,r,n){var o,s,i,a,u,l,c,p,h,f,g,d,m;if(n)return!(e.ddIndent<0)&&0<=Y(e,t);if(l=t+1,e.isEmpty(l)&&++l>r)return!1;if(e.tShift[l]<e.blkIndent)return!1;if((o=Y(e,l))<0)return!1;if(e.level>=e.options.maxNesting)return!1;u=e.tokens.length,e.tokens.push({type:'dl_open',lines:n=[t,0],level:e.level++}),i=t,s=l;e:for(;;){for(d=!(m=!0),e.tokens.push({type:'dt_open',lines:[i,i],level:e.level++}),e.tokens.push({type:'inline',content:e.getLines(i,i+1,e.blkIndent,!1).trim(),level:e.level+1,lines:[i,i],children:[]}),e.tokens.push({type:'dt_close',level:--e.level});;){if(e.tokens.push({type:'dd_open',lines:a=[l,0],level:e.level++}),g=e.tight,p=e.ddIndent,c=e.blkIndent,f=e.tShift[s],h=e.parentType,e.blkIndent=e.ddIndent=e.tShift[s]+2,e.tShift[s]=o-e.bMarks[s],e.tight=!0,e.parentType='deflist',e.parser.tokenize(e,s,r,!0),e.tight&&!d||(m=!1),d=1<e.line-s&&e.isEmpty(e.line-1),e.tShift[s]=f,e.tight=g,e.parentType=h,e.blkIndent=c,e.ddIndent=p,e.tokens.push({type:'dd_close',level:--e.level}),a[1]=l=e.line,r<=l)break e;if(e.tShift[l]<e.blkIndent)break e;if((o=Y(e,l))<0)break;s=l}if(r<=l)break;if(i=l,e.isEmpty(i))break;if(e.tShift[i]<e.blkIndent)break;if((s=i+1)>=r)break;if(e.isEmpty(s)&&s++,r<=s)break;if(e.tShift[s]<e.blkIndent)break;if((o=Y(e,s))<0)break}return e.tokens.push({type:'dl_close',level:--e.level}),n[1]=l,e.line=l,m&&function(e){for(var t=e.level+2,r=u+2,n=e.tokens.length-2;r<n;r++)e.tokens[r].level===t&&'paragraph_open'===e.tokens[r].type&&(e.tokens[r+2].tight=!0,e.tokens[r].tight=!0,r+=2)}(e),!0},['paragraph']],['paragraph',function(e,t){var r,n,o,s,i,a,u=t+1;if(u<(r=e.lineMax)&&!e.isEmpty(u))for(a=e.parser.ruler.getRules('paragraph');u<r&&!e.isEmpty(u);u++)if(!(3<e.tShift[u]-e.blkIndent)){for(o=!1,s=0,i=a.length;s<i;s++)if(a[s](e,u,r,!0)){o=!0;break}if(o)break}return n=e.getLines(t,u,e.blkIndent,!1).trim(),e.line=u,n.length&&(e.tokens.push({type:'paragraph_open',tight:!1,lines:[t,e.line],level:e.level}),e.tokens.push({type:'inline',content:n,level:e.level+1,lines:[t,e.line],children:[]}),e.tokens.push({type:'paragraph_close',tight:!1,level:e.level})),!0}]];function Q(){this.ruler=new C;for(var e=0;e<K.length;e++)this.ruler.push(K[e][0],K[e][1],{alt:(K[e][2]||[]).slice()})}Q.prototype.tokenize=function(e,t,r){for(var n,o=this.ruler.getRules(''),s=o.length,i=t,a=!1;i<r&&(e.line=i=e.skipEmptyLines(i),!(r<=i))&&!(e.tShift[i]<e.blkIndent);){for(n=0;n<s&&!o[n](e,i,r,!1);n++);if(e.tight=!a,e.isEmpty(e.line-1)&&(a=!0),(i=e.line)<r&&e.isEmpty(i)){if(a=!0,++i<r&&'list'===e.parentType&&e.isEmpty(i))break;e.line=i}}};var X=/[\\n\\t]/g,ee=/\\r[\\n\\u0085]|[\\u2424\\u2028\\u0085]/g,te=/\\u00a0/g;Q.prototype.parse=function(r,e,t,n){var o=0,s=0;if(!r)return[];0<=(r=(r=r.replace(te,' ')).replace(ee,'\\n')).indexOf('\\t')&&(r=r.replace(X,function(e,t){return 10===r.charCodeAt(t)?(o=t+1,s=0,e):(e=' '.slice((t-o-s)%4),s=t-o+1,e)})),n=new H(r,this,e,t,n),this.tokenize(n,n.line,n.lineMax)};for(var re=[],ne=0;ne<256;ne++)re.push(0);function oe(e){return 48<=e&&e<=57||65<=e&&e<=90||97<=e&&e<=122}function se(e,t){for(var r,n=t,o=!0,s=!0,i=e.posMax,a=e.src.charCodeAt(t),u=0<t?e.src.charCodeAt(t-1):-1;n<i&&e.src.charCodeAt(n)===a;)n++;return i<=n&&(o=!1),4<=(r=n-t)?o=s=!1:(32!==(t=n<i?e.src.charCodeAt(n):-1)&&10!==t||(o=!1),32!==u&&10!==u||(s=!1),95===a&&(oe(u)&&(o=!1),oe(t)&&(s=!1))),{can_open:o,can_close:s,delims:r}}'\\\\!\"#$%&\\'()*+,./:;<=>?@[]^_`{|}~-'.split('').forEach(function(e){re[e.charCodeAt(0)]=1});var ie=/\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g,ae=/\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g,ue=['coap','doi','javascript','aaa','aaas','about','acap','cap','cid','crid','data','dav','dict','dns','file','ftp','geo','go','gopher','h323','http','https','iax','icap','im','imap','info','ipp','iris','iris.beep','iris.xpc','iris.xpcs','iris.lwz','ldap','mailto','mid','msrp','msrps','mtqp','mupdate','news','nfs','ni','nih','nntp','opaquelocktoken','pop','pres','rtsp','service','session','shttp','sieve','sip','sips','sms','snmp','soap.beep','soap.beeps','tag','tel','telnet','tftp','thismessage','tn3270','tip','tv','urn','vemmi','ws','wss','xcon','xcon-userid','xmlrpc.beep','xmlrpc.beeps','xmpp','z39.50r','z39.50s','adiumxtra','afp','afs','aim','apt','attachment','aw','beshare','bitcoin','bolo','callto','chrome','chrome-extension','com-eventbrite-attendee','content','cvs','dlna-playsingle','dlna-playcontainer','dtn','dvb','ed2k','facetime','feed','finger','fish','gg','git','gizmoproject','gtalk','hcp','icon','ipn','irc','irc6','ircs','itms','jar','jms','keyparc','lastfm','ldaps','magnet','maps','market','message','mms','ms-help','msnim','mumble','mvn','notes','oid','palm','paparazzi','platform','proxy','psyc','query','res','resource','rmi','rsync','rtmp','secondlife','sftp','sgn','skype','smb','soldat','spotify','ssh','steam','svn','teamspeak','things','udp','unreal','ut2004','ventrilo','view-source','webcal','wtai','wyciwyg','xfire','xri','ymsgr'],le=/^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,ce=/^<([a-zA-Z.\\-]{1,25}):([^<>\\x00-\\x20]*)>/;function pe(n,o){return n=n.source,o=o||'',function e(t,r){return t?(r=r.source||r,n=n.replace(t,r),e):new RegExp(n,o)}}var he=pe(/(?:unquoted|single_quoted|double_quoted)/)('unquoted',/[^\"'=<>`\\x00-\\x20]+/)('single_quoted',/'[^']*'/)('double_quoted',/\"[^\"]*\"/)(),fe=pe(/(?:\\s+attr_name(?:\\s*=\\s*attr_value)?)/)('attr_name',/[a-zA-Z_:][a-zA-Z0-9:._-]*/)('attr_value',he)(),ge=pe(/<[A-Za-z][A-Za-z0-9]*attribute*\\s*\\/?>/)('attribute',fe)(),de=pe(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)('open_tag',ge)('close_tag',/<\\/[A-Za-z][A-Za-z0-9]*\\s*>/)('comment',/<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->/)('processing',/<[?].*?[?]>/)('declaration',/<![A-Z]+\\s+[^>]*>/)('cdata',/<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/)(),me=/^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,be=/^&([a-z][a-z0-9]{1,31});/i,ve=[['text',function(e,t){for(var r=e.pos;r<e.posMax&&!function(e){switch(e){case 10:case 92:case 96:case 42:case 95:case 94:case 91:case 93:case 33:case 38:case 60:case 62:case 123:case 125:case 36:case 37:case 64:case 126:case 43:case 61:case 58:return 1;default:return}}(e.src.charCodeAt(r));)r++;return r!==e.pos&&(t||(e.pending+=e.src.slice(e.pos,r)),e.pos=r,!0)}],['newline',function(e,t){var r,n,o=e.pos;if(10!==e.src.charCodeAt(o))return!1;if(r=e.pending.length-1,n=e.posMax,!t)if(0<=r&&32===e.pending.charCodeAt(r))if(1<=r&&32===e.pending.charCodeAt(r-1)){for(var s=r-2;0<=s;s--)if(32!==e.pending.charCodeAt(s)){e.pending=e.pending.substring(0,s+1);break}e.push({type:'hardbreak',level:e.level})}else e.pending=e.pending.slice(0,-1),e.push({type:'softbreak',level:e.level});else e.push({type:'softbreak',level:e.level});for(o++;o<n&&32===e.src.charCodeAt(o);)o++;return e.pos=o,!0}],['escape',function(e,t){var r,n=e.pos,o=e.posMax;if(92!==e.src.charCodeAt(n))return!1;if(++n<o){if((r=e.src.charCodeAt(n))<256&&0!==re[r])return t||(e.pending+=e.src[n]),e.pos+=2,!0;if(10===r){for(t||e.push({type:'hardbreak',level:e.level}),n++;n<o&&32===e.src.charCodeAt(n);)n++;return e.pos=n,!0}}return t||(e.pending+='\\\\'),e.pos++,!0}],['backticks',function(e,t){var r,n,o,s,i,a=e.pos;if(96!==e.src.charCodeAt(a))return!1;for(r=a,a++,n=e.posMax;a<n&&96===e.src.charCodeAt(a);)a++;for(o=e.src.slice(r,a),i=a;-1!==(s=e.src.indexOf('`',i));){for(i=s+1;i<n&&96===e.src.charCodeAt(i);)i++;if(i-s===o.length)return t||e.push({type:'code',content:e.src.slice(a,s).replace(/[ \\n]+/g,' ').trim(),block:!1,level:e.level}),e.pos=i,!0}return t||(e.pending+=o),e.pos+=o.length,!0}],['del',function(e,t){var r,n,o,s,i,a=e.posMax,u=e.pos;if(126!==e.src.charCodeAt(u))return!1;if(t)return!1;if(a<=u+4)return!1;if(126!==e.src.charCodeAt(u+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(s=0<u?e.src.charCodeAt(u-1):-1,i=e.src.charCodeAt(u+2),126===s)return!1;if(126===i)return!1;if(32===i||10===i)return!1;for(n=u+2;n<a&&126===e.src.charCodeAt(n);)n++;if(u+3<n)return e.pos+=n-u,t||(e.pending+=e.src.slice(u,n)),!0;for(e.pos=u+2,o=1;e.pos+1<a;){if(126===e.src.charCodeAt(e.pos)&&126===e.src.charCodeAt(e.pos+1)&&(s=e.src.charCodeAt(e.pos-1),126!==(i=e.pos+2<a?e.src.charCodeAt(e.pos+2):-1)&&126!==s&&(32!==s&&10!==s?o--:32!==i&&10!==i&&o++,o<=0))){r=!0;break}e.parser.skipToken(e)}return r?(e.posMax=e.pos,e.pos=u+2,t||(e.push({type:'del_open',level:e.level++}),e.parser.tokenize(e),e.push({type:'del_close',level:--e.level})),e.pos=e.posMax+2,e.posMax=a,!0):(e.pos=u,!1)}],['ins',function(e,t){var r,n,o,s,i,a=e.posMax,u=e.pos;if(43!==e.src.charCodeAt(u))return!1;if(t)return!1;if(a<=u+4)return!1;if(43!==e.src.charCodeAt(u+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(s=0<u?e.src.charCodeAt(u-1):-1,i=e.src.charCodeAt(u+2),43===s)return!1;if(43===i)return!1;if(32===i||10===i)return!1;for(n=u+2;n<a&&43===e.src.charCodeAt(n);)n++;if(n!==u+2)return e.pos+=n-u,t||(e.pending+=e.src.slice(u,n)),!0;for(e.pos=u+2,o=1;e.pos+1<a;){if(43===e.src.charCodeAt(e.pos)&&43===e.src.charCodeAt(e.pos+1)&&(s=e.src.charCodeAt(e.pos-1),43!==(i=e.pos+2<a?e.src.charCodeAt(e.pos+2):-1)&&43!==s&&(32!==s&&10!==s?o--:32!==i&&10!==i&&o++,o<=0))){r=!0;break}e.parser.skipToken(e)}return r?(e.posMax=e.pos,e.pos=u+2,t||(e.push({type:'ins_open',level:e.level++}),e.parser.tokenize(e),e.push({type:'ins_close',level:--e.level})),e.pos=e.posMax+2,e.posMax=a,!0):(e.pos=u,!1)}],['mark',function(e,t){var r,n,o,s,i,a=e.posMax,u=e.pos;if(61!==e.src.charCodeAt(u))return!1;if(t)return!1;if(a<=u+4)return!1;if(61!==e.src.charCodeAt(u+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(s=0<u?e.src.charCodeAt(u-1):-1,i=e.src.charCodeAt(u+2),61===s)return!1;if(61===i)return!1;if(32===i||10===i)return!1;for(n=u+2;n<a&&61===e.src.charCodeAt(n);)n++;if(n!==u+2)return e.pos+=n-u,t||(e.pending+=e.src.slice(u,n)),!0;for(e.pos=u+2,o=1;e.pos+1<a;){if(61===e.src.charCodeAt(e.pos)&&61===e.src.charCodeAt(e.pos+1)&&(s=e.src.charCodeAt(e.pos-1),61!==(i=e.pos+2<a?e.src.charCodeAt(e.pos+2):-1)&&61!==s&&(32!==s&&10!==s?o--:32!==i&&10!==i&&o++,o<=0))){r=!0;break}e.parser.skipToken(e)}return r?(e.posMax=e.pos,e.pos=u+2,t||(e.push({type:'mark_open',level:e.level++}),e.parser.tokenize(e),e.push({type:'mark_close',level:--e.level})),e.pos=e.posMax+2,e.posMax=a,!0):(e.pos=u,!1)}],['emphasis',function(e,t){var r,n,o,s,i,a,u,l=e.posMax,c=e.pos,p=e.src.charCodeAt(c);if(95!==p&&42!==p)return!1;if(t)return!1;if(r=(u=se(e,c)).delims,!u.can_open)return e.pos+=r,t||(e.pending+=e.src.slice(c,e.pos)),!0;if(e.level>=e.options.maxNesting)return!1;for(e.pos=c+r,a=[r];e.pos<l;)if(e.src.charCodeAt(e.pos)!==p)e.parser.skipToken(e);else{if(n=(u=se(e,e.pos)).delims,u.can_close){for(s=a.pop(),i=n;s!==i;){if(i<s){a.push(s-i);break}if(i-=s,0===a.length)break;e.pos+=s,s=a.pop()}if(0===a.length){r=s,o=!0;break}e.pos+=n;continue}u.can_open&&a.push(n),e.pos+=n}return o?(e.posMax=e.pos,e.pos=c+r,t||(2!==r&&3!==r||e.push({type:'strong_open',level:e.level++}),1!==r&&3!==r||e.push({type:'em_open',level:e.level++}),e.parser.tokenize(e),1!==r&&3!==r||e.push({type:'em_close',level:--e.level}),2!==r&&3!==r||e.push({type:'strong_close',level:--e.level})),e.pos=e.posMax+r,e.posMax=l,!0):(e.pos=c,!1)}],['sub',function(e,t){var r,n,o=e.posMax,s=e.pos;if(126!==e.src.charCodeAt(s))return!1;if(t)return!1;if(o<=s+2)return!1;if(e.level>=e.options.maxNesting)return!1;for(e.pos=s+1;e.pos<o;){if(126===e.src.charCodeAt(e.pos)){r=!0;break}e.parser.skipToken(e)}return!r||s+1===e.pos||(n=e.src.slice(s+1,e.pos)).match(/(^|[^\\\\])(\\\\\\\\)*\\s/)?(e.pos=s,!1):(e.posMax=e.pos,e.pos=s+1,t||e.push({type:'sub',level:e.level,content:n.replace(ie,'$1')}),e.pos=e.posMax+1,e.posMax=o,!0)}],['sup',function(e,t){var r,n,o=e.posMax,s=e.pos;if(94!==e.src.charCodeAt(s))return!1;if(t)return!1;if(o<=s+2)return!1;if(e.level>=e.options.maxNesting)return!1;for(e.pos=s+1;e.pos<o;){if(94===e.src.charCodeAt(e.pos)){r=!0;break}e.parser.skipToken(e)}return!r||s+1===e.pos||(n=e.src.slice(s+1,e.pos)).match(/(^|[^\\\\])(\\\\\\\\)*\\s/)?(e.pos=s,!1):(e.posMax=e.pos,e.pos=s+1,t||e.push({type:'sup',level:e.level,content:n.replace(ae,'$1')}),e.pos=e.posMax+1,e.posMax=o,!0)}],['links',function(e,t){var r,n,o,s,i,a,u=!1,l=e.pos,c=e.posMax,p=e.pos,h=e.src.charCodeAt(p);if(33===h&&(u=!0,h=e.src.charCodeAt(++p)),91!==h)return!1;if(e.level>=e.options.maxNesting)return!1;if(r=p+1,(h=D(e,p))<0)return!1;if((s=h+1)<c&&40===e.src.charCodeAt(s)){for(s++;s<c&&(32===(a=e.src.charCodeAt(s))||10===a);s++);if(c<=s)return!1;for(B(e,p=s)?(n=e.linkContent,s=e.pos):n='',p=s;s<c&&(32===(a=e.src.charCodeAt(s))||10===a);s++);if(s<c&&p!==s&&q(e,s))for(o=e.linkContent,s=e.pos;s<c&&(32===(a=e.src.charCodeAt(s))||10===a);s++);else o='';if(c<=s||41!==e.src.charCodeAt(s))return e.pos=l,!1;s++}else{if(0<e.linkLevel)return!1;for(;s<c&&(32===(a=e.src.charCodeAt(s))||10===a);s++);if(s<c&&91===e.src.charCodeAt(s)&&(p=s+1,0<=(s=D(e,s))?i=e.src.slice(p,s++):s=p-1),i||(void 0===i&&(s=h+1),i=e.src.slice(r,h)),!(i=e.env.references[F(i)]))return e.pos=l,!1;n=i.href,o=i.title}return t||(e.pos=r,e.posMax=h,u?e.push({type:'image',src:n,title:o,alt:e.src.substr(r,h-r),level:e.level}):(e.push({type:'link_open',href:n,title:o,level:e.level++}),e.linkLevel++,e.parser.tokenize(e),e.linkLevel--,e.push({type:'link_close',level:--e.level}))),e.pos=s,e.posMax=c,!0}],['footnote_inline',function(e,t){var r,n=e.posMax,o=e.pos;return!(n<=o+2||94!==e.src.charCodeAt(o)||91!==e.src.charCodeAt(o+1)||e.level>=e.options.maxNesting||(r=o+2,(o=D(e,o+1))<0||(t||(e.env.footnotes||(e.env.footnotes={}),e.env.footnotes.list||(e.env.footnotes.list=[]),t=e.env.footnotes.list.length,e.pos=r,e.posMax=o,e.push({type:'footnote_ref',id:t,level:e.level}),e.linkLevel++,r=e.tokens.length,e.parser.tokenize(e),e.env.footnotes.list[t]={tokens:e.tokens.splice(r)},e.linkLevel--),e.pos=o+1,e.posMax=n,0)))}],['footnote_ref',function(e,t){var r,n,o=e.posMax,s=e.pos;if(o<s+3)return!1;if(!e.env.footnotes||!e.env.footnotes.refs)return!1;if(91!==e.src.charCodeAt(s))return!1;if(94!==e.src.charCodeAt(s+1))return!1;if(e.level>=e.options.maxNesting)return!1;for(r=s+2;r<o;r++){if(32===e.src.charCodeAt(r))return!1;if(10===e.src.charCodeAt(r))return!1;if(93===e.src.charCodeAt(r))break}return!(r===s+2||o<=r||(r++,s=e.src.slice(s+2,r-1),void 0===e.env.footnotes.refs[':'+s]||(t||(e.env.footnotes.list||(e.env.footnotes.list=[]),e.env.footnotes.refs[':'+s]<0?(n=e.env.footnotes.list.length,e.env.footnotes.list[n]={label:s,count:0},e.env.footnotes.refs[':'+s]=n):n=e.env.footnotes.refs[':'+s],s=e.env.footnotes.list[n].count,e.env.footnotes.list[n].count++,e.push({type:'footnote_ref',id:n,subId:s,level:e.level})),e.pos=r,e.posMax=o,0)))}],['autolink',function(e,t){var r,n,o,s=e.pos;return!(60!==e.src.charCodeAt(s)||(r=e.src.slice(s)).indexOf('>')<0||((s=r.match(ce))?ue.indexOf(s[1].toLowerCase())<0||(o=_(n=s[0].slice(1,-1)),!e.parser.validateLink(n)||(t||(e.push({type:'link_open',href:o,level:e.level}),e.push({type:'text',content:n,level:e.level+1}),e.push({type:'link_close',level:e.level})),e.pos+=s[0].length,0)):!(r=r.match(le))||(o=_('mailto:'+(n=r[0].slice(1,-1))),!e.parser.validateLink(o)||(t||(e.push({type:'link_open',href:o,level:e.level}),e.push({type:'text',content:n,level:e.level+1}),e.push({type:'link_close',level:e.level})),e.pos+=r[0].length,0))))}],['htmltag',function(e,t){var r,n,o=e.pos;return!(!e.options.html||(n=e.posMax,60!==e.src.charCodeAt(o)||n<=o+2||33!==(n=e.src.charCodeAt(o+1))&&63!==n&&47!==n&&!(97<=(n=32|n)&&n<=122)||!(r=e.src.slice(o).match(de))||(t||e.push({type:'htmltag',content:e.src.slice(o,o+r[0].length),level:e.level}),e.pos+=r[0].length,0)))}],['entity',function(e,t){var r,n=e.pos,o=e.posMax;if(38!==e.src.charCodeAt(n))return!1;if(n+1<o)if(35===e.src.charCodeAt(n+1)){if(r=e.src.slice(n).match(me))return t||(o='x'===r[1][0].toLowerCase()?parseInt(r[1].slice(1),16):parseInt(r[1],10),e.pending+=a(o)?u(o):u(65533)),e.pos+=r[0].length,!0}else if(r=e.src.slice(n).match(be)){n=s(r[1]);if(r[1]!==n)return t||(e.pending+=n),e.pos+=r[0].length,!0}return t||(e.pending+='&'),e.pos++,!0}]];function ke(){this.ruler=new C;for(var e=0;e<ve.length;e++)this.ruler.push(ve[e][0],ve[e][1]);this.validateLink=Ae}function Ae(e){e=e.trim().toLowerCase();return-1===(e=g(e)).indexOf(':')||-1===['vbscript','javascript','file','data'].indexOf(e.split(':')[0])}ke.prototype.skipToken=function(e){var t,r,n=this.ruler.getRules(''),o=n.length,s=e.pos;if(0<(r=e.cacheGet(s)))e.pos=r;else{for(t=0;t<o;t++)if(n[t](e,!0))return void e.cacheSet(s,e.pos);e.pos++,e.cacheSet(s,e.pos)}},ke.prototype.tokenize=function(e){for(var t,r,n=this.ruler.getRules(''),o=n.length,s=e.posMax;e.pos<s;){for(r=0;r<o&&!(t=n[r](e,!1));r++);if(t){if(e.pos>=s)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()};var ye={default:{options:{html:!(ke.prototype.parse=function(e,t,r,n){n=new E(e,this,t,r,n);this.tokenize(n)}),xhtmlOut:!1,breaks:!1,langPrefix:'language-',linkTarget:'',typographer:!1,quotes:'“”‘’',highlight:null,maxNesting:20},components:{core:{rules:['block','inline','references','replacements','smartquotes','references','abbr2','footnote_tail']},block:{rules:['blockquote','code','fences','footnote','heading','hr','htmlblock','lheading','list','paragraph','table']},inline:{rules:['autolink','backticks','del','emphasis','entity','escape','footnote_ref','htmltag','links','newline','text']}}},full:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:'language-',linkTarget:'',typographer:!1,quotes:'“”‘’',highlight:null,maxNesting:20},components:{core:{},block:{},inline:{}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:'language-',linkTarget:'',typographer:!1,quotes:'“”‘’',highlight:null,maxNesting:20},components:{core:{rules:['block','inline','references','abbr2']},block:{rules:['blockquote','code','fences','heading','hr','htmlblock','lheading','list','paragraph']},inline:{rules:['autolink','backticks','emphasis','entity','escape','htmltag','links','newline','text']}}}};function xe(e,t,r){this.src=t,this.env=r,this.options=e.options,this.tokens=[],this.inlineMode=!1,this.inline=e.inline,this.block=e.block,this.renderer=e.renderer,this.typographer=e.typographer}function we(e,t){'string'!=typeof e&&(t=e,e='default'),t&&null!=t.linkify&&console.warn('linkify option is removed. Use linkify plugin instead:\\n\\nimport Remarkable from \\'remarkable\\';\\nimport linkify from \\'remarkable/linkify\\';\\nnew Remarkable().use(linkify)\\n'),this.inline=new ke,this.block=new Q,this.core=new U,this.renderer=new w,this.ruler=new C,this.options={},this.configure(ye[e]),this.set(t||{})}function Ce(e,t){if(Array.prototype.indexOf)return e.indexOf(t);for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}function Ee(e,t){for(var r=e.length-1;0<=r;r--)!0===t(e[r])&&e.splice(r,1)}function De(e){throw new Error('Unhandled case for value: \\''+e+'\\'')}we.prototype.set=function(e){o(this.options,e)},we.prototype.configure=function(t){var r=this;if(!t)throw new Error('Wrong `remarkable` preset, check name/content');t.options&&r.set(t.options),t.components&&Object.keys(t.components).forEach(function(e){t.components[e].rules&&r[e].ruler.enable(t.components[e].rules,!0)})},we.prototype.use=function(e,t){return e(this,t),this},we.prototype.parse=function(e,t){t=new xe(this,e,t);return this.core.process(t),t.tokens},we.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)},we.prototype.parseInline=function(e,t){t=new xe(this,e,t);return t.inlineMode=!0,this.core.process(t),t.tokens},we.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)};var _e=(Be.prototype.setTagName=function(e){return this.tagName=e,this},Be.prototype.getTagName=function(){return this.tagName||''},Be.prototype.setAttr=function(e,t){return this.getAttrs()[e]=t,this},Be.prototype.getAttr=function(e){return this.getAttrs()[e]},Be.prototype.setAttrs=function(e){return Object.assign(this.getAttrs(),e),this},Be.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},Be.prototype.setClass=function(e){return this.setAttr('class',e)},Be.prototype.addClass=function(e){for(var t,r=this.getClass(),n=this.whitespaceRegex,o=r?r.split(n):[],s=e.split(n);t=s.shift();)-1===Ce(o,t)&&o.push(t);return this.getAttrs().class=o.join(' '),this},Be.prototype.removeClass=function(e){for(var t,r=this.getClass(),n=this.whitespaceRegex,o=r?r.split(n):[],s=e.split(n);o.length&&(t=s.shift());){var i=Ce(o,t);-1!==i&&o.splice(i,1)}return this.getAttrs().class=o.join(' '),this},Be.prototype.getClass=function(){return this.getAttrs().class||''},Be.prototype.hasClass=function(e){return-1!==(' '+this.getClass()+' ').indexOf(' '+e+' ')},Be.prototype.setInnerHTML=function(e){return this.innerHTML=e,this},Be.prototype.setInnerHtml=function(e){return this.setInnerHTML(e)},Be.prototype.getInnerHTML=function(){return this.innerHTML||''},Be.prototype.getInnerHtml=function(){return this.getInnerHTML()},Be.prototype.toAnchorString=function(){var e=this.getTagName(),t=this.buildAttrsStr();return['<',e,t=t?' '+t:'','>',this.getInnerHtml(),'</',e,'>'].join('')},Be.prototype.buildAttrsStr=function(){if(!this.attrs)return'';var e,t=this.getAttrs(),r=[];for(e in t)t.hasOwnProperty(e)&&r.push(e+'=\"'+t[e]+'\"');return r.join(' ')},Be);function Be(e){void 0===e&&(e={}),this.tagName='',this.attrs={},this.innerHTML='',this.whitespaceRegex=/\\s+/,this.tagName=e.tagName||'',this.attrs=e.attrs||{},this.innerHTML=e.innerHtml||e.innerHTML||''}var qe=(Te.prototype.build=function(e){return new _e({tagName:'a',attrs:this.createAttrs(e),innerHtml:this.processAnchorText(e.getAnchorText())})},Te.prototype.createAttrs=function(e){var t={href:e.getAnchorHref()},r=this.createCssClass(e);return r&&(t.class=r),this.newWindow&&(t.target='_blank',t.rel='noopener noreferrer'),this.truncate&&this.truncate.length&&this.truncate.length<e.getAnchorText().length&&(t.title=e.getAnchorHref()),t},Te.prototype.createCssClass=function(e){var t=this.className;if(t){for(var r=[t],n=e.getCssClassSuffixes(),o=0,s=n.length;o<s;o++)r.push(t+'-'+n[o]);return r.join(' ')}return''},Te.prototype.processAnchorText=function(e){return this.doTruncate(e)},Te.prototype.doTruncate=function(e){var t=this.truncate;if(!t||!t.length)return e;var r,s=t.length,n=t.location;return'smart'===n?function(e,t,o){function r(e){var t='';return e.scheme&&e.host&&(t+=e.scheme+'://'),e.host&&(t+=e.host),e.path&&(t+='/'+e.path),e.query&&(t+='?'+e.query),e.fragment&&(t+='#'+e.fragment),t}function n(e,t){var r=t/2,n=Math.ceil(r),t=-1*Math.floor(r),r='';return t<0&&(r=e.substr(t)),e.substr(0,n)+o+r}var s=null==o?(o='…',c=3,8):(c=o.length,o.length);if(e.length<=t)return e;var i,a,u=t-c,l=(a={},(l=(i=e).match(/^([a-z]+):\\/\\//i))&&(a.scheme=l[1],i=i.substr(l[0].length)),(l=i.match(/^(.*?)(?=(\\?|#|\\/|$))/i))&&(a.host=l[1],i=i.substr(l[0].length)),(l=i.match(/^\\/(.*?)(?=(\\?|#|$))/i))&&(a.path=l[1],i=i.substr(l[0].length)),(l=i.match(/^\\?(.*?)(?=(#|$))/i))&&(a.query=l[1],i=i.substr(l[0].length)),(l=i.match(/^#(.*?)$/i))&&(a.fragment=l[1]),a);if(!l.query||(a=l.query.match(/^(.*?)(?=(\\?|\\#))(.*?)$/i))&&(l.query=l.query.substr(0,a[1].length),e=r(l)),e.length<=t)return e;if(l.host&&(l.host=l.host.replace(/^www\\./,''),e=r(l)),e.length<=t)return e;e='';if(l.host&&(e+=l.host),e.length>=u)return(l.host.length==t?l.host.substr(0,t-c)+o:n(e,u)).substr(0,u+s);var c='';if(l.path&&(c+='/'+l.path),l.query&&(c+='?'+l.query),c){if(u<=(e+c).length)return(e+c).length==t?(e+c).substr(0,t):(e+n(c,u-e.length)).substr(0,u+s);e+=c}if(l.fragment){c='#'+l.fragment;if(u<=(e+c).length)return(e+c).length==t?(e+c).substr(0,t):(e+n(c,u-e.length)).substr(0,u+s);e+=c}if(l.scheme&&l.host){var l=l.scheme+'://';if((e+l).length<u)return(l+e).substr(0,t)}if(e.length<=t)return e;t='';return 0<u&&(t=e.substr(-1*Math.floor(u/2))),(e.substr(0,Math.ceil(u/2))+o+t).substr(0,u+s)}(e,s):'middle'===n?function(e,t){if(e.length<=s)return e;var r,n=null==t?(t='…',r=8,3):(r=t.length,t.length),o=s-n,n='';return 0<o&&(n=e.substr(-1*Math.floor(o/2))),(e.substr(0,Math.ceil(o/2))+t+n).substr(0,o+r)}(e):(r=s,t=void 0,(n=e).length>r&&(e=null==t?(t='…',3):t.length,n=n.substring(0,r-e)+t),n)},Te),Fe=(Se.prototype.getMatchedText=function(){return this.matchedText},Se.prototype.setOffset=function(e){this.offset=e},Se.prototype.getOffset=function(){return this.offset},Se.prototype.getCssClassSuffixes=function(){return[this.getType()]},Se.prototype.buildTag=function(){return this.tagBuilder.build(this)},Se),Me=function(e,t){return(Me=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function Se(e){this.__jsduckDummyDocProp=null,this.matchedText='',this.offset=0,this.tagBuilder=e.tagBuilder,this.matchedText=e.matchedText,this.offset=e.offset}function Te(e){void 0===e&&(e={}),this.newWindow=!1,this.truncate={},this.className='',this.newWindow=e.newWindow||!1,this.truncate=e.truncate||{},this.className=e.className||''}function Le(e,t){function r(){this.constructor=e}Me(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function Re(e){this.__jsduckDummyDocProp=null,this.tagBuilder=e.tagBuilder}function Ne(e){return'(?=('+ut+'))\\\\'+e}function ze(e){return'(?:'+Ne(e)+'(?:\\\\.'+Ne(e+1)+'){0,126}|'+at+')'}var Pe,je,Ie,Oe,Ue,He,Ve,Ge,$e,Ze,We=function(){return(We=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},Je=(Le(Bt,Ze=Fe),Bt.prototype.getType=function(){return'email'},Bt.prototype.getEmail=function(){return this.email},Bt.prototype.getAnchorHref=function(){return'mailto:'+this.email},Bt.prototype.getAnchorText=function(){return this.email},Bt),Ye=(Le(_t,$e=Fe),_t.prototype.getType=function(){return'hashtag'},_t.prototype.getServiceName=function(){return this.serviceName},_t.prototype.getHashtag=function(){return this.hashtag},_t.prototype.getAnchorHref=function(){var e=this.serviceName,t=this.hashtag;switch(e){case'twitter':return'https://twitter.com/hashtag/'+t;case'facebook':return'https://www.facebook.com/hashtag/'+t;case'instagram':return'https://instagram.com/explore/tags/'+t;default:throw new Error('Unknown service name to point hashtag to: '+e)}},_t.prototype.getAnchorText=function(){return'#'+this.hashtag},_t),Ke=(Le(Dt,Ge=Fe),Dt.prototype.getType=function(){return'mention'},Dt.prototype.getMention=function(){return this.mention},Dt.prototype.getServiceName=function(){return this.serviceName},Dt.prototype.getAnchorHref=function(){switch(this.serviceName){case'twitter':return'https://twitter.com/'+this.mention;case'instagram':return'https://instagram.com/'+this.mention;case'soundcloud':return'https://soundcloud.com/'+this.mention;default:throw new Error('Unknown service name to point mention to: '+this.serviceName)}},Dt.prototype.getAnchorText=function(){return'@'+this.mention},Dt.prototype.getCssClassSuffixes=function(){var e=Ge.prototype.getCssClassSuffixes.call(this),t=this.getServiceName();return t&&e.push(t),e},Dt),Qe=(Le(Et,Ve=Fe),Et.prototype.getType=function(){return'phone'},Et.prototype.getPhoneNumber=function(){return this.number},Et.prototype.getNumber=function(){return this.getPhoneNumber()},Et.prototype.getAnchorHref=function(){return'tel:'+(this.plusSign?'+':'')+this.number},Et.prototype.getAnchorText=function(){return this.matchedText},Et),Xe=(Le(Ct,He=Fe),Ct.prototype.getType=function(){return'url'},Ct.prototype.getUrlMatchType=function(){return this.urlMatchType},Ct.prototype.getUrl=function(){var e=this.url;return this.protocolRelativeMatch||this.protocolUrlMatch||this.protocolPrepended||(e=this.url='http://'+e,this.protocolPrepended=!0),e},Ct.prototype.getAnchorHref=function(){return this.getUrl().replace(/&/g,'&')},Ct.prototype.getAnchorText=function(){var e=this.getMatchedText();return this.protocolRelativeMatch&&(e=this.stripProtocolRelativePrefix(e)),this.stripPrefix.scheme&&(e=this.stripSchemePrefix(e)),this.stripPrefix.www&&(e=this.stripWwwPrefix(e)),this.stripTrailingSlash&&(e=this.removeTrailingSlash(e)),this.decodePercentEncoding&&(e=this.removePercentEncoding(e)),e},Ct.prototype.stripSchemePrefix=function(e){return e.replace(this.schemePrefixRegex,'')},Ct.prototype.stripWwwPrefix=function(e){return e.replace(this.wwwPrefixRegex,'$1')},Ct.prototype.stripProtocolRelativePrefix=function(e){return e.replace(this.protocolRelativeRegex,'')},Ct.prototype.removeTrailingSlash=function(e){return'/'===e.charAt(e.length-1)&&(e=e.slice(0,-1)),e},Ct.prototype.removePercentEncoding=function(e){var t=e.replace(/%22/gi,'"').replace(/%26/gi,'&').replace(/%27/gi,''').replace(/%3C/gi,'<').replace(/%3E/gi,'>');try{return decodeURIComponent(t)}catch(e){return t}},Ct),et=/[A-Za-z]/,tt=/[0-9]/,rt=/\\s/,nt=/['\"]/,ot=/[\\x00-\\x1F\\x7F]/,he=/A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC/.source,fe=he+/\\u00a9\\u00ae\\u2000-\\u3300\\ud83c\\ud000-\\udfff\\ud83d\\ud000-\\udfff\\ud83e\\ud000-\\udfff/.source+/\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D4-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u1885\\u1886\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFB-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F/.source,ge=/0-9\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19/.source,st=fe+ge,it=fe+ge,at='(?:['+ge+']{1,3}\\\\.){3}['+ge+']{1,3}',ut='['+it+'](?:['+it+'\\\\-]{0,61}['+it+'])?',lt=new RegExp('['+it+']'),ct=/(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|northwesternmutual|travelersinsurance|vermögensberatung|xn--3oq18vl8pn36a|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|vermögensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbaakc7dvf|xn--mgbc0a9azcg|xn--nqv7fs00ema|afamilycompany|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq61u9w7b|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbb9fbpob|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|spreadbetting|travelchannel|wolterskluwer|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|rightathome|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--estv75g|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--kpu716f|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pbt977c|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|சிங்கப்பூர்|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nationwide|newholland|nextdirect|onyourside|properties|protection|prudential|realestate|republican|restaurant|schaeffler|swiftcover|tatamotors|technology|telefonica|university|vistaprint|vlaanderen|volkswagen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|fujixerox|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|honeywell|institute|insurance|kuokgroup|ladbrokes|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|scjohnson|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--tckwe|xn--vhquv|yodobashi|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|budapest|builders|business|capetown|catering|catholic|chrysler|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|esurance|etisalat|everbank|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|movistar|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|symantec|training|uconnect|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|السعودية|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|cartier|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|iselect|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lancome|lanxess|lasalle|latrobe|leclerc|liaison|limited|lincoln|markets|metlife|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|shriram|singles|staples|starhub|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|yamaxun|youtube|zuerich|католик|اتصالات|الجزائر|العليان|پاکستان|كاثوليك|موبايلي|இந்தியா|abarth|abbott|abbvie|active|africa|agency|airbus|airtel|alipay|alsace|alstom|anquan|aramco|author|bayern|beauty|berlin|bharti|blanco|bostik|boston|broker|camera|career|caseih|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|mobily|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|piaget|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|warman|webcam|xihuan|yachts|yandex|zappos|москва|онлайн|ابوظبي|ارامكو|الاردن|المغرب|امارات|فلسطين|مليسيا|भारतम्|இலங்கை|ファッション|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|dodge|drive|dubai|earth|edeka|email|epost|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glade|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|intel|irish|iveco|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|lixil|loans|locus|lotte|lotto|lupin|macys|mango|media|miami|money|mopar|movie|nadex|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|zippo|ایران|بازار|بھارت|سودان|سورية|همراه|भारोत|संगठन|বাংলা|భారత్|ഭാരതം|嘉里大酒店|aarp|able|adac|aero|aigo|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|doha|duck|duns|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|raid|read|reit|rent|rest|rich|rmit|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scor|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|дети|сайт|بارت|بيتك|ڀارت|تونس|شبكة|عراق|عمان|موقع|भारत|ভারত|ভাৰত|ਭਾਰਤ|ભારત|ଭାରତ|ಭಾರತ|ලංකා|グーグル|クラウド|ポイント|大众汽车|组织机构|電訊盈科|香格里拉|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bnl|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceb|ceo|cfa|cfd|com|crs|csc|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jcp|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|off|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|qvc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|srl|srt|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|бел|ком|қаз|мкд|мон|орг|рус|срб|укр|հայ|קום|عرب|قطر|كوم|مصر|कॉम|नेट|คอม|ไทย|ストア|セール|みんな|中文网|天主教|我爱你|新加坡|淡马锡|诺基亚|飞利浦|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|ελ|бг|ею|рф|გე|닷넷|닷컴|삼성|한국|コム|世界|中信|中国|中國|企业|佛山|信息|健康|八卦|公司|公益|台湾|台灣|商城|商店|商标|嘉里|在线|大拿|娱乐|家電|工行|广东|微博|慈善|手机|手表|招聘|政务|政府|新闻|时尚|書籍|机构|游戏|澳門|点看|珠宝|移动|网址|网店|网站|网络|联通|谷歌|购物|通販|集团|食品|餐厅|香港)/,pt=(Le(wt,Ue=Re),wt.prototype.parseMatches=function(n){for(var e,t,r,o,s,i,a,u,l,c=this.tagBuilder,p=this.localPartCharRegex,h=this.strictTldRegex,f=[],g=n.length,d=new ht,m={m:'a',a:'i',i:'l',l:'t',t:'o',o:':'},b=0,v=0,k=d;b<g;){var A=n.charAt(b);switch(v){case 0:'m'===(l=A)?y(1):p.test(l)&&y();break;case 1:a=n.charAt(b-1),u=A,':'===a?p.test(u)?(v=2,k=new ht(We({},k,{hasMailtoPrefix:!0}))):x():m[a]===u||(p.test(u)?v=2:'.'===u?v=3:'@'===u?v=4:x());break;case 2:'.'===(i=A)?v=3:'@'===i?v=4:p.test(i)||x();break;case 3:'.'!==(s=A)&&'@'!==s&&p.test(s)?v=2:x();break;case 4:o=A,lt.test(o)?v=5:x();break;case 5:'.'===(r=A)?v=7:'-'===r?v=6:lt.test(r)||w();break;case 6:'-'!==(t=A)&&'.'!==t&<.test(t)?v=5:w();break;case 7:'.'!==(e=A)&&'-'!==e&<.test(e)?(v=5,k=new ht(We({},k,{hasDomainDot:!0}))):w();break;default:De(v)}b++}return w(),f;function y(e){void 0===e&&(e=2),v=e,k=new ht({idx:b})}function x(){v=0,k=d}function w(){var e,t,r;k.hasDomainDot&&(e=n.slice(k.idx,b),/[-.]$/.test(e)&&(e=e.slice(0,-1)),t=k.hasMailtoPrefix?e.slice('mailto:'.length):e,r=(t.split('.').pop()||'').toLowerCase(),h.test(r)&&f.push(new Je({tagBuilder:c,matchedText:e,offset:k.idx,email:t}))),x()}},wt),ht=function(e){void 0===e&&(e={}),this.idx=void 0!==e.idx?e.idx:-1,this.hasMailtoPrefix=!!e.hasMailtoPrefix,this.hasDomainDot=!!e.hasDomainDot},ft=(xt.isValid=function(e,t){return!(t&&!this.isValidUriScheme(t)||this.urlMatchDoesNotHaveProtocolOrDot(e,t)||this.urlMatchDoesNotHaveAtLeastOneWordChar(e,t)&&!this.isValidIpAddress(e)||this.containsMultipleDots(e))},xt.isValidIpAddress=function(e){var t=new RegExp(this.hasFullProtocolRegex.source+this.ipRegex.source);return null!==e.match(t)},xt.containsMultipleDots=function(e){var t=e;return this.hasFullProtocolRegex.test(e)&&(t=e.split('://')[1]),-1<t.split('/')[0].indexOf('..')},xt.isValidUriScheme=function(e){e=e.match(this.uriSchemeRegex),e=e&&e[0].toLowerCase();return'javascript:'!==e&&'vbscript:'!==e},xt.urlMatchDoesNotHaveProtocolOrDot=function(e,t){return!(!e||t&&this.hasFullProtocolRegex.test(t)||-1!==e.indexOf('.'))},xt.urlMatchDoesNotHaveAtLeastOneWordChar=function(e,t){return!(!e||!t||this.hasWordCharAfterProtocolRegex.test(e))},xt.hasFullProtocolRegex=/^[A-Za-z][-.+A-Za-z0-9]*:\\/\\//,xt.uriSchemeRegex=/^[A-Za-z][-.+A-Za-z0-9]*:/,xt.hasWordCharAfterProtocolRegex=new RegExp(':[^\\\\s]*?['+he+']'),xt.ipRegex=/[0-9][0-9]?[0-9]?\\.[0-9][0-9]?[0-9]?\\.[0-9][0-9]?[0-9]?\\.[0-9][0-9]?[0-9]?(:[0-9]*)?\\/?$/,xt),gt=(Le(yt,Oe=Re),yt.prototype.parseMatches=function(u){for(var l,e=this.matcherRegex,c=this.stripPrefix,p=this.stripTrailingSlash,h=this.decodePercentEncoding,f=this.tagBuilder,g=[],d=this;null!==(l=e.exec(u));)!function(){var e,t,r=l[0],n=l[1],o=l[4],s=l[5],i=l[9],a=l.index,s=s||i,i=u.charAt(a-1);ft.isValid(r,n)&&(0<a&&'@'===i||0<a&&s&&d.wordCharRegExp.test(i)||(/\\?$/.test(r)&&(r=r.substr(0,r.length-1)),d.matchHasUnbalancedClosingParen(r)?r=r.substr(0,r.length-1):-1<(e=d.matchHasInvalidCharAfterTld(r,n))&&(r=r.substr(0,e)),(e=['http://','https://'].find(function(e){return!!n&&-1!==n.indexOf(e)}))&&(t=r.indexOf(e),r=r.substr(t),n=n.substr(t),a+=t),t=n?'scheme':o?'www':'tld',o=!!n,g.push(new Xe({tagBuilder:f,matchedText:r,offset:a,urlMatchType:t,url:r,protocolUrlMatch:o,protocolRelativeMatch:!!s,stripPrefix:c,stripTrailingSlash:p,decodePercentEncoding:h}))))}();return g},yt.prototype.matchHasUnbalancedClosingParen=function(e){var t,r=e.charAt(e.length-1);if(')'===r)t='(';else{if(']'!==r)return!1;t='['}for(var n=0,o=0,s=e.length-1;o<s;o++){var i=e.charAt(o);i===t?n++:i===r&&(n=Math.max(n-1,0))}return 0===n},yt.prototype.matchHasInvalidCharAfterTld=function(e,t){if(!e)return-1;var r=0;t&&(r=e.indexOf(':'),e=e.slice(r));t=new RegExp('^((.?//)?[-.'+it+']*[-'+it+']\\\\.[-'+it+']+)').exec(e);return null===t?-1:(r+=t[1].length,e=e.slice(t[1].length),/^[^-.A-Za-z0-9:\\/?#]/.test(e)?r:-1)},yt),dt=(Le(At,Ie=Re),At.prototype.parseMatches=function(e){for(var t=this.matcherRegex,r=this.nonWordCharRegex,n=this.serviceName,o=this.tagBuilder,s=[];null!==(i=t.exec(e));){var i,a=i.index,u=e.charAt(a-1);0!==a&&!r.test(u)||(u=i[0],i=i[0].slice(1),s.push(new Ye({tagBuilder:o,matchedText:u,offset:a,serviceName:n,hashtag:i})))}return s},At),mt=(Le(kt,je=Re),kt.prototype.parseMatches=function(e){for(var t,r=this.matcherRegex,n=this.tagBuilder,o=[];null!==(t=r.exec(e));){var s=t[0],i=s.replace(/[^0-9,;#]/g,''),a=!(!t[1]&&!t[2]),u=0==t.index?'':e.substr(t.index-1,1),l=e.substr(t.index+s.length,1),l=!u.match(/\\d/)&&!l.match(/\\d/);this.testMatch(t[3])&&this.testMatch(s)&&l&&o.push(new Qe({tagBuilder:n,matchedText:s,offset:t.index,number:i,plusSign:a}))}return o},kt.prototype.testMatch=function(e){return/\\D/.test(e)},kt),bt=(Le(vt,Pe=Re),vt.prototype.parseMatches=function(e){var t=this.serviceName,r=this.matcherRegexes[this.serviceName],n=this.nonWordCharRegex,o=this.tagBuilder,s=[];if(!r)return s;for(;null!==(i=r.exec(e));){var i,a=i.index,u=e.charAt(a-1);0!==a&&!n.test(u)||(i=(u=i[0].replace(/\\.+$/g,'')).slice(1),s.push(new Ke({tagBuilder:o,matchedText:u,offset:a,serviceName:t,mention:i})))}return s},vt);function vt(e){var t=Pe.call(this,e)||this;return t.serviceName='twitter',t.matcherRegexes={twitter:new RegExp('@[_'+it+']{1,50}(?![_'+it+'])','g'),instagram:new RegExp('@[_.'+it+']{1,30}(?![_'+it+'])','g'),soundcloud:new RegExp('@[-_.'+it+']{1,50}(?![-_'+it+'])','g')},t.nonWordCharRegex=new RegExp('[^'+it+']'),t.serviceName=e.serviceName,t}function kt(){var e=null!==je&&je.apply(this,arguments)||this;return e.matcherRegex=/(?:(?:(?:(\\+)?\\d{1,3}[-\\040.]?)?\\(?\\d{3}\\)?[-\\040.]?\\d{3}[-\\040.]?\\d{4})|(?:(\\+)(?:9[976]\\d|8[987530]\\d|6[987]\\d|5[90]\\d|42\\d|3[875]\\d|2[98654321]\\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-\\040.]?(?:\\d[-\\040.]?){6,12}\\d+))([,;]+[0-9]+#?)*/g,e}function At(e){var t=Ie.call(this,e)||this;return t.serviceName='twitter',t.matcherRegex=new RegExp('#[_'+it+']{1,139}(?![_'+it+'])','g'),t.nonWordCharRegex=new RegExp('[^'+it+']'),t.serviceName=e.serviceName,t}function yt(e){var t,r=Oe.call(this,e)||this;return r.stripPrefix={scheme:!0,www:!0},r.stripTrailingSlash=!0,r.decodePercentEncoding=!0,r.matcherRegex=(t=new RegExp('[/?#](?:['+it+'\\\\-+&@#/%=~_()|\\'$*\\\\[\\\\]?!:,.;✓]*['+it+'\\\\-+&@#/%=~_()|\\'$*\\\\[\\\\]✓])?'),new RegExp(['(?:','(',/(?:[A-Za-z][-.+A-Za-z0-9]{0,63}:(?![A-Za-z][-.+A-Za-z0-9]{0,63}:\\/\\/)(?!\\d+\\/?)(?:\\/\\/)?)/.source,ze(2),')','|','(','(//)?',/(?:www\\.)/.source,ze(6),')','|','(','(//)?',ze(10)+'\\\\.',ct.source,'(?![-'+st+'])',')',')','(?::[0-9]+)?','(?:'+t.source+')?'].join(''),'gi')),r.wordCharRegExp=new RegExp('['+it+']'),r.stripPrefix=e.stripPrefix,r.stripTrailingSlash=e.stripTrailingSlash,r.decodePercentEncoding=e.decodePercentEncoding,r}function xt(){}function wt(){var e=null!==Ue&&Ue.apply(this,arguments)||this;return e.localPartCharRegex=new RegExp('['+it+'!#$%&\\'*+/=?^_`{|}~-]'),e.strictTldRegex=new RegExp('^'+ct.source+'$'),e}function Ct(e){var t=He.call(this,e)||this;return t.url='',t.urlMatchType='scheme',t.protocolUrlMatch=!1,t.protocolRelativeMatch=!1,t.stripPrefix={scheme:!0,www:!0},t.stripTrailingSlash=!0,t.decodePercentEncoding=!0,t.schemePrefixRegex=/^(https?:\\/\\/)?/i,t.wwwPrefixRegex=/^(https?:\\/\\/)?(www\\.)?/i,t.protocolRelativeRegex=/^\\/\\//,t.protocolPrepended=!1,t.urlMatchType=e.urlMatchType,t.url=e.url,t.protocolUrlMatch=e.protocolUrlMatch,t.protocolRelativeMatch=e.protocolRelativeMatch,t.stripPrefix=e.stripPrefix,t.stripTrailingSlash=e.stripTrailingSlash,t.decodePercentEncoding=e.decodePercentEncoding,t}function Et(e){var t=Ve.call(this,e)||this;return t.number='',t.plusSign=!1,t.number=e.number,t.plusSign=e.plusSign,t}function Dt(e){var t=Ge.call(this,e)||this;return t.serviceName='twitter',t.mention='',t.mention=e.mention,t.serviceName=e.serviceName,t}function _t(e){var t=$e.call(this,e)||this;return t.serviceName='',t.hashtag='',t.serviceName=e.serviceName,t.hashtag=e.hashtag,t}function Bt(e){var t=Ze.call(this,e)||this;return t.email='',t.email=e.email,t}function qt(e){void 0===e&&(e={}),this.idx=void 0!==e.idx?e.idx:-1,this.type=e.type||'tag',this.name=e.name||'',this.isOpening=!!e.isOpening,this.isClosing=!!e.isClosing}var Ft=(St.link=function(e,t){return new St(t).link(e)},St.parse=function(e,t){return new St(t).parse(e)},St.prototype.normalizeUrlsCfg=function(e){return null==e&&(e=!0),'boolean'==typeof e?{schemeMatches:e,wwwMatches:e,tldMatches:e}:{schemeMatches:'boolean'!=typeof e.schemeMatches||e.schemeMatches,wwwMatches:'boolean'!=typeof e.wwwMatches||e.wwwMatches,tldMatches:'boolean'!=typeof e.tldMatches||e.tldMatches}},St.prototype.normalizeStripPrefixCfg=function(e){return null==e&&(e=!0),'boolean'==typeof e?{scheme:e,www:e}:{scheme:'boolean'!=typeof e.scheme||e.scheme,www:'boolean'!=typeof e.www||e.www}},St.prototype.normalizeTruncateCfg=function(e){return'number'==typeof e?{length:e,location:'end'}:function(e,t){for(var r in t)t.hasOwnProperty(r)&&void 0===e[r]&&(e[r]=t[r]);return e}(e||{},{length:Number.POSITIVE_INFINITY,location:'end'})},St.prototype.parse=function(e){var n=this,t=['a','style','script'],o=0,s=[];return function(t,e){for(var r,n,o,s,i,a,u,l=e.onOpenTag,c=e.onCloseTag,p=e.onText,h=e.onComment,f=e.onDoctype,g=new qt,d=0,m=t.length,b=0,v=0,k=g;d<m;){var A=t.charAt(d);switch(b){case 0:'<'===A&&x();break;case 1:'!'===(u=A)?b=13:'/'===u?(b=2,k=new qt(We({},k,{isClosing:!0}))):'<'===u?x():k=et.test(u)?(b=3,new qt(We({},k,{isOpening:!0}))):(b=0,g);break;case 2:'>'!==(u=A)&&et.test(u)?b=3:y();break;case 3:a=A,rt.test(a)?(k=new qt(We({},k,{name:C()})),b=4):'<'===a?x():'/'===a?(k=new qt(We({},k,{name:C()})),b=12):'>'===a?(k=new qt(We({},k,{name:C()})),w()):et.test(a)||tt.test(a)||':'===a||y();break;case 4:a=A,rt.test(a)||('/'===a?b=12:'>'===a?w():'<'===a?x():'='===a||nt.test(a)||ot.test(a)?y():b=5);break;case 5:i=A,rt.test(i)?b=6:'/'===i?b=12:'='===i?b=7:'>'===i?w():'<'===i?x():nt.test(i)&&y();break;case 6:i=A,rt.test(i)||('/'===i?b=12:'='===i?b=7:'>'===i?w():'<'===i?x():nt.test(i)?y():b=5);break;case 7:s=A,rt.test(s)||('\"'===s?b=8:'\\''===s?b=9:/[>=`]/.test(s)?y():'<'===s?x():b=10);break;case 8:'\"'===A&&(b=11);break;case 9:'\\''===A&&(b=11);break;case 10:s=A,rt.test(s)?b=4:'>'===s?w():'<'===s&&x();break;case 11:o=A,rt.test(o)?b=4:'/'===o?b=12:'>'===o?w():'<'===o?x():(b=4,d--);break;case 12:'>'===A?(k=new qt(We({},k,{isClosing:!0})),w()):b=4;break;case 13:'--'===t.substr(d,2)?(d+=2,k=new qt(We({},k,{type:'comment'})),b=14):'DOCTYPE'===t.substr(d,7).toUpperCase()?(d+=7,k=new qt(We({},k,{type:'doctype'})),b=20):y();break;case 14:'-'===(o=A)?b=15:'>'===o?y():b=16;break;case 15:'-'===(n=A)?b=18:'>'===n?y():b=16;break;case 16:'-'===A&&(b=17);break;case 17:b='-'===A?18:16;break;case 18:'>'===(n=A)?w():'!'===n?b=19:'-'===n||(b=16);break;case 19:'-'===(r=A)?b=17:'>'===r?w():b=16;break;case 20:'>'===(r=A)?w():'<'===r&&x();break;default:De(b)}d++}function y(){b=0,k=g}function x(){b=1,k=new qt({idx:d})}function w(){var e=t.slice(v,k.idx);e&&p(e,v),'comment'===k.type?h(k.idx):'doctype'===k.type?f(k.idx):(k.isOpening&&l(k.name,k.idx),k.isClosing&&c(k.name,k.idx)),y(),v=d+1}function C(){var e=k.idx+(k.isClosing?2:1);return t.slice(e,d).toLowerCase()}v<d&&(e=t.slice(v,d),p(e,v),v=d+1)}(e,{onOpenTag:function(e){0<=t.indexOf(e)&&o++},onText:function(e,t){var r;0===o&&(e=function(e,t){if(!t.global)throw new Error('`splitRegex` must have the \\'g\\' flag set');for(var r,n=[],o=0;r=t.exec(e);)n.push(e.substring(o,r.index)),n.push(r[0]),o=r.index+r[0].length;return n.push(e.substring(o)),n}(e,/( | |<|<|>|>|"|"|')/gi),r=t,e.forEach(function(e,t){t%2==0&&(t=n.parseText(e,r),s.push.apply(s,t)),r+=e.length}))},onCloseTag:function(e){0<=t.indexOf(e)&&(o=Math.max(o-1,0))},onComment:function(e){},onDoctype:function(e){}}),s=this.compactMatches(s),s=this.removeUnwantedMatches(s)},St.prototype.compactMatches=function(e){e.sort(function(e,t){return e.getOffset()-t.getOffset()});for(var t=0;t<e.length-1;t++){var r=e[t],n=r.getOffset(),o=r.getMatchedText().length,r=n+o;t+1<e.length&&(e[t+1].getOffset()!==n?e[t+1].getOffset()<r&&e.splice(t+1,1):(o=e[t+1].getMatchedText().length>o?t:t+1,e.splice(o,1)))}return e},St.prototype.removeUnwantedMatches=function(e){return this.hashtag||Ee(e,function(e){return'hashtag'===e.getType()}),this.email||Ee(e,function(e){return'email'===e.getType()}),this.phone||Ee(e,function(e){return'phone'===e.getType()}),this.mention||Ee(e,function(e){return'mention'===e.getType()}),this.urls.schemeMatches||Ee(e,function(e){return'url'===e.getType()&&'scheme'===e.getUrlMatchType()}),this.urls.wwwMatches||Ee(e,function(e){return'url'===e.getType()&&'www'===e.getUrlMatchType()}),this.urls.tldMatches||Ee(e,function(e){return'url'===e.getType()&&'tld'===e.getUrlMatchType()}),e},St.prototype.parseText=function(e,t){void 0===t&&(t=0),t=t||0;for(var r=this.getMatchers(),n=[],o=0,s=r.length;o<s;o++){for(var i=r[o].parseMatches(e),a=0,u=i.length;a<u;a++)i[a].setOffset(t+i[a].getOffset());n.push.apply(n,i)}return n},St.prototype.link=function(e){if(!e)return'';for(var t=this.parse(e),r=[],n=0,o=0,s=t.length;o<s;o++){var i=t[o];r.push(e.substring(n,i.getOffset())),r.push(this.createMatchReturnVal(i)),n=i.getOffset()+i.getMatchedText().length}return r.push(e.substring(n)),r.join('')},St.prototype.createMatchReturnVal=function(e){var t;return this.replaceFn&&(t=this.replaceFn.call(this.context,e)),'string'==typeof t?t:!1===t?e.getMatchedText():(t instanceof _e?t:e.buildTag()).toAnchorString()},St.prototype.getMatchers=function(){if(this.matchers)return this.matchers;var e=this.getTagBuilder(),e=[new dt({tagBuilder:e,serviceName:this.hashtag}),new pt({tagBuilder:e}),new mt({tagBuilder:e}),new bt({tagBuilder:e,serviceName:this.mention}),new gt({tagBuilder:e,stripPrefix:this.stripPrefix,stripTrailingSlash:this.stripTrailingSlash,decodePercentEncoding:this.decodePercentEncoding})];return this.matchers=e},St.prototype.getTagBuilder=function(){return this.tagBuilder||(this.tagBuilder=new qe({newWindow:this.newWindow,truncate:this.truncate,className:this.className}))},St.version='3.11.0',St.AnchorTagBuilder=qe,St.HtmlTag=_e,St.matcher={Email:pt,Hashtag:dt,Matcher:Re,Mention:bt,Phone:mt,Url:gt},St.match={Email:Je,Hashtag:Ye,Match:Fe,Mention:Ke,Phone:Qe,Url:Xe},St),Mt=/www|@|\\:\\/\\//;function St(e){void 0===e&&(e={}),this.version=St.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:'end'},this.className='',this.replaceFn=null,this.context=void 0,this.matchers=null,this.tagBuilder=null,this.urls=this.normalizeUrlsCfg(e.urls),this.email=('boolean'==typeof e.email?e:this).email,this.phone=('boolean'==typeof e.phone?e:this).phone,this.hashtag=e.hashtag||this.hashtag,this.mention=e.mention||this.mention,this.newWindow=('boolean'==typeof e.newWindow?e:this).newWindow,this.stripPrefix=this.normalizeStripPrefixCfg(e.stripPrefix),this.stripTrailingSlash=('boolean'==typeof e.stripTrailingSlash?e:this).stripTrailingSlash,this.decodePercentEncoding=('boolean'==typeof e.decodePercentEncoding?e:this).decodePercentEncoding;var t=this.mention;if(!1!==t&&'twitter'!==t&&'instagram'!==t&&'soundcloud'!==t)throw new Error('invalid `mention` cfg - see docs');t=this.hashtag;if(!1!==t&&'twitter'!==t&&'facebook'!==t&&'instagram'!==t)throw new Error('invalid `hashtag` cfg - see docs');this.truncate=this.normalizeTruncateCfg(e.truncate),this.className=e.className||this.className,this.replaceFn=e.replaceFn||this.replaceFn,this.context=e.context||this}function Tt(e){for(var t,r,n,o,s,i,a,u,l,c,p,h,f=e.tokens,g=null,d=0,m=f.length;d<m;d++)if('inline'===f[d].type)for(l=0,t=(r=f[d].children).length-1;0<=t;t--)if('link_close'!==(n=r[t]).type){if('htmltag'===n.type&&(h=n.content,/^<a[>\\s]/i.test(h)&&0<l&&l--,/^<\\/a\\s*>/i.test(n.content)&&l++),!(0<l)&&'text'===n.type&&Mt.test(n.content)){if(g||(c=(g=function(){var t=[],e=new Ft({stripPrefix:!1,url:!0,email:!0,replaceFn:function(e){switch(e.getType()){case'url':t.push({text:e.matchedText,url:e.getUrl()});break;case'email':t.push({text:e.matchedText,url:'mailto:'+e.getEmail().replace(/^mailto:/i,'')})}return!1}});return{links:t,autolinker:e}}()).links,p=g.autolinker),o=n.content,c.length=0,p.link(o),!c.length)continue;for(s=[],u=n.level,i=0;i<c.length;i++)e.inline.validateLink(c[i].url)&&((a=o.indexOf(c[i].text))&&s.push({type:'text',content:o.slice(0,a),level:u}),s.push({type:'link_open',href:c[i].url,title:'',level:u++}),s.push({type:'text',content:c[i].text,level:u}),s.push({type:'link_close',level:--u}),o=o.slice(a+c[i].text.length));o.length&&s.push({type:'text',content:o,level:u}),f[d].children=r=[].concat(r.slice(0,t),s,r.slice(t+1))}}else for(t--;r[t].level!==n.level&&'link_open'!==r[t].type;)t--}e.Remarkable=we,e.linkify=function(e){e.core.ruler.push('linkify',Tt)},e.utils=A,Object.defineProperty(e,'__esModule',{value:!0})},'object'==typeof exports&&'undefined'!=typeof module?t(exports):'function'==typeof define&&define.amd?define(['exports'],t):t((e=e||self).remarkable={});","type":"application/javascript","module-type":"library"},"$:/plugins/tiddlywiki/markdown/images/new-markdown-button":{"tags":"$:/tags/Image","text":"<svg class=\"tc-image-new-markdown-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <rect x=\"80\" y=\"96\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"96\" y=\"80\" width=\"16\" height=\"48\" rx=\"8\"></rect>\n <path d=\"M3.23876972,39.5396716 C3.23876972,35.9653274 6.13586353,33.0691646 9.7141757,33.0691646 L98.1283744,33.0691646 C101.706101,33.0691646 104.60378,35.9646626 104.60378,39.5396716 L104.60378,84.8296213 C104.60378,88.4039654 101.706687,91.3001282 98.1283744,91.3001282 L9.7141757,91.3001282 C6.13644944,91.3001282 3.23876972,88.4046302 3.23876972,84.8296213 L3.23876972,39.5396716 L3.23876972,39.5396716 Z M-2.15298617,39.5396716 L-2.15298617,84.8296213 C-2.15298617,91.3833243 3.15957363,96.6918841 9.7141757,96.6918841 L98.1283744,96.6918841 C104.684083,96.6918841 109.995536,91.382138 109.995536,84.8296213 L109.995536,39.5396716 C109.995536,32.9859686 104.682977,27.6774087 98.1283744,27.6774087 L9.7141757,27.6774087 C3.15846686,27.6774087 -2.15298617,32.9871549 -2.15298617,39.5396716 Z M14.0222815,80.5166164 L14.0222815,43.8526764 L24.8057933,43.8526764 L35.589305,57.3320661 L46.3728168,43.8526764 L57.1563286,43.8526764 L57.1563286,80.5166164 L46.3728168,80.5166164 L46.3728168,59.4887685 L35.589305,72.9681582 L24.8057933,59.4887685 L24.8057933,80.5166164 L14.0222815,80.5166164 Z M81.4192301,80.5166164 L65.2439624,62.723822 L76.0274742,62.723822 L76.0274742,43.8526764 L86.810986,43.8526764 L86.810986,62.723822 L97.5944978,62.723822 L81.4192301,80.5166164 Z\"transform=\"translate(53.921275, 62.184646) rotate(-60.000000) translate(-53.921275, -62.184646) \"></path>\n </g>\n</svg>"},"$:/plugins/tiddlywiki/markdown/new-markdown-button":{"tags":"$:/tags/PageControls","caption":"{{$:/plugins/tiddlywiki/markdown/images/new-markdown-button}} {{$:/language/Buttons/NewMarkdown/Caption}}","description":"{{$:/language/Buttons/NewMarkdown/Hint}}","list-after":"$:/core/ui/Buttons/new-tiddler","text":"\\whitespace trim\n<$button tooltip={{$:/language/Buttons/NewMarkdown/Hint}} aria-label={{$:/language/Buttons/NewMarkdown/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=\"text/x-markdown\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/plugins/tiddlywiki/markdown/images/new-markdown-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewMarkdown/Caption}}/></span>\n</$list>\n</$button>\n"},"$:/plugins/tiddlywiki/markdown/readme":{"text":"This is a TiddlyWiki plugin for parsing Markdown text, using the [[Remarkable|https://github.com/jonschlinkert/remarkable]] library.\n\nIt is completely self-contained, and doesn't need an Internet connection in order to work. It works both in the browser and under Node.js.\n\n[[Source code|https://github.com/Jermolene/TiddlyWiki5/blob/master/plugins/tiddlywiki/markdown]]\n"},"$:/plugins/tiddlywiki/markdown/usage":{"text":"! Plugin Configuration\n\n|!Config |!Default |!Description |\n| <code>[[breaks|$:/config/markdown/breaks]]</code>| ``false``|Remarkable library config: Convert '\\n' in paragraphs into ``<br>`` |\n| <code>[[linkify|$:/config/markdown/linkify]]</code>| ``false``|Remarkable library config: Autoconvert URL-like text to links |\n| <code>[[linkNewWindow|$:/config/markdown/linkNewWindow]]</code>| ``true``|For external links, should clicking on them open a new window/tab automatically? |\n| <code>[[quotes|$:/config/markdown/quotes]]</code>| ``“”‘’``|Remarkable library config: Double + single quotes replacement pairs, when ``typographer`` enabled |\n| <code>[[renderWikiText|$:/config/markdown/renderWikiText]]</code>| ``true``|After Markdown is parsed, should any text elements be handed off to the ~WikiText parser for further processing? |\n| <code>[[renderWikiTextPragma|$:/config/markdown/renderWikiTextPragma]]</code>| ``\\rules only html image macrocallinline syslink transcludeinline wikilink filteredtranscludeblock macrocallblock transcludeblock``|When handing off to the ~WikiText parser, what pragma rules should it follow? |\n| <code>[[typographer|$:/config/markdown/typographer]]</code>| ``false``|Remarkable library config: Enable some language-neutral replacement + quotes beautification |\n\n! Creating ~WikiLinks\n\nCreate wiki links with the usual Markdown link syntax targeting `#` and the target tiddler title:\n\n```\n[link text](#TiddlerTitle)\n```\n\nIf the target tiddler has a space in its name, that name must be URL-escaped to be detected as a URL:\n\n```\n[link text](#Test%20Tiddler)\n```\n\n! Images\n\nMarkdown image syntax can be used to reference images by tiddler title or an external URI. For example:\n\n```\n\n\n\n```\n"},"$:/plugins/tiddlywiki/markdown/wrapper.js":{"text":"!function(){'use strict';var e=require('$:/plugins/tiddlywiki/markdown/remarkable.js'),t=e.Remarkable,r=e.linkify;function n(e){return'true'===$tw.wiki.getTiddlerText(e).toLowerCase()}e.utils;var u={linkNewWindow:n('$:/config/markdown/linkNewWindow'),renderWikiText:n('$:/config/markdown/renderWikiText'),renderWikiTextPragma:$tw.wiki.getTiddlerText('$:/config/markdown/renderWikiTextPragma').trim()},k={breaks:n('$:/config/markdown/breaks'),quotes:$tw.wiki.getTiddlerText('$:/config/markdown/quotes'),typographer:n('$:/config/markdown/typographer')},g={text:!0,softbreak:!0},a=new t(k);function h(e,t){let i=[];var r='';function l(e,t,r,n,a){t=function(e,t,r,n){for(var a=t;a<e.length;a++)if(e[a].type===r&&e[a].level===n)return a;return!1}(n,e+1,r,t);return!1===t?(console.error('Failed to find a '+r+' node after position '+e),console.log(n),e+1):(a(h(n.slice(e+1,t))),t)}function n(t,e,r,n,a){return l(e,r,n,a,function(e){i.push({type:'element',tag:t,children:e})})}for(var a=0;a<e.length;a++){var o,s,c,p=e[a];switch(p.type){case'paragraph_open':a=n('p',a,p.level,'paragraph_close',e);break;case'heading_open':a=n('h'+p.hLevel,a,p.level,'heading_close',e);break;case'bullet_list_open':a=n('ul',a,p.level,'bullet_list_close',e);break;case'ordered_list_open':a=n('ol',a,p.level,'ordered_list_close',e);break;case'list_item_open':a=n('li',a,p.level,'list_item_close',e);break;case'link_open':a=l(a,p.level,'link_close',e,function(e){var t;'#'!==p.href[0]?(t={class:{type:'string',value:'tc-tiddlylink-external'},href:{type:'string',value:p.href},rel:{type:'string',value:'noopener noreferrer'}},u.linkNewWindow&&(t.target={type:'string',value:'_blank'}),i.push({type:'element',tag:'a',attributes:t,children:e})):i.push({type:'link',attributes:{to:{type:'string',value:decodeURI(p.href.substr(1))}},children:e})});break;case'code':i.push({type:'element',tag:p.block?'pre':'code',children:[{type:'text',text:p.content}]});break;case'fence':i.push({type:'codeblock',attributes:{language:{type:'string',value:p.params},code:{type:'string',value:p.content}}});break;case'image':i.push({type:'image',attributes:{tooltip:{type:'string',value:p.alt},source:{type:'string',value:decodeURIComponent(p.src)}}});break;case'softbreak':k.breaks?i.push({type:'element',tag:'br'}):r+='\\n';break;case'hardbreak':i.push({type:'element',tag:'br'});break;case'th_open':case'td_open':var d=p.type.slice(0,2),a=l(a,p.level,d+'_close',e,function(e){var t={};p.align&&(t.style={type:'string',value:'text-align:'+p.align}),i.push({type:'element',tag:d,attributes:t,children:e})});break;case'hr':i.push({type:'element',tag:'hr'});break;case'inline':i=i.concat(h(p.children,!0));break;case'text':r+=p.content;break;default:'_open'===p.type.substr(p.type.length-5)?a=n(o=p.type.substr(0,p.type.length-5),a,p.level,o+'_close',e):(console.error('Unknown node type: '+p.type,p),i.push({type:'text',text:p.content}))}r&&(k.breaks||a+1>=e.length||!g[e[a+1].type])&&(!u.renderWikiText||r.match(/^\\s*$/)?i.push({type:'text',text:r}):(s=!(t&&0===a),c=r,''!==u.renderWikiTextPragma&&(c=u.renderWikiTextPragma+'\\n'+c),c=$tw.wiki.parseText('text/vnd.tiddlywiki',c,{parseAsInline:s}).tree,s||1!==c.length||'element'!==c[0].type||'p'!==c[0].tag||(c=c[0].children),0<c.length&&'text'===c[0].type&&(' '===r[0]||'\\n'===r[0])&&(c[0].text=' '+c[0].text),i=i.concat(c)),r='')}return i}n('$:/config/markdown/linkify')&&(a=a.use(r)),exports['text/x-markdown']=function(e,t,r){t=h(t=a.parse(t,{}));this.tree=t}}();","type":"application/javascript","module-type":"parser"}}}
{
"tiddlers": {
"P:\\GitHub\\tiddlywikiplugins\\welford\\twmousetrap\\.gitattributes": {
"title": "P:\\GitHub\\tiddlywikiplugins\\welford\\twmousetrap\\.gitattributes",
"text": "# Auto detect text files and perform LF normalization\r\n* text=auto\r\n\r\n# Custom for Visual Studio\r\n*.cs diff=csharp\r\n*.sln merge=union\r\n*.csproj merge=union\r\n*.vbproj merge=union\r\n*.fsproj merge=union\r\n*.dbproj merge=union\r\n\r\n# Standard to msysgit\r\n*.doc\t diff=astextplain\r\n*.DOC\t diff=astextplain\r\n*.docx diff=astextplain\r\n*.DOCX diff=astextplain\r\n*.dot diff=astextplain\r\n*.DOT diff=astextplain\r\n*.pdf diff=astextplain\r\n*.PDF\t diff=astextplain\r\n*.rtf\t diff=astextplain\r\n*.RTF\t diff=astextplain\r\n",
"type": "text/plain"
},
"P:\\GitHub\\tiddlywikiplugins\\welford\\twmousetrap\\.gitignore": {
"title": "P:\\GitHub\\tiddlywikiplugins\\welford\\twmousetrap\\.gitignore",
"text": "# Windows image file caches\r\nThumbs.db\r\nehthumbs.db\r\n\r\n# Folder config file\r\nDesktop.ini\r\n\r\n# Recycle Bin used on file shares\r\n$RECYCLE.BIN/\r\n\r\n# Windows Installer files\r\n*.cab\r\n*.msi\r\n*.msm\r\n*.msp\r\n\r\n# =========================\r\n# Operating System Files\r\n# =========================\r\n\r\n# OSX\r\n# =========================\r\n\r\n.DS_Store\n.AppleDouble\n.LSOverride\n\n# Icon must ends with two \\r.\nIcon\r\r\n\n# Thumbnails\n._*\n\n# Files that might appear on external disk\n.Spotlight-V100\n.Trashes\n",
"type": "text/plain"
},
"$:/plugins/welford/twmousetrap/example.js": {
"title": "$:/plugins/welford/twmousetrap/example.js",
"text": "/*\\\r\ntitle: $:/plugins/welford/twmousetrap/example.js\r\ntype: application/javascript\r\nmodule-type: startup\r\n\r\nregisters a sample keypress thingy\r\n\\*/\r\n\r\n(function(){\r\n/*jslint node: true, browser: true */\r\n/*global $tw: false */\r\n\"use strict\";\r\n\r\n// Export name and synchronous status\r\nexports.name = \"twmousetrapexample\";\r\nexports.platforms = [\"browser\"];\r\nexports.after = [\"twmousetrap\"];\r\nexports.before = [\"startup\"];\r\nexports.synchronous = true;\r\n\r\nexports.startup = function() {\r\n\t$tw.Mousetrap.bind(\"ctrl+shift+x\",\r\n\t\tfunction() {\r\n\t\t\talert(\"Hi there!\");\r\n\t\t}\r\n\t);\r\n\t$tw.Mousetrap.bind(\"/\",\r\n\t\tfunction() {\r\n\t\t\tif(document.getElementById(\"topsearch\")){\r\n\t\t\t\tdocument.getElementById(\"topsearch\").focus();\r\n\t\t\t\tdocument.getElementById(\"topsearch\").select();\r\n\t\t\t}\r\n\t\t},\r\n\t\t\"keyup\"\r\n\t);\r\n};\r\n//\r\n})();\r\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/plugins/welford/twmousetrap/mousetrap.js": {
"title": "$:/plugins/welford/twmousetrap/mousetrap.js",
"text": "/*\\\r\ntitle: $:/plugins/welford/twmousetrap/mousetrap.js\r\ntype: application/javascript\r\nmodule-type: startup\r\n\r\na port of mousetrap v1.4.6 craig.is/killing/mice\r\n\\*/\r\n\r\n(function(){\r\n\r\n/*jslint node: true, browser: true */\r\n/*global $tw: false */\r\n\"use strict\";\r\n\r\n// Export name and synchronous status\r\nexports.name = \"twmousetrap\";\r\nexports.platforms = [\"browser\"];\r\nexports.before = [\"startup\"];\r\nexports.synchronous = true;\r\n\r\n exports.startup = function () { \r\n\t\t(function(J,r,f){function s(a,b,d){a.addEventListener?a.addEventListener(b,d,!1):a.attachEvent(\"on\"+b,d)}function A(a){if(\"keypress\"==a.type){var b=String.fromCharCode(a.which);a.shiftKey||(b=b.toLowerCase());return b}return h[a.which]?h[a.which]:B[a.which]?B[a.which]:String.fromCharCode(a.which).toLowerCase()}function t(a){a=a||{};var b=!1,d;for(d in n)a[d]?b=!0:n[d]=0;b||(u=!1)}function C(a,b,d,c,e,v){var g,k,f=[],h=d.type;if(!l[a])return[];\"keyup\"==h&&w(a)&&(b=[a]);for(g=0;g<l[a].length;++g)if(k=\r\n\t\tl[a][g],!(!c&&k.seq&&n[k.seq]!=k.level||h!=k.action||(\"keypress\"!=h||d.metaKey||d.ctrlKey)&&b.sort().join(\",\")!==k.modifiers.sort().join(\",\"))){var m=c&&k.seq==c&&k.level==v;(!c&&k.combo==e||m)&&l[a].splice(g,1);f.push(k)}return f}function K(a){var b=[];a.shiftKey&&b.push(\"shift\");a.altKey&&b.push(\"alt\");a.ctrlKey&&b.push(\"ctrl\");a.metaKey&&b.push(\"meta\");return b}function x(a,b,d,c){m.stopCallback(b,b.target||b.srcElement,d,c)||!1!==a(b,d)||(b.preventDefault?b.preventDefault():b.returnValue=!1,b.stopPropagation?\r\n\t\tb.stopPropagation():b.cancelBubble=!0)}function y(a){\"number\"!==typeof a.which&&(a.which=a.keyCode);var b=A(a);b&&(\"keyup\"==a.type&&z===b?z=!1:m.handleKey(b,K(a),a))}function w(a){return\"shift\"==a||\"ctrl\"==a||\"alt\"==a||\"meta\"==a}function L(a,b,d,c){function e(b){return function(){u=b;++n[a];clearTimeout(D);D=setTimeout(t,1E3)}}function v(b){x(d,b,a);\"keyup\"!==c&&(z=A(b));setTimeout(t,10)}for(var g=n[a]=0;g<b.length;++g){var f=g+1===b.length?v:e(c||E(b[g+1]).action);F(b[g],f,c,a,g)}}function E(a,b){var d,\r\n\t\tc,e,f=[];d=\"+\"===a?[\"+\"]:a.split(\"+\");for(e=0;e<d.length;++e)c=d[e],G[c]&&(c=G[c]),b&&\"keypress\"!=b&&H[c]&&(c=H[c],f.push(\"shift\")),w(c)&&f.push(c);d=c;e=b;if(!e){if(!p){p={};for(var g in h)95<g&&112>g||h.hasOwnProperty(g)&&(p[h[g]]=g)}e=p[d]?\"keydown\":\"keypress\"}\"keypress\"==e&&f.length&&(e=\"keydown\");return{key:c,modifiers:f,action:e}}function F(a,b,d,c,e){q[a+\":\"+d]=b;a=a.replace(/\\s+/g,\" \");var f=a.split(\" \");1<f.length?L(a,f,b,d):(d=E(a,d),l[d.key]=l[d.key]||[],C(d.key,d.modifiers,{type:d.action},\r\n\t\tc,a,e),l[d.key][c?\"unshift\":\"push\"]({callback:b,modifiers:d.modifiers,action:d.action,seq:c,level:e,combo:a}))}var h={8:\"backspace\",9:\"tab\",13:\"enter\",16:\"shift\",17:\"ctrl\",18:\"alt\",20:\"capslock\",27:\"esc\",32:\"space\",33:\"pageup\",34:\"pagedown\",35:\"end\",36:\"home\",37:\"left\",38:\"up\",39:\"right\",40:\"down\",45:\"ins\",46:\"del\",91:\"meta\",93:\"meta\",224:\"meta\"},B={106:\"*\",107:\"+\",109:\"-\",110:\".\",111:\"/\",186:\";\",187:\"=\",188:\",\",189:\"-\",190:\".\",191:\"/\",192:\"`\",219:\"[\",220:\"\\\\\",221:\"]\",222:\"'\"},H={\"~\":\"`\",\"!\":\"1\",\r\n\t\t\"@\":\"2\",\"#\":\"3\",$:\"4\",\"%\":\"5\",\"^\":\"6\",\"&\":\"7\",\"*\":\"8\",\"(\":\"9\",\")\":\"0\",_:\"-\",\"+\":\"=\",\":\":\";\",'\"':\"'\",\"<\":\",\",\">\":\".\",\"?\":\"/\",\"|\":\"\\\\\"},G={option:\"alt\",command:\"meta\",\"return\":\"enter\",escape:\"esc\",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?\"meta\":\"ctrl\"},p,l={},q={},n={},D,z=!1,I=!1,u=!1;for(f=1;20>f;++f)h[111+f]=\"f\"+f;for(f=0;9>=f;++f)h[f+96]=f;s(r,\"keypress\",y);s(r,\"keydown\",y);s(r,\"keyup\",y);var m={bind:function(a,b,d){a=a instanceof Array?a:[a];for(var c=0;c<a.length;++c)F(a[c],b,d);return this},\r\n\t\tunbind:function(a,b){return m.bind(a,function(){},b)},trigger:function(a,b){if(q[a+\":\"+b])q[a+\":\"+b]({},a);return this},reset:function(){l={};q={};return this},stopCallback:function(a,b){return-1<(\" \"+b.className+\" \").indexOf(\" mousetrap \")?!1:\"INPUT\"==b.tagName||\"SELECT\"==b.tagName||\"TEXTAREA\"==b.tagName||b.isContentEditable},handleKey:function(a,b,d){var c=C(a,b,d),e;b={};var f=0,g=!1;for(e=0;e<c.length;++e)c[e].seq&&(f=Math.max(f,c[e].level));for(e=0;e<c.length;++e)c[e].seq?c[e].level==f&&(g=!0,\r\n\t\tb[c[e].seq]=1,x(c[e].callback,d,c[e].combo,c[e].seq)):g||x(c[e].callback,d,c[e].combo);c=\"keypress\"==d.type&&I;d.type!=u||w(a)||c||t(b);I=g&&\"keydown\"==d.type}};J.Mousetrap=m;\"function\"===typeof define&&define.amd&&define(m)})($tw,document);\r\n\t};\r\n})();\r\n",
"type": "application/javascript",
"module-type": "startup"
}
}
}
/*\
title: $:/plugins/welford/twmousetrap/example.js
type: application/javascript
module-type: startup
registers a sample keypress thingy
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
// Export name and synchronous status
exports.name = "twmousetrapexample";
exports.platforms = ["browser"];
exports.after = ["twmousetrap"];
exports.before = ["startup"];
exports.synchronous = true;
exports.startup = function() {
$tw.Mousetrap.bind("ctrl+shift+x",
function() {
alert("Hi there!");
}
);
$tw.Mousetrap.bind("x",
function() {
$tw.rootWidget.invokeActionString('<$action-sendmessage $message="open-command-palette" $param="?"/>',$tw.rootWidget);
},
"keyup"
);
};
//
})();
use a few simple tools well
\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]
\rules only filteredtranscludeinline transcludeinline macrocallinline
<div class="tc-remove-when-wiki-loaded">
<style scoped>
.tc-splash-text {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-size: 16px;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
margin: 20px auto 0;
width: 200px;
text-align: center;
color: <<colour foreground>>;
fill: <<colour foreground>>;
}
.tc-splash-text img {
width: 150px;
<<box-shadow "2px 2px 10px rgba(0, 0, 0, 0.5)">>
}
html body.tc-body {
background: <<colour page-background>>;
}
/*
Spinner from https://github.com/tobiasahlin/SpinKit/ by Tobias Ahlin
The MIT License (MIT)
Copyright (c) 2015 Tobias Ahlin
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
.tc-splash-spinner {
margin: 20px auto 0;
width: 70px;
text-align: center;
}
.tc-splash-spinner > div {
width: 18px;
height: 18px;
border-radius: 100%;
display: inline-block;
-webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
animation: sk-bouncedelay 1.4s infinite ease-in-out both;
background-color: #f88;
}
.tc-splash-spinner .tc-splash-bounce-1 {
-webkit-animation-delay: -0.32s;
animation-delay: -0.32s;
background-color: #8f8;
}
.tc-splash-spinner .tc-splash-bounce-2 {
-webkit-animation-delay: -0.16s;
animation-delay: -0.16s;
background-color: #88f;
}
@-webkit-keyframes sk-bouncedelay {
0%, 80%, 100% { -webkit-transform: scale(0) }
40% { -webkit-transform: scale(1.0) }
}
@keyframes sk-bouncedelay {
0%, 80%, 100% {
-webkit-transform: scale(0);
transform: scale(0);
} 40% {
-webkit-transform: scale(1.0);
transform: scale(1.0);
}
}
</style>
<div class="tc-splash-spinner">
<div class="tc-splash-bounce-1"></div>
<div class="tc-splash-bounce-2"></div>
<div class="tc-splash-bounce-3"></div>
</div>
<div class="tc-splash-text">
please use the deck menu to change function
</div>
<!-- Demonstrating how to embed a wikitext SVG graphic -->
<div class="tc-splash-text">
{{$:/core/icon||$:/core/templates/plain-text-tiddler}}
</div>
</div>
$:/core/ui/AdvancedSearch/System
$:/temp/commander/logs/tid-4
$:/core/ui/EditTemplate/body/preview/output
$:/plugins/sq/streams/Settings/config
$:/core/ui/TiddlerInfo/Advanced
$:/core/ui/TiddlerInfo/Listed
$:/core/ui/ControlPanel/Plugins/Add/Plugins
$:/core/ui/AdvancedSearch/System
$:/core/ui/ControlPanel/Toolbars
$:/core/ui/ControlPanel/Basics
$:/plugins/flibbles/relink/ui/TiddlerInfo/References
$:/core/ui/ControlPanel/Plugins/Installed/Plugins
$:/core/ui/ControlPanel/Stylesheets
$:/core/ui/TiddlerInfo/References
$:/core/ui/ControlPanel/Info
$:/core/ui/TiddlerInfo/Fields
$:/core/ui/TiddlerInfo/Tagging
$:/plugins/kookma/commander/tag/uicomp/add-remove-tags
$:/core/ui/TiddlerInfo/Fields
$:/plugins/kookma/commander/tag/ui
$:/core/ui/TiddlerInfo/References
$:/core/ui/MoreSideBar/Plugins
$:/core/ui/SideBar/Recent
$:/core/ui/ControlPanel/Toolbars/ViewToolbar
$:/themes/tiddlywiki/vanilla
{"tiddlers":{"$:/themes/tiddlywiki/snowwhite/base":{"tags":"[[$:/tags/Stylesheet]]","text":"\\define sidebarbreakpoint-minus-one()\n<$text text={{{ [{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}removesuffix[px]subtract[1]addsuffix[px]] ~[{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}] }}}/>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-sidebar-header {\n\ttext-shadow: 0 1px 0 <<colour sidebar-foreground-shadow>>;\n}\n\n.tc-tiddler-info {\n\t<<box-shadow \"inset 1px 2px 3px rgba(0,0,0,0.1)\">>\n}\n\n@media screen {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n\t}\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow none>>\n\t}\n}\n\n.tc-page-controls button svg, .tc-tiddler-controls button svg, .tc-topbar button svg {\n\t<<transition \"fill 150ms ease-in-out\">>\n}\n\n.tc-tiddler-controls button.tc-selected,\n.tc-page-controls button.tc-selected {\n\t<<filter \"drop-shadow(0px -1px 2px rgba(0,0,0,0.25))\">>\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-edit-tags {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-tiddler-frame .tc-edit-tags input.tc-edit-texteditor {\n\t<<box-shadow \"none\">>\n\tborder: none;\n\toutline: none;\n}\n\ntextarea.tc-edit-texteditor {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n}\n\ncanvas.tc-edit-bitmapeditor {\n\t<<box-shadow \"2px 2px 5px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-drop-down {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-block-dropdown {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-modal {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n}\n\n.tc-modal-footer {\n\tborder-radius: 0 0 6px 6px;\n\t<<box-shadow \"inset 0 1px 0 #fff\">>;\n}\n\n\n.tc-alert {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.6)\">>\n}\n\n.tc-notification {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\n}\n\n.tc-sidebar-lists .tc-tab-set .tc-tab-divider {\n\tborder-top: none;\n\theight: 1px;\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.0) 100%\">>\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.01) 0%, rgba(0,0,0,0.1) 100%\">>\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.05) 0%, rgba(255,255,255,0.05) 100%\">>\n}\n\n.tc-message-box img {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n\n.tc-plugin-info {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n"}}}
{"tiddlers":{"$:/themes/tiddlywiki/vanilla/themetweaks":{"tags":"$:/tags/ControlPanel/Appearance","caption":"{{$:/language/ThemeTweaks/ThemeTweaks}}","text":"\\define lingo-base() $:/language/ThemeTweaks/\n\n\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n\\define backgroundimage-dropdown()\n<div class=\"tc-drop-down-wrapper\">\n<$button popup=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"\n\t$value=<<imageTitle>>\n/>\n\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n\\end\n\n\\define backgroundimageattachment-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\" default=\"scroll\">\n<option value=\"scroll\"><<lingo Settings/BackgroundImageAttachment/Scroll>></option>\n<option value=\"fixed\"><<lingo Settings/BackgroundImageAttachment/Fixed>></option>\n</$select>\n\\end\n\n\\define backgroundimagesize-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\" default=\"scroll\">\n<option value=\"auto\"><<lingo Settings/BackgroundImageSize/Auto>></option>\n<option value=\"cover\"><<lingo Settings/BackgroundImageSize/Cover>></option>\n<option value=\"contain\"><<lingo Settings/BackgroundImageSize/Contain>></option>\n</$select>\n\\end\n\n<<lingo ThemeTweaks/Hint>>\n\n! <<lingo Options>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><<lingo Options/SidebarLayout>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><option value=\"fixed-fluid\"><<lingo Options/SidebarLayout/Fixed-Fluid>></option><option value=\"fluid-fixed\"><<lingo Options/SidebarLayout/Fluid-Fixed>></option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><<lingo Options/StickyTitles>></$link><br>//<<lingo Options/StickyTitles/Hint>>// |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><option value=\"no\">{{$:/language/No}}</option><option value=\"yes\">{{$:/language/Yes}}</option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><<lingo Options/CodeWrapping>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><option value=\"pre\">{{$:/language/No}}</option><option value=\"pre-wrap\">{{$:/language/Yes}}</option></$select> |\n\n! <<lingo Settings>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"><<lingo Settings/FontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\"><<lingo Settings/CodeFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\"><<lingo Settings/EditorFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"><<lingo Settings/BackgroundImage>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" default=\"\" tag=\"input\"/> |<<backgroundimage-dropdown>> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\"><<lingo Settings/BackgroundImageAttachment>></$link> |<<backgroundimageattachment-dropdown>> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\"><<lingo Settings/BackgroundImageSize>></$link> |<<backgroundimagesize-dropdown>> | |\n\n! <<lingo Metrics>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\"><<lingo Metrics/FontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\"><<lingo Metrics/LineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\"><<lingo Metrics/BodyFontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\"><<lingo Metrics/BodyLineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\"><<lingo Metrics/StoryLeft>></$link><br>//<<lingo Metrics/StoryLeft/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\"><<lingo Metrics/StoryTop>></$link><br>//<<lingo Metrics/StoryTop/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\"><<lingo Metrics/StoryRight>></$link><br>//<<lingo Metrics/StoryRight/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\"><<lingo Metrics/StoryWidth>></$link><br>//<<lingo Metrics/StoryWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"><<lingo Metrics/TiddlerWidth>></$link><br>//<<lingo Metrics/TiddlerWidth/Hint>>//<br> |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\"><<lingo Metrics/SidebarBreakpoint>></$link><br>//<<lingo Metrics/SidebarBreakpoint/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\"><<lingo Metrics/SidebarWidth>></$link><br>//<<lingo Metrics/SidebarWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\" default=\"\" tag=\"input\"/> |\n"},"$:/themes/tiddlywiki/vanilla/base":{"tags":"[[$:/tags/Stylesheet]]","text":"\\define custom-background-datauri()\n<$set name=\"background\" value={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}>\n<$list filter=\"[<background>is[image]]\">\n`background: url(`\n<$list filter=\"[<background>!has[_canonical_uri]]\">\n`\"`<$macrocall $name=\"datauri\" title={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}/>`\"`\n</$list>\n<$list filter=\"[<background>has[_canonical_uri]]\">\n`\"`<$view tiddler={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}} field=\"_canonical_uri\"/>`\"`\n</$list>\n`) center center;`\n`background-attachment: `{{$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment}}`;\n-webkit-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-moz-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-o-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\nbackground-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;`\n</$list>\n</$set>\n\\end\n\n\\define sidebarbreakpoint()\n<$text text={{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}/>\n\\end\n\n\\define sidebarbreakpoint-minus-one()\n<$text text={{{ [{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}removesuffix[px]subtract[1]addsuffix[px]] ~[{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}] }}}/>\n\\end\n\n\\define if-fluid-fixed(text,hiddenSidebarText)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" type=\"match\" text=\"fluid-fixed\">\n$text$\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">\n$hiddenSidebarText$\n</$reveal>\n</$reveal>\n\\end\n\n\\define if-editor-height-fixed(then,else)\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n$then$\n</$reveal>\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n$else$\n</$reveal>\n\\end\n\n\\define set-type-selector-min-width()\n<$set name=\"typeLength\" value={{{ [all[shadows+tiddlers]prefix[$:/language/Docs/Types/]get[name]length[]maxall[]] }}}>\n\n\t.tc-type-selector-dropdown-wrapper {\n\t\tmin-width: calc(<<typeLength>>ch + 4em);\n\t}\n\n\t.tc-type-selector-dropdown-wrapper input.tc-edit-typeeditor {\n\t\tmin-width: <<typeLength>>ch;\n\t}\n\n</$set>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/*\n** Start with the normalize CSS reset, and then belay some of its effects\n*/\n\n{{$:/themes/tiddlywiki/vanilla/reset}}\n\n*, input[type=\"search\"] {\n\tbox-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\t-webkit-box-sizing: border-box;\n}\n\ninput[type=\"search\"] {\n outline-offset: initial;\n}\n\nhtml button {\n\tline-height: 1.2;\n\tcolor: <<colour button-foreground>>;\n\tfill: <<colour button-foreground>>;\n\tbackground: <<colour button-background>>;\n\tborder-color: <<colour button-border>>;\n}\n\n/*\n** Basic element styles\n*/\n\nhtml, body {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};\n\ttext-rendering: optimizeLegibility; /* Enables kerning and ligatures etc. */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\nhtml:-webkit-full-screen {\n\tbackground-color: <<colour page-background>>;\n}\n\nbody.tc-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/fontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\n\tword-wrap: break-word;\n\t<<custom-background-datauri>>\n\tcolor: <<colour foreground>>;\n\tbackground-color: <<colour page-background>>;\n\tfill: <<colour foreground>>;\n}\n\n<<if-background-attachment \"\"\"\n\nbody.tc-body {\n background-color: transparent;\n}\n\n\"\"\">>\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n\tfont-size: 2em;\n}\n\nh1, h2, h3, h4, h5, h6 {\n\tline-height: 1.2;\n\tfont-weight: 300;\n}\n\npre {\n\tdisplay: block;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\tword-break: normal;\n\tword-wrap: break-word;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tbackground-color: <<colour pre-background>>;\n\tborder: 1px solid <<colour pre-border>>;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\ncode {\n\tcolor: <<colour code-foreground>>;\n\tbackground-color: <<colour code-background>>;\n\tborder: 1px solid <<colour code-border>>;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\nblockquote {\n\tborder-left: 5px solid <<colour blockquote-bar>>;\n\tmargin-left: 25px;\n\tpadding-left: 10px;\n\tquotes: \"\\201C\"\"\\201D\"\"\\2018\"\"\\2019\";\n}\n\nblockquote > div {\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n}\n\nblockquote.tc-big-quote {\n\tfont-family: Georgia, serif;\n\tposition: relative;\n\tbackground: <<colour pre-background>>;\n\tborder-left: none;\n\tmargin-left: 50px;\n\tmargin-right: 50px;\n\tpadding: 10px;\n border-radius: 8px;\n}\n\nblockquote.tc-big-quote cite:before {\n\tcontent: \"\\2014 \\2009\";\n}\n\nblockquote.tc-big-quote:before {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: open-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n left: -50px;\n top: 42px;\n}\n\nblockquote.tc-big-quote:after {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: close-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n right: -80px;\n bottom: -20px;\n}\n\ndl dt {\n\tfont-weight: bold;\n\tmargin-top: 6px;\n}\n\nbutton, textarea, input, select {\n\toutline-color: <<colour primary>>;\n}\n\ntextarea,\ninput[type=text],\ninput[type=search],\ninput[type=\"\"],\ninput:not([type]) {\n\tcolor: <<colour foreground>>;\n\tbackground: <<colour background>>;\n}\n\ninput[type=\"checkbox\"] {\n vertical-align: middle;\n}\n\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n\t-webkit-appearance:none;\n}\n\n.tc-muted {\n\tcolor: <<colour muted-foreground>>;\n}\n\nsvg.tc-image-button {\n\tpadding: 0px 1px 1px 0px;\n}\n\n.tc-icon-wrapper > svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\nkbd {\n\tdisplay: inline-block;\n\tpadding: 3px 5px;\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tcolor: <<colour foreground>>;\n\tvertical-align: middle;\n\tbackground-color: <<colour background>>;\n\tborder: solid 1px <<colour muted-foreground>>;\n\tborder-bottom-color: <<colour muted-foreground>>;\n\tborder-radius: 3px;\n\tbox-shadow: inset 0 -1px 0 <<colour muted-foreground>>;\n}\n\n::selection {\n\tbackground-color: Highlight;\n\tcolor: HighlightText;\n\tbackground-color: <<colour selection-background>>;\n\tcolor: <<colour selection-foreground>>;\n}\n\n/*\nMarkdown likes putting code elements inside pre elements\n*/\npre > code {\n\tpadding: 0;\n\tborder: none;\n\tbackground-color: inherit;\n\tcolor: inherit;\n}\n\ntable {\n\tborder: 1px solid <<colour table-border>>;\n\twidth: auto;\n\tmax-width: 100%;\n\tcaption-side: bottom;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\t/* next 2 elements needed, since normalize 8.0.1 */\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n}\n\ntable th, table td {\n\tpadding: 0 7px 0 7px;\n\tborder-top: 1px solid <<colour table-border>>;\n\tborder-left: 1px solid <<colour table-border>>;\n}\n\ntable thead tr td, table th {\n\tbackground-color: <<colour table-header-background>>;\n\tfont-weight: bold;\n}\n\ntable tfoot tr td {\n\tbackground-color: <<colour table-footer-background>>;\n}\n\n.tc-csv-table {\n\twhite-space: nowrap;\n}\n\n.tc-tiddler-frame img,\n.tc-tiddler-frame svg,\n.tc-tiddler-frame canvas,\n.tc-tiddler-frame embed,\n.tc-tiddler-frame iframe {\n\tmax-width: 100%;\n}\n\n.tc-tiddler-body > embed,\n.tc-tiddler-body > iframe {\n\twidth: 100%;\n\theight: 600px;\n}\n\n/*\n** Links\n*/\n\nbutton.tc-tiddlylink,\na.tc-tiddlylink {\n\ttext-decoration: none;\n\tfont-weight: 500;\n\tcolor: <<colour tiddler-link-foreground>>;\n\t-webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */\n}\n\n.tc-sidebar-lists a.tc-tiddlylink {\n\tcolor: <<colour sidebar-tiddler-link-foreground>>;\n}\n\n.tc-sidebar-lists a.tc-tiddlylink:hover {\n\tcolor: <<colour sidebar-tiddler-link-foreground-hover>>;\n}\n\nbutton.tc-tiddlylink:hover,\na.tc-tiddlylink:hover {\n\ttext-decoration: underline;\n}\n\na.tc-tiddlylink-resolves {\n}\n\na.tc-tiddlylink-shadow {\n\tfont-weight: bold;\n}\n\na.tc-tiddlylink-shadow.tc-tiddlylink-resolves {\n\tfont-weight: normal;\n}\n\na.tc-tiddlylink-missing {\n\tfont-style: italic;\n}\n\na.tc-tiddlylink-external {\n\ttext-decoration: underline;\n\tcolor: <<colour external-link-foreground>>;\n\tbackground-color: <<colour external-link-background>>;\n}\n\na.tc-tiddlylink-external:visited {\n\tcolor: <<colour external-link-foreground-visited>>;\n\tbackground-color: <<colour external-link-background-visited>>;\n}\n\na.tc-tiddlylink-external:hover {\n\tcolor: <<colour external-link-foreground-hover>>;\n\tbackground-color: <<colour external-link-background-hover>>;\n}\n\n.tc-drop-down a.tc-tiddlylink:hover {\n\tcolor: <<colour tiddler-link-background>>;\n}\n\n/*\n** Drag and drop styles\n*/\n\n.tc-tiddler-dragger {\n\tposition: relative;\n\tz-index: -10000;\n}\n\n.tc-tiddler-dragger-inner {\n\tposition: absolute;\n\ttop: -1000px;\n\tleft: -1000px;\n\tdisplay: inline-block;\n\tpadding: 8px 20px;\n\tfont-size: 16.9px;\n\tfont-weight: bold;\n\tline-height: 20px;\n\tcolor: <<colour dragger-foreground>>;\n\ttext-shadow: 0 1px 0 rgba(0, 0, 0, 1);\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour dragger-background>>;\n\tborder-radius: 20px;\n}\n\n.tc-tiddler-dragger-cover {\n\tposition: absolute;\n\tbackground-color: <<colour page-background>>;\n}\n\n.tc-dropzone {\n\tposition: relative;\n}\n\n.tc-dropzone.tc-dragover:before {\n\tz-index: 10000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour dropzone-background>>;\n\ttext-align: center;\n\tcontent: \"<<lingo DropMessage>>\";\n}\n\n.tc-droppable > .tc-droppable-placeholder {\n\tdisplay: none;\n}\n\n.tc-droppable.tc-dragover > .tc-droppable-placeholder {\n\tdisplay: block;\n\tborder: 2px dashed <<colour dropzone-background>>;\n}\n\n.tc-draggable {\n\tcursor: move;\n}\n\n.tc-sidebar-tab-open .tc-droppable-placeholder, .tc-tagged-draggable-list .tc-droppable-placeholder,\n.tc-links-draggable-list .tc-droppable-placeholder {\n\tline-height: 2em;\n\theight: 2em;\n}\n\n.tc-sidebar-tab-open-item {\n\tposition: relative;\n}\n\n.tc-sidebar-tab-open .tc-btn-invisible.tc-btn-mini svg {\n\tfont-size: 0.7em;\n\tfill: <<colour muted-foreground>>;\n}\n\n/*\n** Plugin reload warning\n*/\n\n.tc-plugin-reload-warning {\n\tz-index: 1000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour alert-background>>;\n\ttext-align: center;\n}\n\n/*\n** Buttons\n*/\n\nbutton svg, button img, label svg, label img {\n\tvertical-align: middle;\n}\n\n.tc-btn-invisible {\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\tcursor: pointer;\n\tcolor: <<colour foreground>>;\n\tfill: <<colour foreground>>;\n}\n\n.tc-btn-boxed {\n\tfont-size: 0.6em;\n\tpadding: 0.2em;\n\tmargin: 1px;\n\tbackground: none;\n\tborder: 1px solid <<colour tiddler-controls-foreground>>;\n\tborder-radius: 0.25em;\n}\n\nhtml body.tc-body .tc-btn-boxed svg {\n\tfont-size: 1.6666em;\n}\n\n.tc-btn-boxed:hover {\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n}\n\nhtml body.tc-body .tc-btn-boxed:hover svg {\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded {\n\tfont-size: 0.5em;\n\tline-height: 2;\n\tpadding: 0em 0.3em 0.2em 0.4em;\n\tmargin: 1px;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n\tborder-radius: 2em;\n}\n\nhtml body.tc-body .tc-btn-rounded svg {\n\tfont-size: 1.6666em;\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded:hover {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tcolor: <<colour muted-foreground>>;\n}\n\nhtml body.tc-body .tc-btn-rounded:hover svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-icon svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-text {\n\tpadding: 0;\n\tmargin: 0;\n}\n\n/* used for documentation \"fake\" buttons */\n.tc-btn-standard {\n\tline-height: 1.8;\n\tcolor: #667;\n\tbackground-color: #e0e0e0;\n\tborder: 1px solid #888;\n\tpadding: 2px 1px 2px 1px;\n\tmargin: 1px 4px 1px 4px;\n}\n\n.tc-btn-big-green {\n\tdisplay: inline-block;\n\tpadding: 8px;\n\tmargin: 4px 8px 4px 8px;\n\tbackground: <<colour download-background>>;\n\tcolor: <<colour download-foreground>>;\n\tfill: <<colour download-foreground>>;\n\tborder: none;\n\tborder-radius: 2px;\n\tfont-size: 1.2em;\n\tline-height: 1.4em;\n\ttext-decoration: none;\n}\n\n.tc-btn-big-green svg,\n.tc-btn-big-green img {\n\theight: 2em;\n\twidth: 2em;\n\tvertical-align: middle;\n\tfill: <<colour download-foreground>>;\n}\n\n.tc-primary-btn {\n \tbackground: <<colour primary>>;\n}\n\n.tc-sidebar-lists input {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-sidebar-lists button {\n\tcolor: <<colour sidebar-button-foreground>>;\n\tfill: <<colour sidebar-button-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini {\n\tcolor: <<colour sidebar-muted-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini:hover {\n\tcolor: <<colour sidebar-muted-foreground-hover>>;\n}\n\n.tc-sidebar-lists button small {\n\tcolor: <<colour foreground>>;\n}\n\nbutton svg.tc-image-button, button .tc-image-button img {\n\theight: 1em;\n\twidth: 1em;\n}\n\n.tc-unfold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 100%;\n\twidth: calc(100% + 2px);\n\tmargin-left: -43px;\n\ttext-align: center;\n\tborder-top: 2px solid <<colour tiddler-info-background>>;\n\tmargin-top: 4px;\n}\n\n.tc-unfold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n\tborder-top: 2px solid <<colour tiddler-info-border>>;\n}\n\n.tc-unfold-banner svg, .tc-fold-banner svg {\n\theight: 0.75em;\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-unfold-banner:hover svg, .tc-fold-banner:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n.tc-fold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 23px;\n\ttext-align: center;\n\tmargin-left: -35px;\n\ttop: 6px;\n\tbottom: 6px;\n}\n\n.tc-fold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-unfold-banner {\n\t\tposition: static;\n\t\twidth: calc(100% + 59px);\n\t}\n\n\t.tc-fold-banner {\n\t\twidth: 16px;\n\t\tmargin-left: -16px;\n\t\tfont-size: 0.75em;\n\t}\n\n}\n\n/*\n** Tags and missing tiddlers\n*/\n\n.tc-tag-list-item {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\n.tc-tags-wrapper {\n\tmargin: 4px 0 14px 0;\n}\n\n.tc-missing-tiddler-label {\n\tfont-style: italic;\n\tfont-weight: normal;\n\tdisplay: inline-block;\n\tfont-size: 11.844px;\n\tline-height: 14px;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n}\n\n.tc-block-tags-dropdown > .tc-btn-invisible:hover {\n\tbackground-color: <<colour primary>>;\n}\n\nbutton.tc-tag-label, span.tc-tag-label {\n\tdisplay: inline-block;\n\tpadding: 0.16em 0.7em;\n\tfont-size: 0.9em;\n\tfont-weight: 400;\n\tline-height: 1.2em;\n\tcolor: <<colour tag-foreground>>;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour tag-background>>;\n\tborder-radius: 1em;\n}\n\n.tc-sidebar-scrollable .tc-tag-label {\n\ttext-shadow: none;\n}\n\n.tc-untagged-separator {\n\twidth: 10em;\n\tleft: 0;\n\tmargin-left: 0;\n\tborder: 0;\n\theight: 1px;\n\tbackground: <<colour tab-divider>>;\n}\n\nbutton.tc-untagged-label {\n\tbackground-color: <<colour untagged-background>>;\n}\n\n.tc-tag-label svg, .tc-tag-label img {\n\theight: 1em;\n\twidth: 1em;\n\tmargin-right: 3px; \n\tmargin-bottom: 1px;\n\tvertical-align: bottom;\n}\n\n.tc-edit-tags button.tc-remove-tag-button svg {\n\tfont-size: 0.7em;\n\tvertical-align: middle;\n}\n\n.tc-tag-manager-table .tc-tag-label {\n\twhite-space: normal;\n}\n\n.tc-tag-manager-tag {\n\twidth: 100%;\n}\n\nbutton.tc-btn-invisible.tc-remove-tag-button {\n\toutline: none;\n}\n\n.tc-tag-button-selected,\n.tc-list-item-selected a.tc-tiddlylink, a.tc-list-item-selected {\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour tiddler-background>>;\n}\n\n/*\n** Page layout\n*/\n\n.tc-topbar {\n\tposition: fixed;\n\tz-index: 1200;\n}\n\n.tc-topbar-left {\n\tleft: 29px;\n\ttop: 5px;\n}\n\n.tc-topbar-right {\n\ttop: 5px;\n\tright: 29px;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-topbar-right {\n\t\tright: 10px;\n\t}\n\n}\n\n.tc-topbar button {\n\tpadding: 8px;\n}\n\n.tc-topbar svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-topbar button:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-show-sidebar-btn svg.tc-image-chevron-left, .tc-hide-sidebar-btn svg.tc-image-chevron-right {\n\t\ttransform: rotate(-90deg);\n\t}\n\n}\n\n.tc-sidebar-header {\n\tcolor: <<colour sidebar-foreground>>;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-sidebar-header .tc-title a.tc-tiddlylink-resolves {\n\tfont-weight: 300;\n}\n\n.tc-sidebar-header .tc-sidebar-lists p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-sidebar-header .tc-missing-tiddler-label {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-advanced-search input {\n\twidth: 60%;\n}\n\n.tc-search a svg {\n\twidth: 1.2em;\n\theight: 1.2em;\n\tvertical-align: middle;\n}\n\n.tc-page-controls {\n\tmargin-top: 14px;\n\tfont-size: 1.5em;\n}\n\n.tc-page-controls .tc-drop-down {\n font-size: 1rem;\n}\n\n.tc-page-controls button {\n\tmargin-right: 0.5em;\n}\n\n.tc-page-controls a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-page-controls img {\n\twidth: 1em;\n}\n\n.tc-page-controls svg {\n\tfill: <<colour sidebar-controls-foreground>>;\n}\n\n.tc-page-controls button:hover svg, .tc-page-controls a:hover svg {\n\tfill: <<colour sidebar-controls-foreground-hover>>;\n}\n\n.tc-sidebar-lists .tc-menu-list-item {\n\twhite-space: nowrap;\n}\n\n.tc-menu-list-count {\n\tfont-weight: bold;\n}\n\n.tc-menu-list-subitem {\n\tpadding-left: 7px;\n}\n\n.tc-story-river {\n\tposition: relative;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-sidebar-header {\n\t\tpadding: 14px;\n\t\tmin-height: 32px;\n\t\tmargin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\ttransition: min-height {{$:/config/AnimationDuration}}ms ease-in-out, padding-top {{$:/config/AnimationDuration}}ms ease-in-out, padding-bottom {{$:/config/AnimationDuration}}ms ease-in-out;\n\t}\n\t\n\t<<if-no-sidebar \"\"\"\n\n\t\t.tc-sidebar-header {\n\t\t\tmin-height: 0;\n\t\t\tpadding-top: 0;\n\t\t\tpadding-bottom: 0;\n\t\t}\n\n\t\"\"\">>\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tpadding: 0;\n\t}\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n\t.tc-message-box {\n\t\tmargin: 21px -21px 21px -21px;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tposition: fixed;\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t\tbottom: 0;\n\t\tright: 0;\n\t\toverflow-y: auto;\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t\tmargin: 0 0 0 -42px;\n\t\tpadding: 71px 0 28px 42px;\n\t}\n\n\thtml[dir=\"rtl\"] .tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tright: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/storywidth}};\n\t\tpadding: 42px 42px 42px 42px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-story-river {\n\t\twidth: calc(100% - {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}});\n\t}\n\n\">>\n\n\t.tc-story-river.tc-static-story-river {\n\t\tmargin-right: 0;\n\t\tpadding-right: 42px;\n\t}\n\n}\n\n@media print {\n\n\tbody.tc-body {\n\t\tbackground-color: transparent;\n\t}\n\n\t.tc-sidebar-header, .tc-topbar {\n\t\tdisplay: none;\n\t}\n\n\t.tc-story-river {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.tc-story-river .tc-tiddler-frame {\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tpadding: 0;\n\t}\n}\n\n/*\n** Tiddler styles\n*/\n\n.tc-tiddler-frame {\n\tposition: relative;\n\tmargin-bottom: 28px;\n\tbackground-color: <<colour tiddler-background>>;\n\tborder: 1px solid <<colour tiddler-border>>;\n}\n\n{{$:/themes/tiddlywiki/vanilla/sticky}}\n\n.tc-tiddler-info {\n\tpadding: 14px 42px 14px 42px;\n\tbackground-color: <<colour tiddler-info-background>>;\n\tborder-top: 1px solid <<colour tiddler-info-border>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-border>>;\n}\n\n.tc-tiddler-info p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-tiddler-info .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour tiddler-info-tab-background>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-tab-background>>;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-tiddler-info {\n\t\tpadding: 14px 14px 14px 14px;\n\t}\n\n}\n\n.tc-view-field-table {\n\twidth: 100%;\n}\n\n.tc-view-field-name {\n\twidth: 1%; /* Makes this column be as narrow as possible */\n\ttext-align: right;\n\tfont-style: italic;\n\tfont-weight: 200;\n}\n\n.tc-view-field-value {\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\t.tc-tiddler-frame {\n\t\tpadding: 14px 14px 14px 14px;\n\t\tmargin-bottom: .5em;\n\t}\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -14px 0 -14px;\n\t}\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\t.tc-tiddler-frame {\n\t\tpadding: 28px 42px 42px 42px;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}};\n\t\tborder-radius: 2px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\">>\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -42px 0 -42px;\n\t}\n}\n\n.tc-site-title,\n.tc-titlebar {\n\tfont-weight: 300;\n\tfont-size: 2.35em;\n\tline-height: 1.35em;\n\tcolor: <<colour tiddler-title-foreground>>;\n\tmargin: 0;\n}\n\n.tc-site-title {\n\tcolor: <<colour site-title-foreground>>;\n}\n\n.tc-tiddler-title-icon {\n\tvertical-align: middle;\n\tmargin-right: .1em;\n}\n\n.tc-system-title-prefix {\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-titlebar h2 {\n\tfont-size: 1em;\n\tdisplay: inline;\n}\n\n.tc-titlebar img {\n\theight: 1em;\n}\n\n.tc-subtitle {\n\tfont-size: 0.9em;\n\tcolor: <<colour tiddler-subtitle-foreground>>;\n\tfont-weight: 300;\n}\n\n.tc-subtitle .tc-tiddlylink {\n\tmargin-right: .3em;\n}\n\n.tc-tiddler-missing .tc-title {\n font-style: italic;\n font-weight: normal;\n}\n\n.tc-tiddler-frame .tc-tiddler-controls {\n\tfloat: right;\n}\n\n.tc-tiddler-controls .tc-drop-down {\n\tfont-size: 0.6em;\n}\n\n.tc-tiddler-controls .tc-drop-down .tc-drop-down {\n\tfont-size: 1em;\n}\n\n.tc-tiddler-controls > span > button,\n.tc-tiddler-controls > span > span > button,\n.tc-tiddler-controls > span > span > span > button {\n\tvertical-align: baseline;\n\tmargin-left:5px;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img,\n.tc-search button svg, .tc-search a svg {\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img {\n\theight: 0.75em;\n}\n\n.tc-search button svg, .tc-search a svg {\n height: 1.2em;\n width: 1.2em;\n margin: 0 0.25em;\n}\n\n.tc-tiddler-controls button.tc-selected svg,\n.tc-page-controls button.tc-selected svg {\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n}\n\n.tc-tiddler-controls button.tc-btn-invisible:hover svg,\n.tc-search button:hover svg, .tc-search a:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n@media print {\n\t.tc-tiddler-controls {\n\t\tdisplay: none;\n\t}\n}\n\n.tc-tiddler-help { /* Help prompts within tiddler template */\n\tcolor: <<colour muted-foreground>>;\n\tmargin-top: 14px;\n}\n\n.tc-tiddler-help a.tc-tiddlylink {\n\tcolor: <<colour very-muted-foreground>>;\n}\n\n.tc-tiddler-frame .tc-edit-texteditor {\n\twidth: 100%;\n\tmargin: 4px 0 4px 0;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor,\n.tc-tiddler-frame iframe.tc-edit-texteditor {\n\tpadding: 3px 3px 3px 3px;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tline-height: 1.3em;\n\t-webkit-appearance: none;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor {\n\tbackground-color: <<colour tiddler-editor-background>>;\n}\n\n.tc-tiddler-frame iframe.tc-edit-texteditor {\n\tbackground-color: <<colour tiddler-background>>;\n}\n\n.tc-tiddler-frame .tc-binary-warning {\n\twidth: 100%;\n\theight: 5em;\n\ttext-align: center;\n\tpadding: 3em 3em 6em 3em;\n\tbackground: <<colour alert-background>>;\n\tborder: 1px solid <<colour alert-border>>;\n}\n\ncanvas.tc-edit-bitmapeditor {\n\tborder: 6px solid <<colour tiddler-editor-border-image>>;\n\tcursor: crosshair;\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tmargin-top: 6px;\n\tmargin-bottom: 6px;\n}\n\n.tc-edit-bitmapeditor-width {\n\tdisplay: block;\n}\n\n.tc-edit-bitmapeditor-height {\n\tdisplay: block;\n}\n\n.tc-tiddler-body {\n\tclear: both;\n}\n\n.tc-tiddler-frame .tc-tiddler-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};\n}\n\n.tc-titlebar, .tc-tiddler-edit-title {\n\toverflow: hidden; /* https://github.com/Jermolene/TiddlyWiki5/issues/282 */\n}\n\nhtml body.tc-body.tc-single-tiddler-window {\n\tmargin: 1em;\n\tbackground: <<colour tiddler-background>>;\n}\n\n.tc-single-tiddler-window img,\n.tc-single-tiddler-window svg,\n.tc-single-tiddler-window canvas,\n.tc-single-tiddler-window embed,\n.tc-single-tiddler-window iframe {\n\tmax-width: 100%;\n}\n\n/*\n** Editor\n*/\n\n.tc-editor-toolbar {\n\tmargin-top: 8px;\n}\n\n.tc-editor-toolbar button {\n\tvertical-align: middle;\n\tbackground-color: <<colour tiddler-controls-foreground>>;\n\tcolor: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n\tborder-radius: 4px;\n\tpadding: 3px;\n\tmargin: 2px 0 2px 4px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-adjunct {\n\tmargin-left: 1px;\n\twidth: 1em;\n\tborder-radius: 8px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-start-group {\n\tmargin-left: 11px;\n}\n\n.tc-editor-toolbar button.tc-selected {\n\tbackground-color: <<colour primary>>;\n}\n\n.tc-editor-toolbar button svg {\n\twidth: 1.6em;\n\theight: 1.2em;\n}\n\n.tc-editor-toolbar button:hover {\n\tbackground-color: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour background>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more {\n\twhite-space: normal;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more button {\n\tdisplay: inline-block;\n\tpadding: 3px;\n\twidth: auto;\n}\n\n.tc-editor-toolbar .tc-search-results {\n\tpadding: 0;\n}\n\n/*\n** Adjustments for fluid-fixed mode\n*/\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n<<if-fluid-fixed text:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 0;\n\t\tposition: relative;\n\t\twidth: auto;\n\t\tleft: 0;\n\t\tmargin-left: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\tmargin-right: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tbottom: 0;\n\t\tright: 0;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 42px);\n\t}\n\n\"\"\" hiddenSidebarText:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 3em;\n\t\tmargin-right: 0;\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 84px);\n\t}\n\n\"\"\">>\n\n}\n\n/*\n** Toolbar buttons\n*/\n\n.tc-page-controls svg.tc-image-new-button {\n fill: <<colour toolbar-new-button>>;\n}\n\n.tc-page-controls svg.tc-image-options-button {\n fill: <<colour toolbar-options-button>>;\n}\n\n.tc-page-controls svg.tc-image-save-button {\n fill: <<colour toolbar-save-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-info-button {\n fill: <<colour toolbar-info-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-edit-button {\n fill: <<colour toolbar-edit-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-close-button {\n fill: <<colour toolbar-close-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-delete-button {\n fill: <<colour toolbar-delete-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-cancel-button {\n fill: <<colour toolbar-cancel-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-done-button {\n fill: <<colour toolbar-done-button>>;\n}\n\n/*\n** Tiddler edit mode\n*/\n\n.tc-tiddler-edit-frame em.tc-edit {\n\tcolor: <<colour muted-foreground>>;\n\tfont-style: normal;\n}\n\n.tc-edit-type-dropdown a.tc-tiddlylink-missing {\n\tfont-style: normal;\n}\n\n.tc-type-selector .tc-edit-typeeditor {\n\twidth: auto;\n}\n\n.tc-type-selector-dropdown-wrapper {\n\tdisplay: inline-block;\n}\n\n<<set-type-selector-min-width>>\n\n.tc-edit-tags {\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tpadding: 4px 8px 4px 8px;\n}\n\n.tc-edit-add-tag {\n\tdisplay: inline-block;\n}\n\n.tc-edit-add-tag .tc-add-tag-name input {\n\twidth: 50%;\n}\n\n.tc-edit-add-tag .tc-keyboard {\n\tdisplay:inline;\n}\n\n.tc-edit-tags .tc-tag-label {\n\tdisplay: inline-block;\n}\n\n.tc-edit-tags-list {\n\tmargin: 14px 0 14px 0;\n}\n\n.tc-remove-tag-button {\n\tpadding-left: 4px;\n}\n\n.tc-tiddler-preview {\n\toverflow: auto;\n}\n\n.tc-tiddler-preview-preview {\n\tfloat: right;\n\twidth: 49%;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tmargin: 4px 0 3px 3px;\n\tpadding: 3px 3px 3px 3px;\n}\n\n<<if-editor-height-fixed then:\"\"\"\n\n.tc-tiddler-preview-preview {\n\toverflow-y: scroll;\n\theight: {{$:/config/TextEditor/EditorHeight/Height}};\n}\n\n\"\"\">>\n\n.tc-tiddler-frame .tc-tiddler-preview .tc-edit-texteditor {\n\twidth: 49%;\n}\n\n.tc-tiddler-frame .tc-tiddler-preview canvas.tc-edit-bitmapeditor {\n\tmax-width: 49%;\n}\n\n.tc-edit-fields {\n\twidth: 100%;\n}\n\n.tc-edit-fields.tc-edit-fields-small {\n\tmargin-top: 0;\n\tmargin-bottom: 0;\n}\n\n.tc-edit-fields table, .tc-edit-fields tr, .tc-edit-fields td {\n\tborder: none;\n\tpadding: 4px;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(odd) {\n\tbackground-color: <<colour tiddler-editor-fields-odd>>;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(even) {\n\tbackground-color: <<colour tiddler-editor-fields-even>>;\n}\n\n.tc-edit-field-name {\n\ttext-align: right;\n}\n\n.tc-edit-field-value input {\n\twidth: 100%;\n}\n\n.tc-edit-field-remove {\n}\n\n.tc-edit-field-remove svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n\tvertical-align: middle;\n}\n\n.tc-edit-field-add-name-wrapper input.tc-edit-texteditor {\n\twidth: auto;\n}\n\n.tc-edit-field-add-name-wrapper {\n\tdisplay: inline-block;\n}\n\n.tc-edit-field-add-value {\n\tdisplay: inline-block;\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n\t.tc-edit-field-add-value {\n\t\twidth: 35%;\n\t}\n\n}\n\n.tc-edit-field-add-button {\n\tdisplay: inline-block;\n\twidth: 10%;\n}\n\n/*\n** Storyview Classes\n*/\n\n.tc-viewswitcher .tc-image-button {\n\tmargin-right: .3em;\n}\n\n.tc-storyview-zoomin-tiddler {\n\tposition: absolute;\n\tdisplay: block;\n\twidth: 100%;\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n\t.tc-storyview-zoomin-tiddler {\n\t\twidth: calc(100% - 84px);\n\t}\n\n}\n\n/*\n** Dropdowns\n*/\n\n.tc-btn-dropdown {\n\ttext-align: left;\n}\n\n.tc-btn-dropdown svg, .tc-btn-dropdown img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-drop-down-wrapper {\n\tposition: relative;\n}\n\n.tc-drop-down {\n\tmin-width: 380px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\ttext-shadow: none;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-drop-down {\n\tmargin-left: 14px;\n}\n\n.tc-drop-down button svg, .tc-drop-down a svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down button.tc-btn-invisible:hover svg {\n\tfill: <<colour background>>;\n}\n\n.tc-drop-down .tc-drop-down-info {\n\tpadding-left: 14px;\n}\n\n.tc-drop-down p {\n\tpadding: 0 14px 0 14px;\n}\n\n.tc-drop-down svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-drop-down img {\n\twidth: 1em;\n}\n\n.tc-drop-down a, .tc-drop-down button {\n\tdisplay: block;\n\tpadding: 0 14px 0 14px;\n\twidth: 100%;\n\ttext-align: left;\n\tcolor: <<colour foreground>>;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-tab-set .tc-tab-buttons button {\n\tdisplay: inline-block;\n width: auto;\n margin-bottom: 0px;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.tc-drop-down .tc-prompt {\n\tpadding: 0 14px;\n}\n\n.tc-drop-down .tc-chooser {\n\tborder: none;\n}\n\n.tc-drop-down .tc-chooser .tc-swatches-horiz {\n\tfont-size: 0.4em;\n\tpadding-left: 1.2em;\n}\n\n.tc-drop-down .tc-file-input-wrapper {\n\twidth: 100%;\n}\n\n.tc-drop-down .tc-file-input-wrapper button {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-drop-down a:hover, .tc-drop-down button:hover, .tc-drop-down .tc-file-input-wrapper:hover button {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-tab-buttons button {\n\tbackground-color: <<colour dropdown-tab-background>>;\n}\n\n.tc-drop-down .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour dropdown-tab-background-selected>>;\n\tborder-bottom: 1px solid <<colour dropdown-tab-background-selected>>;\n}\n\n.tc-drop-down-bullet {\n\tdisplay: inline-block;\n\twidth: 0.5em;\n}\n\n.tc-drop-down .tc-tab-contents a {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-block-dropdown-wrapper {\n\tposition: relative;\n}\n\n.tc-block-dropdown {\n\tposition: absolute;\n\tmin-width: 220px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\tz-index: 1000;\n\ttext-shadow: none;\n}\n\n.tc-block-dropdown.tc-search-drop-down {\n\tmargin-left: -12px;\n}\n\n.tc-block-dropdown a {\n\tdisplay: block;\n\tpadding: 4px 14px 4px 14px;\n}\n\n.tc-block-dropdown.tc-search-drop-down a {\n\tdisplay: block;\n\tpadding: 0px 10px 0px 10px;\n}\n\n.tc-drop-down .tc-dropdown-item-plain,\n.tc-block-dropdown .tc-dropdown-item-plain {\n\tpadding: 4px 14px 4px 7px;\n}\n\n.tc-drop-down .tc-dropdown-item,\n.tc-block-dropdown .tc-dropdown-item {\n\tpadding: 4px 14px 4px 7px;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-block-dropdown a.tc-tiddlylink:hover {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-search-results {\n\tpadding: 0 7px 0 7px;\n}\n\n.tc-image-chooser, .tc-colour-chooser {\n\twhite-space: normal;\n}\n\n.tc-image-chooser a,\n.tc-colour-chooser a {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.tc-image-chooser a {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 2px;\n\tmargin: 2px;\n\twidth: 4em;\n\theight: 4em;\n}\n\n.tc-colour-chooser a {\n\tpadding: 3px;\n\twidth: 2em;\n\theight: 2em;\n\tvertical-align: middle;\n}\n\n.tc-image-chooser a:hover,\n.tc-colour-chooser a:hover {\n\tbackground: <<colour primary>>;\n\tpadding: 0px;\n\tborder: 3px solid <<colour primary>>;\n}\n\n.tc-image-chooser a svg,\n.tc-image-chooser a img {\n\tdisplay: inline-block;\n\twidth: auto;\n\theight: auto;\n\tmax-width: 3.5em;\n\tmax-height: 3.5em;\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tmargin: auto;\n}\n\n/*\n** Modals\n*/\n\n.tc-modal-wrapper {\n\tposition: fixed;\n\toverflow: auto;\n\toverflow-y: scroll;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 900;\n}\n\n.tc-modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 1000;\n\tbackground-color: <<colour modal-backdrop>>;\n}\n\n.tc-modal {\n\tz-index: 1100;\n\tbackground-color: <<colour modal-background>>;\n\tborder: 1px solid <<colour modal-border>>;\n}\n\n@media (max-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 1em;\n\t\tleft: 1em;\n\t\tright: 1em;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n@media (min-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 2em;\n\t\tleft: 25%;\n\t\twidth: 50%;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n.tc-modal-header {\n\tpadding: 9px 15px;\n\tborder-bottom: 1px solid <<colour modal-header-border>>;\n}\n\n.tc-modal-header h3 {\n\tmargin: 0;\n\tline-height: 30px;\n}\n\n.tc-modal-header img, .tc-modal-header svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-modal-body {\n\tpadding: 15px;\n}\n\n.tc-modal-footer {\n\tpadding: 14px 15px 15px;\n\tmargin-bottom: 0;\n\ttext-align: right;\n\tbackground-color: <<colour modal-footer-background>>;\n\tborder-top: 1px solid <<colour modal-footer-border>>;\n}\n\n\n/*\n** Centered modals\n*/\n.tc-modal-centered .tc-modal {\n\twidth: auto;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%) !important;\n}\n\n/*\n** Notifications\n*/\n\n.tc-notification {\n\tposition: fixed;\n\ttop: 14px;\n\tright: 42px;\n\tz-index: 1300;\n\tmax-width: 280px;\n\tpadding: 0 14px 0 14px;\n\tbackground-color: <<colour notification-background>>;\n\tborder: 1px solid <<colour notification-border>>;\n}\n\n/*\n** Tabs\n*/\n\n.tc-tab-set.tc-vertical {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tab-buttons {\n\tfont-size: 0.85em;\n\tpadding-top: 1em;\n\tmargin-bottom: -2px;\n}\n\n.tc-tab-buttons.tc-vertical {\n\tz-index: 100;\n\tdisplay: block;\n\tpadding-top: 14px;\n\tvertical-align: top;\n\ttext-align: right;\n\tmargin-bottom: inherit;\n\tmargin-right: -1px;\n\tmax-width: 33%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n}\n\n.tc-tab-buttons button.tc-tab-selected {\n\tcolor: <<colour tab-foreground-selected>>;\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-left: 1px solid <<colour tab-border-selected>>;\n\tborder-top: 1px solid <<colour tab-border-selected>>;\n\tborder-right: 1px solid <<colour tab-border-selected>>;\n}\n\n.tc-tab-buttons button {\n\tcolor: <<colour tab-foreground>>;\n\tpadding: 3px 5px 3px 5px;\n\tmargin-right: 0.3em;\n\tfont-weight: 300;\n\tborder: none;\n\tbackground: inherit;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-right: 1px solid <<colour tab-border>>;\n\tborder-top-left-radius: 2px;\n\tborder-top-right-radius: 2px;\n\tborder-bottom-left-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-tab-buttons.tc-vertical button {\n\tdisplay: block;\n\twidth: 100%;\n\tmargin-top: 3px;\n\tmargin-right: 0;\n\ttext-align: right;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tborder-right: none;\n\tborder-top-left-radius: 2px;\n\tborder-bottom-left-radius: 2px;\n\tborder-top-right-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-tab-buttons.tc-vertical button.tc-tab-selected {\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-right: 1px solid <<colour tab-background-selected>>;\n}\n\n.tc-tab-divider {\n\tborder-top: 1px solid <<colour tab-divider>>;\n}\n\n.tc-tab-divider.tc-vertical {\n\tdisplay: none;\n}\n\n.tc-tab-content {\n\tmargin-top: 14px;\n}\n\n.tc-tab-content.tc-vertical {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-top: 0;\n\tpadding-left: 14px;\n\tborder-left: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 70%;\n\tflex: 1 0 70%;\n\toverflow: auto;\n}\n\n.tc-sidebar-lists .tc-tab-buttons {\n\tmargin-bottom: -1px;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tcolor: <<colour sidebar-tab-foreground-selected>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border-selected>>;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button {\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tcolor: <<colour sidebar-tab-foreground>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border>>;\n}\n\n.tc-sidebar-lists .tc-tab-divider {\n\tborder-top: 1px solid <<colour sidebar-tab-divider>>;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\tdisplay: block;\n\twidth: 100%;\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tborder-top: none;\n\tborder-left: none;\n\tborder-bottom: none;\n\tborder-right: 1px solid #ccc;\n\tmargin-bottom: inherit;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tborder: none;\n}\n\n/*\n** Manager\n*/\n\n.tc-manager-wrapper {\n\t\n}\n\n.tc-manager-controls {\n\t\n}\n\n.tc-manager-control {\n\tmargin: 0.5em 0;\n}\n\n.tc-manager-list {\n\twidth: 100%;\n\tborder-top: 1px solid <<colour muted-foreground>>;\n\tborder-left: 1px solid <<colour muted-foreground>>;\n\tborder-right: 1px solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item {\n\n}\n\n.tc-manager-list-item-heading {\n display: block;\n width: 100%;\n text-align: left;\t\n\tborder-bottom: 1px solid <<colour muted-foreground>>;\n\tpadding: 3px;\n}\n\n.tc-manager-list-item-heading-selected {\n\tfont-weight: bold;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n\tbackground-color: <<colour foreground>>;\n}\n\n.tc-manager-list-item-heading:hover {\n\tbackground: <<colour primary>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-manager-list-item-content {\n\tdisplay: flex;\n}\n\n.tc-manager-list-item-content-sidebar {\n flex: 1 0;\n background: <<colour tiddler-editor-background>>;\n border-right: 0.5em solid <<colour muted-foreground>>;\n border-bottom: 0.5em solid <<colour muted-foreground>>;\n white-space: nowrap;\n}\n\n.tc-manager-list-item-content-item-heading {\n\tdisplay: block;\n\twidth: 100%;\n\ttext-align: left;\n background: <<colour muted-foreground>>;\n\ttext-transform: uppercase;\n\tfont-size: 0.6em;\n\tfont-weight: bold;\n padding: 0.5em 0 0.5em 0;\n}\n\n.tc-manager-list-item-content-item-body {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-manager-list-item-content-item-body > pre {\n\tmargin: 0.5em 0 0.5em 0;\n\tborder: none;\n\tbackground: inherit;\n}\n\n.tc-manager-list-item-content-tiddler {\n flex: 3 1;\n border-left: 0.5em solid <<colour muted-foreground>>;\n border-right: 0.5em solid <<colour muted-foreground>>;\n border-bottom: 0.5em solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item-content-item-body > table {\n\tborder: none;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-manager-list-item-content-item-body > table td {\n\tborder: none;\n}\n\n.tc-manager-icon-editor > button {\n\twidth: 100%;\n}\n\n.tc-manager-icon-editor > button > svg,\n.tc-manager-icon-editor > button > button {\n\twidth: 100%;\n\theight: auto;\n}\n\n/*\n** Import table\n*/\n\n.tc-import-table {\n\twidth: 100%;\n}\n\n.tc-import-table svg.tc-image-edit-button {\n\tmax-width: unset;\n}\n\n.tc-import-table th:first-of-type {\n\twidth: 10%;\n}\n\n.tc-import-table th:last-of-type {\n\twidth: 30%;\n}\n\n.tc-import-table .tc-row-disabled {\n\tbackground: <<colour very-muted-foreground>>10;\n\topacity: 0.8;\n}\n\n.tc-import-table .tc-row-warning {\n\tbackground: <<colour diff-delete-background>>50;\n}\n\n/*\n** Alerts\n*/\n\n.tc-alerts {\n\tposition: fixed;\n\ttop: 28px;\n\tleft: 0;\n\tright: 0;\n\tmax-width: 50%;\n\tz-index: 20000;\n}\n\n.tc-alert {\n\tposition: relative;\n\tmargin: 14px;\n\tpadding: 7px;\n\tborder: 1px solid <<colour alert-border>>;\n\tbackground-color: <<colour alert-background>>;\n}\n\n.tc-alert-toolbar {\n\tposition: absolute;\n\ttop: 7px;\n\tright: 7px;\n line-height: 0;\n}\n\n.tc-alert-toolbar svg {\n\tfill: <<colour alert-muted-foreground>>;\n}\n\n.tc-alert-subtitle {\n\tcolor: <<colour alert-muted-foreground>>;\n\tfont-weight: bold;\n font-size: 0.8em;\n margin-bottom: 0.5em;\n}\n\n.tc-alert-body > p {\n\tmargin: 0;\n}\n\n.tc-alert-highlight {\n\tcolor: <<colour alert-highlight>>;\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n\t.tc-static-alert {\n\t\tposition: relative;\n\t}\n\n\t.tc-static-alert-inner {\n\t\tposition: absolute;\n\t\tz-index: 100;\n\t}\n\n}\n\n.tc-static-alert-inner {\n\tpadding: 0 2px 2px 42px;\n\tcolor: <<colour static-alert-foreground>>;\n}\n\n/*\n** Floating drafts list\n*/\n\n.tc-drafts-list {\n\tz-index: 2000;\n\tposition: fixed;\n\tfont-size: 0.8em;\n\tleft: 0;\n\tbottom: 0;\n}\n\n.tc-drafts-list a {\n\tmargin: 0 0.5em;\n\tpadding: 4px 4px;\n\tborder-top-left-radius: 4px;\n\tborder-top-right-radius: 4px;\n\tborder: 1px solid <<colour background>>;\n\tborder-bottom-none;\n\tbackground: <<colour dirty-indicator>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n}\n\n.tc-drafts-list a:hover {\n\ttext-decoration: none;\n\tbackground: <<colour foreground>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n}\n\n.tc-drafts-list a svg {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: text-bottom;\n}\n\n/*\n** Control panel\n*/\n\n.tc-control-panel td {\n\tpadding: 4px;\n}\n\n.tc-control-panel table, .tc-control-panel table input, .tc-control-panel table textarea {\n\twidth: 100%;\n}\n\n.tc-plugin-info {\n\tdisplay: flex;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tfill: <<colour muted-foreground>>;\n\tbackground-color: <<colour background>>;\n\tmargin: 0.5em 0 0.5em 0;\n\tpadding: 4px;\n align-items: center;\n}\n\n.tc-plugin-info-sub-plugins .tc-plugin-info {\n margin: 0.5em;\n\tbackground: <<colour background>>;\n}\n\n.tc-plugin-info-sub-plugin-indicator {\n\tmargin: -16px 1em 0 2em;\n}\n\n.tc-plugin-info-sub-plugin-indicator button {\n\tcolor: <<colour background>>;\n\tbackground: <<colour foreground>>;\n\tborder-radius: 8px;\n padding: 2px 7px;\n font-size: 0.75em;\n}\n\n.tc-plugin-info-sub-plugins .tc-plugin-info-dropdown {\n\tmargin-left: 1em;\n\tmargin-right: 1em;\n}\n\n.tc-plugin-info-disabled {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n\tbackground: repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n}\n\n.tc-plugin-info-disabled:hover {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n\tbackground: repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n}\n\na.tc-tiddlylink.tc-plugin-info:hover {\n\ttext-decoration: none;\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour foreground>>;\n}\n\na.tc-tiddlylink.tc-plugin-info:hover > .tc-plugin-info-chunk > svg {\n\tfill: <<colour background>>;\n}\n\n.tc-plugin-info-chunk {\n margin: 2px;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-toggle {\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tline-height: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-icon {\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tline-height: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description {\n\tflex-grow: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-buttons {\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n text-align: right;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description h1 {\n\tfont-size: 1em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description h2 {\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description div {\n\tfont-size: 0.7em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-toggle img, .tc-plugin-info-chunk.tc-plugin-info-toggle svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-icon img, .tc-plugin-info-chunk.tc-plugin-info-icon svg {\n\twidth: 2em;\n\theight: 2em;\n}\n\n.tc-plugin-info-dropdown {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tmargin-top: -8px;\n}\n\n.tc-plugin-info-dropdown-message {\n\tbackground: <<colour message-background>>;\n\tpadding: 0.5em 1em 0.5em 1em;\n\tfont-weight: bold;\n\tfont-size: 0.8em;\n}\n\n.tc-plugin-info-dropdown-body {\n\tpadding: 1em 1em 0 1em;\n\tbackground: <<colour background>>;\n}\n\n.tc-plugin-info-sub-plugins {\n\tpadding: 0.5em;\n margin: 0 1em 1em 1em;\n\tbackground: <<colour notification-background>>;\n}\n\n.tc-install-plugin {\n\tfont-weight: bold;\n\tbackground: green;\n\tcolor: white;\n\tfill: white;\n\tborder-radius: 4px;\n\tpadding: 3px;\n}\n\n.tc-install-plugin.tc-reinstall-downgrade {\n\tbackground: red;\n}\n\n.tc-install-plugin.tc-reinstall {\n\tbackground: blue;\n}\n\n.tc-install-plugin.tc-reinstall-upgrade {\n\tbackground: orange;\n}\n\n.tc-check-list {\n\tline-height: 2em;\n}\n\n.tc-check-list .tc-image-button {\n\theight: 1.5em;\n}\n\n/*\n** Message boxes\n*/\n\n.tc-message-box {\n\tborder: 1px solid <<colour message-border>>;\n\tbackground: <<colour message-background>>;\n\tpadding: 0px 21px 0px 21px;\n\tfont-size: 12px;\n\tline-height: 18px;\n\tcolor: <<colour message-foreground>>;\n}\n\n.tc-message-box svg {\n\twidth: 1em;\n\theight: 1em;\n vertical-align: text-bottom;\n}\n\n/*\n** Pictures\n*/\n\n.tc-bordered-image {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 5px;\n\tmargin: 5px;\n}\n\n/*\n** Floats\n*/\n\n.tc-float-right {\n\tfloat: right;\n}\n\n/*\n** Chooser\n*/\n\n.tc-chooser {\n\tborder-right: 1px solid <<colour table-header-background>>;\n\tborder-left: 1px solid <<colour table-header-background>>;\n}\n\n\n.tc-chooser-item {\n\tborder-bottom: 1px solid <<colour table-header-background>>;\n\tborder-top: 1px solid <<colour table-header-background>>;\n\tpadding: 2px 4px 2px 14px;\n}\n\n.tc-drop-down .tc-chooser-item {\n\tpadding: 2px;\n}\n\n.tc-chosen,\n.tc-chooser-item:hover {\n\tbackground-color: <<colour table-header-background>>;\n\tborder-color: <<colour table-footer-background>>;\n}\n\n.tc-chosen .tc-tiddlylink {\n\tcursor:default;\n}\n\n.tc-chooser-item .tc-tiddlylink {\n\tdisplay: block;\n\ttext-decoration: none;\n\tbackground-color: transparent;\n}\n\n.tc-chooser-item:hover .tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-chosen .tc-tiddlylink,\n.tc-drop-down .tc-chooser-item .tc-tiddlylink:hover {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-chosen > .tc-tiddlylink:before {\n\tmargin-left: -10px;\n\tposition: relative;\n\tcontent: \"» \";\n}\n\n.tc-chooser-item svg,\n.tc-chooser-item img{\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: middle;\n}\n\n.tc-language-chooser .tc-image-button img {\n\twidth: 2em;\n\tvertical-align: -0.15em;\n}\n\n/*\n** Palette swatches\n*/\n\n.tc-swatches-horiz {\n}\n\n.tc-swatches-horiz .tc-swatch {\n\tdisplay: inline-block;\n}\n\n.tc-swatch {\n\twidth: 2em;\n\theight: 2em;\n\tmargin: 0.4em;\n\tborder: 1px solid #888;\n}\n\ninput.tc-palette-manager-colour-input {\n\twidth: 100%;\n\tpadding: 0;\n}\n\n/*\n** Table of contents\n*/\n\n.tc-sidebar-lists .tc-table-of-contents {\n\twhite-space: nowrap;\n}\n\n.tc-table-of-contents button {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents svg {\n\twidth: 0.7em;\n\theight: 0.7em;\n\tvertical-align: middle;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents ol {\n\tlist-style-type: none;\n\tpadding-left: 0;\n}\n\n.tc-table-of-contents ol ol {\n\tpadding-left: 1em;\n}\n\n.tc-table-of-contents li {\n\tfont-size: 1.0em;\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n\tline-height: 1.4;\n}\n\n.tc-table-of-contents li li a {\n\tfont-weight: normal;\n}\n\n.tc-table-of-contents li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n\tline-height: 1.5;\n}\n\n.tc-table-of-contents li li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n}\n\n.tc-tabbed-table-of-contents {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents {\n\tz-index: 100;\n\tdisplay: inline-block;\n\tpadding-left: 1em;\n\tmax-width: 50%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n\tbackground: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a,\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tdisplay: block;\n\tpadding: 0.12em 1em 0.12em 0.25em;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a {\n\tborder-top: 1px solid <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-background>>;\n\tborder-bottom: 1px solid <<colour tab-background>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a:hover {\n\ttext-decoration: none;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour background>>;\n\tmargin-right: -1px;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a:hover {\n\ttext-decoration: none;\n}\n\n.tc-tabbed-table-of-contents .tc-tabbed-table-of-contents-content {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-left: 1.5em;\n\tpadding-right: 1.5em;\n\tborder: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 50%;\n\tflex: 1 0 50%;\n}\n\n/*\n** Dirty indicator\n*/\n\nbody.tc-dirty span.tc-dirty-indicator, body.tc-dirty span.tc-dirty-indicator svg {\n\tfill: <<colour dirty-indicator>>;\n\tcolor: <<colour dirty-indicator>>;\n}\n\n/*\n** File inputs\n*/\n\n.tc-file-input-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-file-input-wrapper input[type=file] {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tfont-size: 999px;\n\tmax-width: 100%;\n\tmax-height: 100%;\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\toutline: none;\n\tbackground: white;\n\tcursor: pointer;\n\tdisplay: inline-block;\n}\n\n::-webkit-file-upload-button {\n\tcursor:pointer;\n}\n\n/*\n** Thumbnail macros\n*/\n\n.tc-thumbnail-wrapper {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin: 6px;\n\tvertical-align: top;\n}\n\n.tc-thumbnail-right-wrapper {\n\tfloat:right;\n\tmargin: 0.5em 0 0.5em 0.5em;\n}\n\n.tc-thumbnail-image {\n\ttext-align: center;\n\toverflow: hidden;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-image svg,\n.tc-thumbnail-image img {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n\tmin-width: 100%;\n\tmin-height: 100%;\n\tmax-width: 100%;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image img {\n\tfilter: alpha(opacity=0.8);\n\topacity: 0.8;\n}\n\n.tc-thumbnail-background {\n\tposition: absolute;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-icon svg,\n.tc-thumbnail-icon img {\n\twidth: 3em;\n\theight: 3em;\n\t<<filter \"drop-shadow(2px 2px 4px rgba(0,0,0,0.3))\">>\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon img {\n\tfill: #fff;\n\t<<filter \"drop-shadow(3px 3px 4px rgba(0,0,0,0.6))\">>\n}\n\n.tc-thumbnail-icon {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tdisplay: -webkit-flex;\n\t-webkit-align-items: center;\n\t-webkit-justify-content: center;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.tc-thumbnail-caption {\n\tposition: absolute;\n\tbackground-color: #777;\n\tcolor: #fff;\n\ttext-align: center;\n\tbottom: 0;\n\twidth: 100%;\n\tfilter: alpha(opacity=0.9);\n\topacity: 0.9;\n\tline-height: 1.4;\n\tborder-bottom-left-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-caption {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n}\n\n/*\n** Diffs\n*/\n\n.tc-diff-equal {\n\tbackground-color: <<colour diff-equal-background>>;\n\tcolor: <<colour diff-equal-foreground>>;\n}\n\n.tc-diff-insert {\n\tbackground-color: <<colour diff-insert-background>>;\n\tcolor: <<colour diff-insert-foreground>>;\n}\n\n.tc-diff-delete {\n\tbackground-color: <<colour diff-delete-background>>;\n\tcolor: <<colour diff-delete-foreground>>;\n}\n\n.tc-diff-invisible {\n\tbackground-color: <<colour diff-invisible-background>>;\n\tcolor: <<colour diff-invisible-foreground>>;\n}\n\n.tc-diff-tiddlers th {\n\ttext-align: right;\n\tbackground: <<colour background>>;\n\tfont-weight: normal;\n\tfont-style: italic;\n}\n\n.tc-diff-tiddlers pre {\n margin: 0;\n padding: 0;\n border: none;\n background: none;\n}\n\n/*\n** Errors\n*/\n\n.tc-error {\n\tbackground: #f00;\n\tcolor: #fff;\n}\n\n/*\n** Tree macro\n*/\n\n.tc-tree div {\n \tpadding-left: 14px;\n}\n\n.tc-tree ol {\n \tlist-style-type: none;\n \tpadding-left: 0;\n \tmargin-top: 0;\n}\n\n.tc-tree ol ol {\n \tpadding-left: 1em; \n}\n\n.tc-tree button { \n \tcolor: #acacac;\n}\n\n.tc-tree svg {\n \tfill: #acacac;\n}\n\n.tc-tree span svg {\n \twidth: 1em;\n \theight: 1em;\n \tvertical-align: baseline;\n}\n\n.tc-tree li span {\n \tcolor: lightgray;\n}\n\nselect {\n color: <<colour select-tag-foreground>>;\n background: <<colour select-tag-background>>;\n}\n\n/*\n** Utility classes for SVG icons\n*/\n\n.tc-fill-background {\n\tfill: <<colour background>>;\n}\n\n/*\n** Flexbox utility classes\n*/\n\n.tc-flex {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-flex-column {\n\tflex-direction: column;\n}\n\n.tc-flex-row {\n\tflex-direction: row;\n}\n\n.tc-flex-grow-1 {\n\tflex-grow: 1;\n}\n\n.tc-flex-grow-2 {\n\tflex-grow: 2;\n}\n\n/*\n** Other utility classes\n*/\n\n.tc-small-gap {\n\tmargin-left: .5em;\n\tmargin-right: .5em;\n}\n\n.tc-small-gap-left {\n\tmargin-left: .5em;\n}\n\n.tc-small-gap-right {\n\tmargin-right: .5em;\n}\n\n.tc-big-gap {\n\tmargin-left: 1em;\n\tmargin-right: 1em;\n}\n\n.tc-big-gap-left {\n\tmargin-left: 1em;\n}\n\n.tc-big-gap-right {\n\tmargin-right: 1em;\n}\n\n.tc-word-break {\n\tword-break: break-all;\n}\n"},"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize":{"text":"15px"},"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight":{"text":"22px"},"$:/themes/tiddlywiki/vanilla/metrics/fontsize":{"text":"14px"},"$:/themes/tiddlywiki/vanilla/metrics/lineheight":{"text":"20px"},"$:/themes/tiddlywiki/vanilla/metrics/storyleft":{"text":"0px"},"$:/themes/tiddlywiki/vanilla/metrics/storytop":{"text":"0px"},"$:/themes/tiddlywiki/vanilla/metrics/storyright":{"text":"770px"},"$:/themes/tiddlywiki/vanilla/metrics/storywidth":{"text":"770px"},"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth":{"text":"686px"},"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint":{"text":"960px"},"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth":{"text":"350px"},"$:/themes/tiddlywiki/vanilla/options/stickytitles":{"text":"no"},"$:/themes/tiddlywiki/vanilla/options/sidebarlayout":{"text":"fixed-fluid"},"$:/themes/tiddlywiki/vanilla/options/codewrapping":{"text":"pre-wrap"},"$:/themes/tiddlywiki/vanilla/reset":{"type":"text/plain","text":"/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n/*\nDocument\n========\n*/\n\n/**\nUse a better box model (opinionated).\n*/\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n/**\nUse a more readable tab size (opinionated).\n*/\n\n:root {\n -moz-tab-size: 4;\n tab-size: 4;\n}\n\n/**\n1. Correct the line height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n*/\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/*\nSections\n========\n*/\n\n/**\nRemove the margin in all browsers.\n*/\n\nbody {\n margin: 0;\n}\n\n/**\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n*/\n\nbody {\n font-family:\n system-ui,\n -apple-system, /* Firefox supports this but not yet `system-ui` */\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji';\n}\n\n/*\nGrouping content\n================\n*/\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr[title] {\n text-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family:\n ui-monospace,\n SFMono-Regular,\n Consolas,\n 'Liberation Mono',\n Menlo,\n monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n}\n\n/*\nForms\n=====\n*/\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n1. Remove the inheritance of text transform in Firefox.\n*/\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\nlegend {\n padding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nInteractive\n===========\n*/\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n"},"$:/themes/tiddlywiki/vanilla/settings/fontfamily":{"text":"system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\""},"$:/themes/tiddlywiki/vanilla/settings/codefontfamily":{"text":"\"SFMono-Regular\",Consolas,\"Liberation Mono\",Menlo,Courier,monospace"},"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment":{"text":"fixed"},"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize":{"text":"auto"},"$:/themes/tiddlywiki/vanilla/sticky":{"text":"<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\" type=\"match\" text=\"yes\">\n``\n.tc-tiddler-title {\n\tposition: -webkit-sticky;\n\tposition: -moz-sticky;\n\tposition: -o-sticky;\n\tposition: -ms-sticky;\n\tposition: sticky;\n\ttop: 0px;\n\tbackground: ``<<colour tiddler-background>>``;\n\tz-index: 500;\n}\n\n``\n<$list filter=\"[range[100]]\">\n`.tc-story-river .tc-tiddler-frame:nth-child(100n+`<$text text=<<currentTiddler>>/>`) {\nz-index: `<$text text={{{ [[200]subtract<currentTiddler>] }}}/>`;\n}\n`\n</$list>\n</$reveal>\n"}}}
<$reveal state="$:/themes/tiddlywiki/vanilla/options/stickytitles" type="match" text="yes">
``
.tc-tiddler-title, .tc-tiddler-edit-title, h1, h2{
position: -webkit-sticky;
position: -moz-sticky;
position: -o-sticky;
position: -ms-sticky;
position: sticky;
background: ``<<colour tiddler-background>>``;
z-index: 500;
}
.tc-tiddler-title, .tc-tiddler-edit-title {
top: 0px;
opacity: 80%;
}
h1, h2{
top: 0px;
opacity: 90%;
}
``
<$list filter="[range[100]]">
`.tc-story-river .tc-tiddler-frame:nth-child(100n+`<$text text=<<currentTiddler>>/>`) {
z-index: `<$text text={{{ [[200]subtract<currentTiddler>] }}}/>`;
}
`
</$list>
</$reveal>
[[0000]] [[0100]] [[0200]] [[0300]] [[0400]] [[0500]] [[0600]] [[0700]] [[0800]] [[0900]]
[[1000]] [[1100]] [[1200]] [[1300]] [[1400]] [[1500]] [[1600]] [[1700]] [[1800]] [[1900]]
[[2000]] [[2100]] [[2200]] [[2300]] [[2400]] [[2500]] [[2600]] [[2700]] [[2800]] [[2900]]
[[3000]] [[3100]] [[3200]] [[3300]] [[3400]] [[3500]] [[3600]] [[3700]] [[3800]] [[3900]]
[[4000]] [[4100]] [[4200]] [[4300]] [[4400]] [[4500]] [[4600]] [[4700]] [[4800]] [[4900]]
[[5000]] [[5100]] [[5200]] [[5300]] [[5400]] [[5500]] [[5600]] [[5700]] [[5800]] [[5900]]
[[6000]] [[6100]] [[6200]] [[6300]] [[6400]] [[6500]] [[6600]] [[6700]] [[6800]] [[6900]]
[[7000]] [[7100]] [[7200]] [[7300]] [[7400]] [[7500]] [[7600]] [[7700]] [[7800]] [[7900]]
[[8000]] [[8100]] [[8200]] [[8300]] [[8400]] [[8500]] [[8600]] [[8700]] [[8800]] [[8900]]
[[9000]] [[9100]] [[9200]] [[9300]] [[9400]] [[9500]] [[9600]] [[9700]] [[9800]] [[9900]]
<<list-links filter:"
[!is[system]has[modified]tag{!!title}!sort[modified]limit[15]]" type:"ol">>
[[0001]] [[0101]] [[0201]] [[0301]] [[0401]] [[0501]] [[0601]] [[0701]] [[0801]] [[0901]]
[[1001]] [[1101]] [[1201]] [[1301]] [[1401]] [[1501]] [[1601]] [[1701]] [[1801]] [[1901]]
[[2001]] [[2101]] [[2201]] [[2301]] [[2401]] [[2501]] [[2601]] [[2701]] [[2801]] [[2901]]
[[3001]] [[3101]] [[3201]] [[3301]] [[3401]] [[3501]] [[3601]] [[3701]] [[3801]] [[3901]]
[[4001]] [[4101]] [[4201]] [[4301]] [[4401]] [[4501]] [[4601]] [[4701]] [[4801]] [[4901]]
[[5001]] [[5101]] [[5201]] [[5301]] [[5401]] [[5501]] [[5601]] [[5701]] [[5801]] [[5901]]
[[6001]] [[6101]] [[6201]] [[6301]] [[6401]] [[6501]] [[6601]] [[6701]] [[6801]] [[6901]]
[[7001]] [[7101]] [[7201]] [[7301]] [[7401]] [[7501]] [[7601]] [[7701]] [[7801]] [[7901]]
[[8001]] [[8101]] [[8201]] [[8301]] [[8401]] [[8501]] [[8601]] [[8701]] [[8801]] [[8901]]
[[9001]] [[9101]] [[9201]] [[9301]] [[9401]] [[9501]] [[9601]] [[9701]] [[9801]] [[9901]]
[[0002]] [[0102]] [[0202]] [[0302]] [[0402]] [[0502]] [[0602]] [[0702]] [[0802]] [[0902]]
[[1002]] [[1102]] [[1202]] [[1302]] [[1402]] [[1502]] [[1602]] [[1702]] [[1802]] [[1902]]
[[2002]] [[2102]] [[2202]] [[2302]] [[2402]] [[2502]] [[2602]] [[2702]] [[2802]] [[2902]]
[[3002]] [[3102]] [[3202]] [[3302]] [[3402]] [[3502]] [[3602]] [[3702]] [[3802]] [[3902]]
[[4002]] [[4102]] [[4202]] [[4302]] [[4402]] [[4502]] [[4602]] [[4702]] [[4802]] [[4902]]
[[5002]] [[5102]] [[5202]] [[5302]] [[5402]] [[5502]] [[5602]] [[5702]] [[5802]] [[5902]]
[[6002]] [[6102]] [[6202]] [[6302]] [[6402]] [[6502]] [[6602]] [[6702]] [[6802]] [[6902]]
[[7002]] [[7102]] [[7202]] [[7302]] [[7402]] [[7502]] [[7602]] [[7702]] [[7802]] [[7902]]
[[8002]] [[8102]] [[8202]] [[8302]] [[8402]] [[8502]] [[8602]] [[8702]] [[8802]] [[8902]]
[[9002]] [[9102]] [[9202]] [[9302]] [[9402]] [[9502]] [[9602]] [[9702]] [[9802]] [[9902]]
[[0003]] [[0103]] [[0203]] [[0303]] [[0403]] [[0503]] [[0603]] [[0703]] [[0803]] [[0903]]
[[1003]] [[1103]] [[1203]] [[1303]] [[1403]] [[1503]] [[1603]] [[1703]] [[1803]] [[1903]]
[[2003]] [[2103]] [[2203]] [[2303]] [[2403]] [[2503]] [[2603]] [[2703]] [[2803]] [[2903]]
[[3003]] [[3103]] [[3203]] [[3303]] [[3403]] [[3503]] [[3603]] [[3703]] [[3803]] [[3903]]
[[4003]] [[4103]] [[4203]] [[4303]] [[4403]] [[4503]] [[4603]] [[4703]] [[4803]] [[4903]]
[[5003]] [[5103]] [[5203]] [[5303]] [[5403]] [[5503]] [[5603]] [[5703]] [[5803]] [[5903]]
[[6003]] [[6103]] [[6203]] [[6303]] [[6403]] [[6503]] [[6603]] [[6703]] [[6803]] [[6903]]
[[7003]] [[7103]] [[7203]] [[7303]] [[7403]] [[7503]] [[7603]] [[7703]] [[7803]] [[7903]]
[[8003]] [[8103]] [[8203]] [[8303]] [[8403]] [[8503]] [[8603]] [[8703]] [[8803]] [[8903]]
[[9003]] [[9103]] [[9203]] [[9303]] [[9403]] [[9503]] [[9603]] [[9703]] [[9803]] [[9903]]
!! native
"""
picsew create long png from full screenshot
changelog [[3004]]
"""
!! jailbroken
"""
changelog [[5004]]
archive [[6004]]
untried [[7004]]
"""
[[0006]] [[0106]] [[0206]] [[0306]] [[0406]] [[0506]] [[0606]] [[0706]] [[0806]] [[0906]]
[[1006]] [[1106]] [[1206]] [[1306]] [[1406]] [[1506]] [[1606]] [[1706]] [[1806]] [[1906]]
[[2006]] [[2106]] [[2206]] [[2306]] [[2406]] [[2506]] [[2606]] [[2706]] [[2806]] [[2906]]
[[3006]] [[3106]] [[3206]] [[3306]] [[3406]] [[3506]] [[3606]] [[3706]] [[3806]] [[3906]]
[[4006]] [[4106]] [[4206]] [[4306]] [[4406]] [[4506]] [[4606]] [[4706]] [[4806]] [[4906]]
[[5006]] [[5106]] [[5206]] [[5306]] [[5406]] [[5506]] [[5606]] [[5706]] [[5806]] [[5906]]
[[6006]] [[6106]] [[6206]] [[6306]] [[6406]] [[6506]] [[6606]] [[6706]] [[6806]] [[6906]]
[[7006]] [[7106]] [[7206]] [[7306]] [[7406]] [[7506]] [[7606]] [[7706]] [[7806]] [[7906]]
[[8006]] [[8106]] [[8206]] [[8306]] [[8406]] [[8506]] [[8606]] [[8706]] [[8806]] [[8906]]
[[9006]] [[9106]] [[9206]] [[9306]] [[9406]] [[9506]] [[9606]] [[9706]] [[9806]] [[9906]]
<<list-links filter:"
[!is[system]has[modified]tag{!!title}!sort[modified]limit[15]]" type:"ol">>
[[0007]] [[0107]] [[0207]] [[0307]] [[0407]] [[0507]] [[0607]] [[0707]] [[0807]] [[0907]]
[[1007]] [[1107]] [[1207]] [[1307]] [[1407]] [[1507]] [[1607]] [[1707]] [[1807]] [[1907]]
[[2007]] [[2107]] [[2207]] [[2307]] [[2407]] [[2507]] [[2607]] [[2707]] [[2807]] [[2907]]
[[3007]] [[3107]] [[3207]] [[3307]] [[3407]] [[3507]] [[3607]] [[3707]] [[3807]] [[3907]]
[[4007]] [[4107]] [[4207]] [[4307]] [[4407]] [[4507]] [[4607]] [[4707]] [[4807]] [[4907]]
[[5007]] [[5107]] [[5207]] [[5307]] [[5407]] [[5507]] [[5607]] [[5707]] [[5807]] [[5907]]
[[6007]] [[6107]] [[6207]] [[6307]] [[6407]] [[6507]] [[6607]] [[6707]] [[6807]] [[6907]]
[[7007]] [[7107]] [[7207]] [[7307]] [[7407]] [[7507]] [[7607]] [[7707]] [[7807]] [[7907]]
[[8007]] [[8107]] [[8207]] [[8307]] [[8407]] [[8507]] [[8607]] [[8707]] [[8807]] [[8907]]
[[9007]] [[9107]] [[9207]] [[9307]] [[9407]] [[9507]] [[9607]] [[9707]] [[9807]] [[9907]]
<<list-links filter:"
[!is[system]has[modified]tag{!!title}!sort[modified]limit[15]]" type:"ol">>
//k: the overlooked variable driving the pandemic//
zeynep tufekci 2020
[[the atlantic|https://www.theatlantic.com/health/archive/2020/09/k-overlooked-variable-driving-pandemic/616548]]
//aerosol: the 60-year-old scientific screwup that helped covid kill//
megan molteni 2021
[[wired|https://www.wired.com/story/the-teeny-tiny-scientific-screwup-that-helped-covid-kill]]
//sars-cov-2 causes brain inflammation and induces lewy body formation in macaques//
ingrid philippens et al. 2021
[[doi.org/10.1101/2021.02.23.432474|https://doi.org/10.1101/2021.02.23.432474]]
//fungus coinfection//
maryn mckenna 2021
[[scientific american|https://www.scientificamerican.com/article/deadly-fungi-are-the-newest-emerging-microbe-threat-all-over-the-world]]
!! longitudinal data collection
"""
//physiological data from a wearable device identifies sars-cov-2 infection and symptoms and predicts covid-19 diagnosis: observational study//
robert p hirten et al. 2021
[[doi.org/10.2196/26107|https://doi.org/10.2196/26107]]
Parameter; Parameter Mean, ms (95% CI) COVID-19; Negative Parameter Mean, ms (95% CI), COVID-19 Positive; Difference (95% CI); P- value
Amplitude; 5.30 (4.97-5.65); 1.23 (-1.94- 3.11); -4.07 (-7.29- -2.07); 0.006
//pre-symptomatic detection of covid-19 from smartwatch data//
tejaswini mishra et al. 2021
[[doi.org/10.1038/s41551-020-00640-6|https://doi.org/10.1038/s41551-020-00640-6]]
less immediately useful
//characterizing long covid in an international cohort: 7 months of symptoms and their impact//
hannah e. davis et al. 2021
[[doi.org/10.1016/j.eclinm.2021.101019|https://doi.org/10.1016/j.eclinm.2021.101019]]
“absent or negative SARS-CoV-2 diagnostic and antibody tests should not be used as an indicator to rule out Long COVID in patients who otherwise have suggestive symptoms”
//characterisation of in-hospital complications associated with covid-19 using the isaric who clinical characterisation protocol uk: a prospective, multicentre cohort study//
thomas m drake et al. 2021
[[doi.org/10.1016/s0140-6736(21)00799-6|https://doi.org/10.1016/s0140-6736(21)00799-6]]
“This finding contradicts current narratives that COVID-19 is only dangerous in people with existing comorbidities and the elderly”
//first molecular-based detection of sars-cov-2 virus in the field-collected houseflies//
aboozar soltani et al. 2021
[[doi.org/10.1038/s41598-021-93439-7|https://doi.org/10.1038/s41598-021-93439-7]]
(simpson’s paradox) //israeli data: how can efficacy vs. severe disease be strong when 60% of hospitalized are vaccinated?//
jeffrey morris 2021
https://www.covid-datascience.com/post/israeli-data-how-can-efficacy-vs-severe-disease-be-strong-when-60-of-hospitalized-are-vaccinated
[[0011]] [[0111]] [[0211]] [[0311]] [[0411]] [[0511]] [[0611]] [[0711]] [[0811]] [[0911]]
[[1011]] [[1111]] [[1211]] [[1311]] [[1411]] [[1511]] [[1611]] [[1711]] [[1811]] [[1911]]
[[2011]] [[2111]] [[2211]] [[2311]] [[2411]] [[2511]] [[2611]] [[2711]] [[2811]] [[2911]]
[[3011]] [[3111]] [[3211]] [[3311]] [[3411]] [[3511]] [[3611]] [[3711]] [[3811]] [[3911]]
[[4011]] [[4111]] [[4211]] [[4311]] [[4411]] [[4511]] [[4611]] [[4711]] [[4811]] [[4911]]
[[5011]] [[5111]] [[5211]] [[5311]] [[5411]] [[5511]] [[5611]] [[5711]] [[5811]] [[5911]]
[[6011]] [[6111]] [[6211]] [[6311]] [[6411]] [[6511]] [[6611]] [[6711]] [[6811]] [[6911]]
[[7011]] [[7111]] [[7211]] [[7311]] [[7411]] [[7511]] [[7611]] [[7711]] [[7811]] [[7911]]
[[8011]] [[8111]] [[8211]] [[8311]] [[8411]] [[8511]] [[8611]] [[8711]] [[8811]] [[8911]]
[[9011]] [[9111]] [[9211]] [[9311]] [[9411]] [[9511]] [[9611]] [[9711]] [[9811]] [[9911]]
<<list-links filter:"
[!is[system]has[modified]tag{!!title}!sort[modified]limit[15]]" type:"ol">>
"""
[[0012]] [[0112]] [[0212]] [[0312]] [[0412]] [[0512]] [[0612]] [[0712]] [[0812]] [[0912]]
[[1012]] [[1112]] [[1212]] [[1312]] [[1412]] [[1512]] [[1612]] [[1712]] [[1812]] [[1912]]
[[2012]] [[2112]] [[2212]] [[2312]] [[2412]] [[2512]] [[2612]] [[2712]] [[2812]] [[2912]]
[[3012]] [[3112]] [[3212]] [[3312]] [[3412]] [[3512]] [[3612]] [[3712]] [[3812]] [[3912]]
[[4012]] [[4112]] [[4212]] [[4312]] [[4412]] [[4512]] [[4612]] [[4712]] [[4812]] [[4912]]
[[5012]] [[5112]] [[5212]] [[5312]] [[5412]] [[5512]] [[5612]] [[5712]] [[5812]] [[5912]]
[[6012]] [[6112]] [[6212]] [[6312]] [[6412]] [[6512]] [[6612]] [[6712]] [[6812]] [[6912]]
[[7012]] [[7112]] [[7212]] [[7312]] [[7412]] [[7512]] [[7612]] [[7712]] [[7812]] [[7912]]
[[8012]] [[8112]] [[8212]] [[8312]] [[8412]] [[8512]] [[8612]] [[8712]] [[8812]] [[8912]]
[[9012]] [[9112]] [[9212]] [[9312]] [[9412]] [[9512]] [[9612]] [[9712]] [[9812]] [[9912]]
<<list-links filter:"
[!is[system]has[modified]tag{!!title}!sort[modified]limit[15]]" type:"ol">>
archive at [[makiaea.org|http://makiaea.org/00012]]
"""
//under the blue//
oana aristede 2021
https://serpentstail.com/work/under-the-blue/
"""
//observation-based early-warning signals for a collapse of the atlantic meridional overturning circulation//
niklas boers 2021
https://doi.org/10.1038/s41558-021-01097-4
[[0017]] [[0117]] [[0217]] [[0317]] [[0417]] [[0517]] [[0617]] [[0717]] [[0817]] [[0917]]
[[1017]] [[1117]] [[1217]] [[1317]] [[1417]] [[1517]] [[1617]] [[1717]] [[1817]] [[1917]]
[[2017]] [[2117]] [[2217]] [[2317]] [[2417]] [[2517]] [[2617]] [[2717]] [[2817]] [[2917]]
[[3017]] [[3117]] [[3217]] [[3317]] [[3417]] [[3517]] [[3617]] [[3717]] [[3817]] [[3917]]
[[4017]] [[4117]] [[4217]] [[4317]] [[4417]] [[4517]] [[4617]] [[4717]] [[4817]] [[4917]]
[[5017]] [[5117]] [[5217]] [[5317]] [[5417]] [[5517]] [[5617]] [[5717]] [[5817]] [[5917]]
[[6017]] [[6117]] [[6217]] [[6317]] [[6417]] [[6517]] [[6617]] [[6717]] [[6817]] [[6917]]
[[7017]] [[7117]] [[7217]] [[7317]] [[7417]] [[7517]] [[7617]] [[7717]] [[7817]] [[7917]]
[[8017]] [[8117]] [[8217]] [[8317]] [[8417]] [[8517]] [[8617]] [[8717]] [[8817]] [[8917]]
[[9017]] [[9117]] [[9217]] [[9317]] [[9417]] [[9517]] [[9617]] [[9717]] [[9817]] [[9917]]
<<list-links filter:"
[!is[system]has[modified]tag{!!title}!sort[modified]limit[15]]" type:"ol">>
[[pfas structures and uses|https://www.documentcloud.org/documents/7333517-PFAS-Structures-and-Uses]]
[[0021]] [[0121]] [[0221]] [[0321]] [[0421]] [[0521]] [[0621]] [[0721]] [[0821]] [[0921]]
[[1021]] [[1121]] [[1221]] [[1321]] [[1421]] [[1521]] [[1621]] [[1721]] [[1821]] [[1921]]
[[2021]] [[2121]] [[2221]] [[2321]] [[2421]] [[2521]] [[2621]] [[2721]] [[2821]] [[2921]]
[[3021]] [[3121]] [[3221]] [[3321]] [[3421]] [[3521]] [[3621]] [[3721]] [[3821]] [[3921]]
[[4021]] [[4121]] [[4221]] [[4321]] [[4421]] [[4521]] [[4621]] [[4721]] [[4821]] [[4921]]
[[5021]] [[5121]] [[5221]] [[5321]] [[5421]] [[5521]] [[5621]] [[5721]] [[5821]] [[5921]]
[[6021]] [[6121]] [[6221]] [[6321]] [[6421]] [[6521]] [[6621]] [[6721]] [[6821]] [[6921]]
[[7021]] [[7121]] [[7221]] [[7321]] [[7421]] [[7521]] [[7621]] [[7721]] [[7821]] [[7921]]
[[8021]] [[8121]] [[8221]] [[8321]] [[8421]] [[8521]] [[8621]] [[8721]] [[8821]] [[8921]]
[[9021]] [[9121]] [[9221]] [[9321]] [[9421]] [[9521]] [[9621]] [[9721]] [[9821]] [[9921]]
<<list-links filter:"
[!is[system]has[modified]tag{!!title}!sort[modified]limit[15]]" type:"ol">>
!!not yet read
//bitten: the secret history of lyme disease and biological warfare//
kris newby 2019
!!unread
//chronic: the hidden cause of the autoimmune pandemic and how to get better again//
“echo chamber in the medical community that defaults patients who develop chronic illness after an acute infection, to a ‘post-viral’ or ‘post-infectious’ syndrome, without deep exploration into the likelihood of ongoing infection. We fear that long-term Covid patients will be resigned to the same fate.”
[[0031]] [[0131]] [[0231]] [[0331]] [[0431]] [[0531]] [[0631]] [[0731]] [[0831]] [[0931]]
[[1031]] [[1131]] [[1231]] [[1331]] [[1431]] [[1531]] [[1631]] [[1731]] [[1831]] [[1931]]
[[2031]] [[2131]] [[2231]] [[2331]] [[2431]] [[2531]] [[2631]] [[2731]] [[2831]] [[2931]]
[[3031]] [[3131]] [[3231]] [[3331]] [[3431]] [[3531]] [[3631]] [[3731]] [[3831]] [[3931]]
[[4031]] [[4131]] [[4231]] [[4331]] [[4431]] [[4531]] [[4631]] [[4731]] [[4831]] [[4931]]
[[5031]] [[5131]] [[5231]] [[5331]] [[5431]] [[5531]] [[5631]] [[5731]] [[5831]] [[5931]]
[[6031]] [[6131]] [[6231]] [[6331]] [[6431]] [[6531]] [[6631]] [[6731]] [[6831]] [[6931]]
[[7031]] [[7131]] [[7231]] [[7331]] [[7431]] [[7531]] [[7631]] [[7731]] [[7831]] [[7931]]
[[8031]] [[8131]] [[8231]] [[8331]] [[8431]] [[8531]] [[8631]] [[8731]] [[8831]] [[8931]]
[[9031]] [[9131]] [[9231]] [[9331]] [[9431]] [[9531]] [[9631]] [[9731]] [[9831]] [[9931]]
<<list-links filter:"
[!is[system]has[modified]tag{!!title}!sort[modified]limit[15]]" type:"ol">>
//shooting the messenger//
john, l. k et al. 2019
[[dx.doi.org/10.1037/xge0000586|http://dx.doi.org/10.1037/xge0000586]]
Bringing bad news to the king used could have easily gotten you killed — at least, that’s what we’ve learned from movies. But is there any shred of truth to the scene of an ill-tempered ruler who summarily executes the lackey who serves bad news? We often cry “Don’t shoot the messenger” when one of our friends suddenly becomes antagonistic after we share some bad news, and according to a new study, this behavior is rooted in a psychological effect. The study suggests that we tend to view those who share bad news with us as less likable, even though they clearly are innocent.
Psychologists at Harvard University conducted a series of eleven experiments that investigated how people responded to various situations in which they were delivered good and bad news. In one experiment, the participants could win $2 when a research assistant picked an odd or even number from a hat. After picking the number, the researcher handed it to a colleague acting as the “messenger” to read it out loud. Those who were told they hadn’t won later rated the messenger as less likable than those who had won or received good news.
Subsequent experiments found that the “shoot the messenger” effect was specific to individuals delivering bad news. Those who were present at the same time as the announcement were not affected. For instance, in one scenario, participants had to imagine that they were either to receive a positive or negative result for a skin biopsy for cancer. Two nurses would be present: one delivering the news, the second simply there to schedule a follow-up examination. Only the messenger nurse was rated as less likable when the bad news broke.
When bad news was particularly unexpected, the effect was even more pronounced. During one experiment, the participants had to imagine they were waiting at the airport for their flight when suddenly a staff member announced that their flight was delayed by three hours. Half of the participants were told that they could leave on another plane at the scheduled time, while the rest were told they would have to wait. When they had to suffer a delay, the participants rated the staff member very poorly in terms of likeability.
Sometimes, the participants thought that the harbinger of bad news also had a hand to play, even though there was no apparent motive to do so. In one experiment, participants could win 50 cents if they predicted correctly whether the number of words in the main headline of the next edition of the Wall Street Journal was odd or even. Those who were told by a research assistant that they had guessed incorrectly rated the researcher as less likable, but also indicated that they were under the impression that the research assistant had been rooting against them. That’s even though there was no indication that the research assistant had any control over the situation.
“We suggest that people’s tendency to deem bearers of bad news as unlikeable stems in part from their desire to make sense of chance processes. Consistent with this account, receiving bad news activates the desire to sense-make, and in turn, activating this desire enhances the tendency to dislike bearers of bad news,” the authors wrote in their study.
These findings suggest that “shooting the messenger” is genuine psychological effect — and its implications could have dramatic implications for day to day life. For instance, in a medical context when often doctors and hospital staff share bad news with patients, this effect can erode doctor-patient relationships. And when this happens, patients might be reluctant to receive help from the “unlikeable” doctor. So, next time you receive some bad news, remember: don’t shoot the messenger.
//abstract// Eleven experiments provide evidence that people have a tendency to “shoot the messenger,” deeming innocent bearers of bad news unlikeable. In a preregistered lab experiment, participants rated messengers who delivered bad news from a random drawing as relatively unlikeable (Study 1). A second set of studies points to the specificity of the effect: Study 2A shows that it is unique to the (innocent) messenger, and not mere bystanders. Study 2B shows that it is distinct from merely receiving information with which one disagrees. We suggest that people’s tendency to deem bearers of bad news as unlikeable stems in part from their desire to make sense of chance processes. Consistent with this account, receiving bad news activates the desire to sense-make (Study 3A), and in turn, activating this desire enhances the tendency to dislike bearers of bad news (Study 3B). Next, stemming from the idea that unexpected outcomes heighten the desire to sense-make, Study 4 shows that when bad news is unexpected, messenger dislike is pronounced. Finally, consistent with the notion that people fulfill the desire to sense-make by attributing agency to entities adjacent to chance events, messenger dislike is correlated with the erroneous belief that the messenger had malevolent motives (Studies 5A, 5B, and 5C). Studies 6A and 6B go further, manipulating messenger motives independently from news valence to suggest their causal role in our process account: the tendency to dislike bearers of bad news is mitigated when recipients are made aware of the benevolence of the messenger’s motives.
[[0037]] [[0137]] [[0237]] [[0337]] [[0437]] [[0537]] [[0637]] [[0737]] [[0837]] [[0937]]
[[1037]] [[1137]] [[1237]] [[1337]] [[1437]] [[1537]] [[1637]] [[1737]] [[1837]] [[1937]]
[[2037]] [[2137]] [[2237]] [[2337]] [[2437]] [[2537]] [[2637]] [[2737]] [[2837]] [[2937]]
[[3037]] [[3137]] [[3237]] [[3337]] [[3437]] [[3537]] [[3637]] [[3737]] [[3837]] [[3937]]
[[4037]] [[4137]] [[4237]] [[4337]] [[4437]] [[4537]] [[4637]] [[4737]] [[4837]] [[4937]]
[[5037]] [[5137]] [[5237]] [[5337]] [[5437]] [[5537]] [[5637]] [[5737]] [[5837]] [[5937]]
[[6037]] [[6137]] [[6237]] [[6337]] [[6437]] [[6537]] [[6637]] [[6737]] [[6837]] [[6937]]
[[7037]] [[7137]] [[7237]] [[7337]] [[7437]] [[7537]] [[7637]] [[7737]] [[7837]] [[7937]]
[[8037]] [[8137]] [[8237]] [[8337]] [[8437]] [[8537]] [[8637]] [[8737]] [[8837]] [[8937]]
[[9037]] [[9137]] [[9237]] [[9337]] [[9437]] [[9537]] [[9637]] [[9737]] [[9837]] [[9937]]
<<list-links filter:"
[!is[system]has[modified]tag{!!title}!sort[modified]limit[15]]" type:"ol">>
[[6938]] television series for children
[[0045]] [[0145]] [[0245]] [[0345]] [[0445]] [[0545]] [[0645]] [[0745]] [[0845]] [[0945]]
[[1045]] [[1145]] [[1245]] [[1345]] [[1445]] [[1545]] [[1645]] [[1745]] [[1845]] [[1945]]
[[2045]] [[2145]] [[2245]] [[2345]] [[2445]] [[2545]] [[2645]] [[2745]] [[2845]] [[2945]]
[[3045]] [[3145]] [[3245]] [[3345]] [[3445]] [[3545]] [[3645]] [[3745]] [[3845]] [[3945]]
[[4045]] [[4145]] [[4245]] [[4345]] [[4445]] [[4545]] [[4645]] [[4745]] [[4845]] [[4945]]
[[5045]] [[5145]] [[5245]] [[5345]] [[5445]] [[5545]] [[5645]] [[5745]] [[5845]] [[5945]]
[[6045]] [[6145]] [[6245]] [[6345]] [[6445]] [[6545]] [[6645]] [[6745]] [[6845]] [[6945]]
[[7045]] [[7145]] [[7245]] [[7345]] [[7445]] [[7545]] [[7645]] [[7745]] [[7845]] [[7945]]
[[8045]] [[8145]] [[8245]] [[8345]] [[8445]] [[8545]] [[8645]] [[8745]] [[8845]] [[8945]]
[[9045]] [[9145]] [[9245]] [[9345]] [[9445]] [[9545]] [[9645]] [[9745]] [[9845]] [[9945]]
<<list-links filter:"
[!is[system]has[modified]tag{!!title}!sort[modified]limit[15]]" type:"ol">>
[[9645]] how to take smart notes
[[9745]] how to take smart notes with an iphone
[[9845]] karma
[[9945]] not yet read
!! reality, truth
“to desire truth is to desire direct contact with a piece of reality. to desire direct contact with a piece of reality is to love.”
^^simone weil, 1949, //l’enracinement// p247 (translated to english)^^
“Désirer la vérité, c'est désirer un contact direct avec de la réalité. Désirer un contact avec une réalité, c'est l'aimer.”
^^epub p511^^
[[0049]] [[0149]] [[0249]] [[0349]] [[0449]] [[0549]] [[0649]] [[0749]] [[0849]] [[0949]]
[[1049]] [[1149]] [[1249]] [[1349]] [[1449]] [[1549]] [[1649]] [[1749]] [[1849]] [[1949]]
[[2049]] [[2149]] [[2249]] [[2349]] [[2449]] [[2549]] [[2649]] [[2749]] [[2849]] [[2949]]
[[3049]] [[3149]] [[3249]] [[3349]] [[3449]] [[3549]] [[3649]] [[3749]] [[3849]] [[3949]]
[[4049]] [[4149]] [[4249]] [[4349]] [[4449]] [[4549]] [[4649]] [[4749]] [[4849]] [[4949]]
[[5049]] [[5149]] [[5249]] [[5349]] [[5449]] [[5549]] [[5649]] [[5749]] [[5849]] [[5949]]
[[6049]] [[6149]] [[6249]] [[6349]] [[6449]] [[6549]] [[6649]] [[6749]] [[6849]] [[6949]]
[[7049]] [[7149]] [[7249]] [[7349]] [[7449]] [[7549]] [[7649]] [[7749]] [[7849]] [[7949]]
[[8049]] [[8149]] [[8249]] [[8349]] [[8449]] [[8549]] [[8649]] [[8749]] [[8849]] [[8949]]
[[9049]] [[9149]] [[9249]] [[9349]] [[9449]] [[9549]] [[9649]] [[9749]] [[9849]] [[9949]]
<<list-links filter:"
[!is[system]has[modified]tag{!!title}!sort[modified]limit[15]]" type:"ol">>
//what is it like to be a bat?//
thomas nagel 1974
“to deny the reality or logical significance of what we can never describe or understand is the crudest form of cognitive dissonance.”
”there are facts that do not consist in the truth of propositions expressible in a human language. We can be compelled to recognize the existence of such facts without being able to state or comprehend them.”
//people systematically overlook subtractive changes//
gabrielle s. adams et al. 2021
[[doi.org/10.1038/s41586-021-03380-y|https://doi.org/10.1038/s41586-021-03380-y]]
//social mindfulness and prosociality vary across the globe//
niels j. van doesum et al. 2021
[[doi.org/10.1073/pnas.2023846118|https://doi.org/10.1073/pnas.2023846118]]
”greater SoMi is associated with greater concern with protecting the environment“
[[0058]] [[0158]] [[0258]] [[0358]] [[0458]] [[0558]] [[0658]] [[0758]] [[0858]] [[0958]]
[[1058]] [[1158]] [[1258]] [[1358]] [[1458]] [[1558]] [[1658]] [[1758]] [[1858]] [[1958]]
[[2058]] [[2158]] [[2258]] [[2358]] [[2458]] [[2558]] [[2658]] [[2758]] [[2858]] [[2958]]
[[3058]] [[3158]] [[3258]] [[3358]] [[3458]] [[3558]] [[3658]] [[3758]] [[3858]] [[3958]]
[[4058]] [[4158]] [[4258]] [[4358]] [[4458]] [[4558]] [[4658]] [[4758]] [[4858]] [[4958]]
[[5058]] [[5158]] [[5258]] [[5358]] [[5458]] [[5558]] [[5658]] [[5758]] [[5858]] [[5958]]
[[6058]] [[6158]] [[6258]] [[6358]] [[6458]] [[6558]] [[6658]] [[6758]] [[6858]] [[6958]]
[[7058]] [[7158]] [[7258]] [[7358]] [[7458]] [[7558]] [[7658]] [[7758]] [[7858]] [[7958]]
[[8058]] [[8158]] [[8258]] [[8358]] [[8458]] [[8558]] [[8658]] [[8758]] [[8858]] [[8958]]
[[9058]] [[9158]] [[9258]] [[9358]] [[9458]] [[9558]] [[9658]] [[9758]] [[9858]] [[9958]]
<<list-links filter:"
[!is[system]has[modified]tag{!!title}!sort[modified]limit[15]]" type:"ol">>
//direct voluntary control of pupil constriction and dilation: exploratory evidence from pupillometry, optometry, skin conductance, perception, and functional mri//
lisa v.eberhardt et al. 2021
[[doi.org/10.1016/j.ijpsycho.2021.08.001|https://doi.org/10.1016/j.ijpsycho.2021.08.001]]
//the enigmatic brown dwarf wisea j153429.75-104303.3 (a.k.a. "the accident")//
j. davy kirkpatrick et al. 2021
[[doi.org/10.3847/2041-8213/ac0437|https://doi.org/10.3847/2041-8213/ac0437]]
brown dwarf much older than current theory suggests
voluntary pupil construction deemed impossible in current literature
//defective satellite dna clustering into chromocenters underlies hybrid incompatibility in drosophila//
madhav jagannathan, yukiko m yamashita 2021
[[doi.org/10.1093/molbev/msab221|https://doi.org/10.1093/molbev/msab221]]
"satellite DNA divergence" has been well established in previous research, leading to suspicions about its role in speciation. In the case of the chimpanzee genome and the human genome, for example, the protein-coding DNA is almost identical, while the 'junk' DNA is almost entirely different.
In this new study, experimenting on the fruit fly Drosophila melanogaster, the researchers noticed that deleting a gene which produces a protein called Prod – which binds to a specific bit of satellite DNA – caused the flies to die, as their chromosomes scattered outside the cell nucleus. However, that crucial bit of satellite DNA is missing altogether in the flies' nearest relatives, which survive just fine without it.
That suggests these important non-coding sequences of DNA material have evolved differently between species.
[[0060]] [[0160]] [[0260]] [[0360]] [[0460]] [[0560]] [[0660]] [[0760]] [[0860]] [[0960]]
[[1060]] [[1160]] [[1260]] [[1360]] [[1460]] [[1560]] [[1660]] [[1760]] [[1860]] [[1960]]
[[2060]] [[2160]] [[2260]] [[2360]] [[2460]] [[2560]] [[2660]] [[2760]] [[2860]] [[2960]]
[[3060]] [[3160]] [[3260]] [[3360]] [[3460]] [[3560]] [[3660]] [[3760]] [[3860]] [[3960]]
[[4060]] [[4160]] [[4260]] [[4360]] [[4460]] [[4560]] [[4660]] [[4760]] [[4860]] [[4960]]
[[5060]] [[5160]] [[5260]] [[5360]] [[5460]] [[5560]] [[5660]] [[5760]] [[5860]] [[5960]]
[[6060]] [[6160]] [[6260]] [[6360]] [[6460]] [[6560]] [[6660]] [[6760]] [[6860]] [[6960]]
[[7060]] [[7160]] [[7260]] [[7360]] [[7460]] [[7560]] [[7660]] [[7760]] [[7860]] [[7960]]
[[8060]] [[8160]] [[8260]] [[8360]] [[8460]] [[8560]] [[8660]] [[8760]] [[8860]] [[8960]]
[[9060]] [[9160]] [[9260]] [[9360]] [[9460]] [[9560]] [[9660]] [[9760]] [[9860]] [[9960]]
<<list-links filter:"
[!is[system]has[modified]tag{!!title}!sort[modified]limit[15]]" type:"ol">>
https://ebook-hunter.org/Books/Science%20&%20Math/
[[0076]] [[0176]] [[0276]] [[0376]] [[0476]] [[0576]] [[0676]] [[0776]] [[0876]] [[0976]]
[[1076]] [[1176]] [[1276]] [[1376]] [[1476]] [[1576]] [[1676]] [[1776]] [[1876]] [[1976]]
[[2076]] [[2176]] [[2276]] [[2376]] [[2476]] [[2576]] [[2676]] [[2776]] [[2876]] [[2976]]
[[3076]] [[3176]] [[3276]] [[3376]] [[3476]] [[3576]] [[3676]] [[3776]] [[3876]] [[3976]]
[[4076]] [[4176]] [[4276]] [[4376]] [[4476]] [[4576]] [[4676]] [[4776]] [[4876]] [[4976]]
[[5076]] [[5176]] [[5276]] [[5376]] [[5476]] [[5576]] [[5676]] [[5776]] [[5876]] [[5976]]
[[6076]] [[6176]] [[6276]] [[6376]] [[6476]] [[6576]] [[6676]] [[6776]] [[6876]] [[6976]]
[[7076]] [[7176]] [[7276]] [[7376]] [[7476]] [[7576]] [[7676]] [[7776]] [[7876]] [[7976]]
[[8076]] [[8176]] [[8276]] [[8376]] [[8476]] [[8576]] [[8676]] [[8776]] [[8876]] [[8976]]
[[9076]] [[9176]] [[9276]] [[9376]] [[9476]] [[9576]] [[9676]] [[9776]] [[9876]] [[9976]]
<<list-links filter:"
[!is[system]has[modified]tag{!!title}!sort[modified]limit[15]]" type:"ol">>
menu10 add additonal butter after 55min
```
yeast 1.5tsp
bread flour 400g
sugar 4tbsp
salt 1tsp
milk skimmed 2tbsp
butter diced 50g
water 180ml
egg beaten 2
additional butter diced 70g
```
breadmaker manual [ext[private/maki/20200711panasonic breadmaker.pdf]]
[[0090]] [[0190]] [[0290]] [[0390]] [[0490]] [[0590]] [[0690]] [[0790]] [[0890]] [[0990]]
[[1090]] [[1190]] [[1290]] [[1390]] [[1490]] [[1590]] [[1690]] [[1790]] [[1890]] [[1990]]
[[2090]] [[2190]] [[2290]] [[2390]] [[2490]] [[2590]] [[2690]] [[2790]] [[2890]] [[2990]]
[[3090]] [[3190]] [[3290]] [[3390]] [[3490]] [[3590]] [[3690]] [[3790]] [[3890]] [[3990]]
[[4090]] [[4190]] [[4290]] [[4390]] [[4490]] [[4590]] [[4690]] [[4790]] [[4890]] [[4990]]
[[5090]] [[5190]] [[5290]] [[5390]] [[5490]] [[5590]] [[5690]] [[5790]] [[5890]] [[5990]]
[[6090]] [[6190]] [[6290]] [[6390]] [[6490]] [[6590]] [[6690]] [[6790]] [[6890]] [[6990]]
[[7090]] [[7190]] [[7290]] [[7390]] [[7490]] [[7590]] [[7690]] [[7790]] [[7890]] [[7990]]
[[8090]] [[8190]] [[8290]] [[8390]] [[8490]] [[8590]] [[8690]] [[8790]] [[8890]] [[8990]]
[[9090]] [[9190]] [[9290]] [[9390]] [[9490]] [[9590]] [[9690]] [[9790]] [[9890]] [[9990]]
<<list-links filter:"
[!is[system]has[modified]tag{!!title}!sort[modified]limit[15]]" type:"ol">>
[[velodrome|https://www.brighton-hove.gov.uk/content/leisure-and-libraries/parks-and-green-spaces/cycling-preston-park-velodrome]]
[[0098]] [[0198]] [[0298]] [[0398]] [[0498]] [[0598]] [[0698]] [[0798]] [[0898]] [[0998]]
[[1098]] [[1198]] [[1298]] [[1398]] [[1498]] [[1598]] [[1698]] [[1798]] [[1898]] [[1998]]
[[2098]] [[2198]] [[2298]] [[2398]] [[2498]] [[2598]] [[2698]] [[2798]] [[2898]] [[2998]]
[[3098]] [[3198]] [[3298]] [[3398]] [[3498]] [[3598]] [[3698]] [[3798]] [[3898]] [[3998]]
[[4098]] [[4198]] [[4298]] [[4398]] [[4498]] [[4598]] [[4698]] [[4798]] [[4898]] [[4998]]
[[5098]] [[5198]] [[5298]] [[5398]] [[5498]] [[5598]] [[5698]] [[5798]] [[5898]] [[5998]]
[[6098]] [[6198]] [[6298]] [[6398]] [[6498]] [[6598]] [[6698]] [[6798]] [[6898]] [[6998]]
[[7098]] [[7198]] [[7298]] [[7398]] [[7498]] [[7598]] [[7698]] [[7798]] [[7898]] [[7998]]
[[8098]] [[8198]] [[8298]] [[8398]] [[8498]] [[8598]] [[8698]] [[8798]] [[8898]] [[8998]]
[[9098]] [[9198]] [[9298]] [[9398]] [[9498]] [[9598]] [[9698]] [[9798]] [[9898]] [[9998]]
<<list-links filter:"
[!is[system]has[modified]tag{!!title}!sort[modified]limit[15]]" type:"ol">>
!! what is a system
a system is what we call an adequate description of one part of reality. from the description in the new system we are learning, and the current systems we know, we may be lucky enough to grow a system that can better match reality than what we already are using.
!!winning reality
when we start to realise what an abject failure human society has become, we light a fire in our hearts to make a better one
even the language we use to relate to reality and each other is corrupted
observe when people claim to be unbiased or free of prejudice — most likely they are not, because there are almost no people that are truly unbiased (well, that's not to say they don't exist…)
this kind of self–delusion might seem helpful to everyday living, but means that any steps toward reality are mostly random
find and repair the weak link
i can deal (relatively) well with (relatively) extreme conditions, but this does not mean i want to face extreme conditions nor that i should
makiaea 20140829 <iframe height="10px" width="40px" src="music/20140829nevertheend - 20210725makiaea.m4a" frameborder="0"></iframe>
"""
この街の片隅で
konoMACHInoKATA–SUMIde
to all who sleep in the nooks
眠ってる すべて
NEMUtteru subete
and corners of the town
ごらん、陽はまた昇る……
goran, HIwamataNOBOru……
look, the sun rises once more…
淋しくて 閉してた
SABIshikute TOzashiteta
the morning murmured these
寒がりの胸に
SAMUgarinoMUNEni
words to a cold heart
朝がつぶやいた
ASAgatsubuyaita
lonely and closed–off
ドアをあけて 息をすって
doawoakete IKIwosutte
i opened the door, took a deep breath
空の青さ 見つけたよ
SORAnoAOsa MItsuketaya
and remembered how blue the sky is
終らない 「brand–new days」
OWAranai brand–new days
these brand–new days will not end
幾千の光りが
IKU–SENnoHIKARIga
for a thousand rays
色あせた夢のシャツを染めるから
IRAasetaYUMEnoshaatsuwoSOmerukara
colour the fabric of my faded dreams
☆忘れない 「melody」
WASUrenai melody
an unforgettable melody
くちずさむ 心で
kuchizusamu KOKOROde
my heart will sing
今よりも もっと君がわかるまで
IMAyorimo mottoKIMIgawakarumade
until i understand you more than i do now
「no, never the end」
今日を待つ 交差点
KYOUwoMAtsu KOU–SA–TEN
today, waiting alone
そう ひとり ひとり
sou hitori hitori
together at a crossroads
おなじ朝を知ってる
onajiASAwoSHItteru
each of us knows the same morning
急ぎ足 おそれてた
ISOgiASHI osoreteta
our hurrying feet, too
すれ違う人の
sureCHIGAuHITOno
were afraid of the gentleness
どんな やさしさも
donna yasashisama
of those passing by
腕をのばし 風にさわる
UDEwonobashi KAZEnisawaru
i reach out, touch the wind
とまどうほど 眩しいよ
tomadouhodo MABUshiiya
and a brilliance so bright
もう一度 「lonely days」
mouICHI–DO lonely days
lonely days come again
新しい笑顔で
ATARAshiiE–GAOde
but a new smile
限界(とき)が引く白いライン 溶かしたい
TOKIgaHIkuSHIROirain TOkashitai
melts the white lines time draws round us
歩きだす 「find the way」
ARUkidasu find the way
i start to walk, to find the way
ときめきがあるだけ
tokimekigaarudake
with the feeling that only comes
with meeting someone beautiful
果てしない愛を君にかえすまで
HAteshinaiAIwoKIMInikaesumade
until neverending love i return to you
「no, never the end」
☆repeat
「no, never the end」
"""
"""
この街の片隅で
眠ってる すべて
ごらん、陽はまた昇る……
淋しくて 閉してた
寒がりの胸に
朝がつぶやいた
ドアをあけて 息をすって
空の青さ 見つけたよ
終らない 「brand–new days」
幾千の光りが
色あせた夢のシャツを染めるから
☆忘れない 「melody」
くちずさむ 心で
今よりも もっと君がわかるまで
「no, never the end」
今日を待つ 交差点
そう ひとり ひとり
おなじ朝を知ってる
急ぎ足 おそれてた
すれ違う人の
どんな やさしさも
腕をのばし 風にさわる
とまどうほど 眩しいよ
もう一度「lonely days」
新しい笑顔で
限界(とき)が引く白いライン 溶かしたい
歩きだす 「find the way」
ときめきがあるだけ
果てしない愛を君にかえすまで
「no, never the end」
☆繰り返す
「no, never the end」
"""
!!puff the magic dragon
"""
rewritten maki 20100403
a
makiaea <iframe height="10px" width="40px" src="music/.m4a" frameborder="0"></iframe> [[piano and vocal|https://soundcloud.com/makiaea/20110429puffvocalandpiano3]] <iframe height="10px" width="40px" src="music/.m4a" frameborder="0"></iframe> [[vocal solo|https://soundcloud.com/makiaea/puff-the-magic-dragon]]
☆(oh) puff / the magic dragon
lived by the sea
and frolicked in the autumn mist
in a land called honalee (repeat x1)
little jackie paper / loved that rascal puff
and brought him strings and sealing wax and other fancy stuff
☆chorus
together they would travel / on a boat with billowed sail
jackie kept a lookout / perched on puff’s gigantic tail
noble kings and princes / would bow whene’er they came
pirate ships would lower their flags when puff roared out his name
☆chorus
a dragon lives forever / but not so girls and boys
painted wings and giant rings / make way for other toys
one grey night it happened / jackie paper came no more
and puff that mighty dragon / he ceased his fearless roar
his head hung bent in sorrow / green scales fell like rain
puff no longer went to play / along the cherry lane
without his life–long friend / puff could not be brave
so puff that mighty dragon / sadly slipped into his cave
☆chorus (once froliced by the sea)
so of years many did pass / in a land called honalee
one day came an adventurer / to a cave down by a sea
this little one reached up / calling out, “you must be puff
i seek a fearsome dragon friend / are you brave enough? (tough enough)
there be seas (that) need a’sailing / (new) lands yet to explore
we may not have forever / but i’ll love you all the same
my name is mary paper / would you like to come and play?”
that day puff roared a mighty roar / that chased his fears away
★(yes) puff / the magic dragon
lives by the sea (present tense now!)
and frolics in the autumn mist
in a land called honalee (repeat x1)
"""
!!to meet perchance 仰げば尊し AOgebaTOUTOshi song for the close of school
20140624 makiaea <iframe height="10px" width="40px" src="music/20140624perchance - 20210729makiaea.m4a" frameborder="0"></iframe>
"""
we part today/to meet perchance/till god shall call us home
and from this room/we wander forth/alone, alone to roam
and friends we’ve known/in childhood’s days/may live but in the past
but in the realms/of light and love/may we all meet at last
私たちは今日別れ、まためぐり逢う、きっと、神が私たちをその御下へ招く時に
そしてこの部屋から私たちは歩み出て、自らの足で一人さまよう
幼年期から今日までを共にした友は、生き続けるだろう、過去の中で
しかし、光と愛の御国で、最後には皆と再会できるだろう
farewell old room/within thy walls/no more with joy we’ll meet
nor voices join/in morning song/nor ev’ning hymn repeat
but when in future/years we dream/of scenes of love and truth
our fondest thoughts/will be of thee/the school–room of our youth
さよなら古き部屋よ、汝の壁の内で、楽しく集うことはもう無い
朝に声を揃えて歌うことも、午後の賛美歌も、もう繰り返すことはない
だが、幾年も後の未来に、私たちは愛と真実の場を夢見る
私たちの最も大切な思い出は、汝、幼き日々の教室となるのだろう
farewell to thee/we loved so well/farewell our schoolmates dear
the tie is rent/that linked our souls/in happy union here
our hands are clasped/our hearts are full/and tears bedew each eye
ah, ’tis a time/for fond regrets/when school–mates say goodbye
さよなら私たちがかく愛した汝よ、さよなら親愛なる級友たちよ
私たちの魂を、幸せなひとつの繋がりとしてきた絆は解かれた
私たちの手は固く握られ、心は満ち、そして目には涙をたたえ
ああ、これぞ惜別の時、級友たちの言葉は「さよなら」
"""
en [[wikipedia|https://en.m.wikipedia.org/wiki/Aogeba_T%C5%8Dtoshi]]
ja [[wikipedia|https://ja.wikipedia.org/w/index.php?title=仰げば尊し]]
[img[photo/20210729perchance.jpg]] [[cc|https://commons.m.wikimedia.org/wiki/File:%22Song_for_the_close_of_school%22_in_%22Song_Echo%22.JPG#mw-jump-to-license]]
"""
some say love, it is a river
that drowns a tender reed
some say love, it is a razor
that leaves your soul to bleed
some say love, it is a hunger
an endless, aching need
i say love, it is a flower
and you its only seed
when a heart afraid of breaking
stumbles in the dance
or a dream afraid of waking
passes on a chance
and someone who won’t be taken
does the same when called to give
there’s a soul afraid of dying
but yet, it yearns to live
through this night, that’s been so lonely
on a road that seemed too long
don’t accept that love is only
for the lucky and the strong
for remember, in darkest winter
far beneath a sheltering snow
a seed lives on
that with the sun’s love
in warm spring
becomes a rose
"""
i might appear to be free from a lot of the illusions common in our society, but actually i just have a different set of illusions that i haven’t yet dealt with
maybe part of enlightenment is to realise there is no such thing as enlightenment, that once we have dealt with the illusions we can understand, there are still those that we may not, and may never understand, and that is okay, as others will
our lives may end at any moment, but until then, we can live as well as we know how
//egalité// “communication only takes place between equals” due to power dynamics (saying what superior wants to hear), and bias (devalued dehumanised victim); the way to the future may be equality, to communicate, to love, to learn and grow a new culture
https://ncase.me/trust/ shows repeat prisoner’s dilemma
xr theatre https://peertube.co.uk/videos/watch/5804f1bc-78f4-4c65-b90b-1a368eff181f
“we can make the choice to be friendly, to smile, to talk, to //listen//. not because we’re soft, and not because we lack conviction, but because cooperating with one another is in our best interests” (quote from joe keohane)
as current events show remarkably clearly, whether we can do something productive is mostly down to //luck//. you might wonder why i might say this, given that most people believe in //merit and effort//. yet the two positions are not so different as they seem — we hone our tools in preparation for what life brings: //our fate is what we make//.
i approach life in a //diverse and cooperative// way; a brief example might show what i mean in theory and practice:
the //agile// approach (to management) is lately in vogue.
one seeming paradox of agile is the way it recommends an //mvp//, a //minimum viable product//. what this means is actually the //maximum output that can be sustained in a viable manner//, which paradoxically is a //minimum//, yet repeated and effective, rather than large yet singular and ineffective.
things that seem initially nonsensical may actually match and guide our beliefs and values. then, it is much easier to adapt to changing circumstances, that is to say, to adapt to living.
we will all need to keep having difficult conversations about changing values, because there is no end to what we need to learn.
!!support
please do encourage me on [[patreon|https://www.patreon.com/makiaea]] and tell your best friends too! love, maki
a working system: an iphone–first zettelkasten and SRS created with open–source tiddlywiki, with some features of obsidian and anki
song examples [[to meet perchance|1070]], [[i know i need to be in love]], for more please see the //sing// deck
published books archive [[http://makiaea.org/00075]]
latest video (silent 19s) split–screen iphone input between tiddlywiki and anki <iframe width="277px" height="600px" src="video/20210809 split screen iphone input.mp4" frameborder="0" type="video/mp4" controls></iframe>
full data archive [[http://makiaea.org/00100]]
archive [[readme]] (30s video), [[changelog]] on how this was made
!!massaging insect bites
not always the best thing to do, but can relieve itching
press down on the inflamed bite, optionally also message in the direction of the heart (general rule substituting for detailed knowledge of lymph system, works well enough for most situations)
pressing down probably stimulates the receptors in the skin so that itching is somewhat suppressed by other signals. the massage spreads the injected irritants away from the bite location. this helps reduce local inflammation and itching but might not be the best thing for infection control and monitoring. for example, if taught to very young children, this would stop them scratching itches but also make it harder for carers to know when a child has been bitten. this might be especially important, for example, for a lyme–disease infected tick bite; massaging may suppress the “target” mark that sometimes (but not always) forms after tick bites. for example, most people assume you will always be able to see ticks that have bitten your skin, this is not true as even juvenile ticks can bite and transmit disease, and they can be smaller than old eyes can see https://www.healthline.com/health/poppyseed-size-ticks-spread-lyme-disease
!!風になる
風になる
kazeninaru
つじあやの
"""
忘れていた目を閉じて
取り戻せ恋のうた
青空に隠れている
手を伸ばしてもう一度
忘れないですぐそばに
僕がいるいつの日も
星空を眺めている 一人きりの夜明けも
たった一つの心 悲しみに暮れないで
君のためいきなんて 春風に変えてやる
陽の当たる坂道を
自転車で駆けのぼる
君と失くした想い出乗せて行くよ
ラララララ 口ずさむ
くちびるを染めて行く
君と見つけたしあわせ花のように
忘れていた窓開けて
走り出せ恋のうた
青空に託している
手をかざしてもう一度
忘れないよすぐそばに
君がいるいつの日も
星空に輝いてる 涙揺れる明日も
たった一つの言葉 この胸に抱きしめて
君のため僕は今 春風に吹かれてる
☆陽の当たる坂道を
自転車で駆けのぼる
君と誓った約束乗せて行くよ
ラララララ 口ずさむ
くちびるを染めて行く
君と出会えたしあわせ祈るように
☆繰り返す
"""
english 20051218 rewritten makiaea
"""
忘れていた目を閉じて 取り戻せ恋のうた
WASUreteitaMEwoTOjite TOriMODOseKOInouta
now we remember, closing our eyes, to sing back a love song
青空に隠れている 手を伸ばしてもう一度
AOZORAniKAKUreteiru TEwoNObashitemouICHIDO
hiding in a blue sky we reach out once again
忘れないですぐそばに 僕がいるいつの日も
WASUrenaidesugusobani BOKUgairuitsunoHImo
remember just by your side will i be, whatever day shall come
星空を眺めている 一人きりの夜明けも
HOSHIZORAwoNAGAmeteiru HITORIkirinoYOAkemo
staring up at a star–filled sky, even on a lonely dawn
たった一つの心 悲しみに暮れないで
tattaHITOTSUnoKOKORO kanashiminiKUrenaide
just one heart on its own, will not be lost in sorrow
君のためいきなんて 春風に変えてやる
KIMInotameikinante HARU–KAZEniKAeteyaru
for your sighs will become like the wind that spring brings
陽の当たる坂道を 自転車で駆けのぼる
HInoAtaruSAKA–MICHIwo JITENSHAdeKAkenoboru
on a sunny path on a cycle we pedal ourselves, we climb
君と失くした想い出乗せて行くよ
KIMItoNAkushitaOMOiDE–NOseteYUkuyo
and bring with us our once–lost memories
ラララララ 口ずさむ くちびるを染めて行く
lalalalala KUCHIzusamu kuchibiruwoSOmeteYUku
lalalalala we sing out and it dyes our lips
君と見つけたしあわせ花のように
KIMItoMItsuketashiawaseHANAnoyouni
this happiness we’ve found together blooms like flowers do
忘れていた窓開けて 走り出せ恋のうた
WASUreteitaMADO–Akete HASHIriDAseKOInouta
now we remember, that window to open; this is how it begins, that love song
青空に託している 手をかざしてもう一度
AOZORAniTAKUshiteiru TEwokazashitemouICHIDO
we entrust it to a blue sky holding our hands to the wind once more
忘れないよすぐそばに 君がいるいつの日も
WASUrenaiyosugusobani KIMIgairuitsunoHImo
i will remember that just by my side will you be, whatever day comes
星空に輝いてる 涙揺れる明日も
HOSHIZORAniKAGAYAiteru NAMIDA–YUreruASHITAmo
shining in a star–filled sky, trembling tears may yet fall tomorrow
たった一つの言葉 この胸に抱きしめて
tattaHITOTSUnoKOTOBA konoMUNEniDAkishimete
yet even one word this heart holds dear
君のため僕は今 春風に吹かれてる
KIMInotameBOKUwaIMA haru–kazeniFUkareteru
with you, i fly in the wind that spring brings
☆陽の当たる坂道を 自転車で駆けのぼる
HInoAtaruSAKAMICHIwo JITENSHAdeKAkenoboru
on a sunlit path on a cycle we pedal ourselves, we climb
君と誓った約束乗せて行くよ
KIMItoCHIKAttaYAKUSOKU–NOseteYUkuyo
and bring with us our sworn promise
ラララララ 口ずさむ くちびるを染めて行く
lalalalala KUCHIzusamu kuchibiruwoSOmeteYUku
lalalalala we sing out and it dyes our lips
君と出会えたしあわせ祈るように
KIMItoDE–AetashiawaseINOruyouni
this happiness when we are together is what we hope for
☆repeat
"""
!!the danger of data in systems
words are like spells, they bind us to their reality. in semi–randomly accumulating certain words and ideas before or instead of others, we determine and ascertain our future, despite not knowing we are so doing.
just because people who behave abusively exist, this does not make the world an evil place
[[sadopopulism|https://www.nbcnews.com/think/amp/ncna1260549]] hurting your ingroup while witchhunting the outgroup
!!ios native changelog
<<.link-badge-add >> 20210219 yomu (uk)
<<.link-badge-add >> 20210219 datajar (uk)
<<.link-badge-add >> 20210219 (us) working copy, textastic, 1writer, kodex, lumafusion, screens
<<.link-badge-modify >> 20210213 set settings|accessibility|touch|back tap to often used shortcuts e.g. date, reprocess
<<.link-badge-modify >> 20210212 turn off shake to undo
<<.link-badge-modify >> 20210212 pythonista keyboard setup; firstline, rest of tiddler, reprocess, date
<<.link-badge-add >> 20210212 pythonista
<<.link-badge-add >> 20210212 quine2
jailbroken ios with milkyway2 installed has a save bug that i ran afoul of. if memory is low (you can simulate this by force quitting an app), saving took around double the time it does compared to when milkyway2 and dependencies are disabled via [[icleaner]] pro (regardless of the app reporting that saving had completed). normally you wouldn't notice this, but if you happen to have my circumstances when jailbroken, for a safe save it required around fifteen seconds after tapping save. this meant that if for whatever reason the app was quit (e.g. by swapping to another app when lots of apps are open, due to low memory the app is quit rather than preserved) in a time less than the safe save time, data would be lost because manual and auto save does not complete.
i had a similar issue with ithoughts, which has a high memory requirement — perfect when not jailbroken, but slower to save when jailbroken and milkyway2 enabled, with data loss as a result.
this is true of any saving, we often don't notice because [[we don’t know we need to look|indiscernible]] — we need to test our assumptions are still near–true
!!ios 14.3 jailbreak iphone x, ipad 8
install [[altstore|http://altstore.io]] on mac or pc; on mac, install and enable mail plugin
used installed altstore to install altstore to ios device attached via usb. need to use an apple id and password (doesn't have to be your normal one, just any working account)
on ios device, open altstore app to make sure it is working, then in ios device browser go to http://unc0ver.dev and use the option to open in alstore. need to use same apple id and password as you entered earlier
open the unc0ver app and jailbreak
install reprovision for on-device resigning (forgotten how this is done)
!!ios 14 jailbreak A10 device (ipad pro 2017)
[[ios 14 compatible tweaks|https://docs.google.com/spreadsheets/d/1-WZg1SiuTb528eTuPKBYhKVpW5LWFIqDXAH3ni8ST9w/htmlview]]
20210723 <<.link-badge-add >> noclutter to remove statusbar and homebar, clean up lockscreen https://repo.twickd.com
20210723 <<.link-badge-add >> silentrecorder can hide the recording pill in the status bar, but the stop recording button in settings crashes the system
20210804 <<.link-badge-add >> dynamictimer automatically stops playing music at end of timer instead of sounding timer end, if music is playing; sounds timer end otherwise (may need ldrestart to work first time, test using 3s timer)
tss saver app if already jailbroken https://repo.1conan.com/
otherwise try https://reddit.com/r/jailbreak/comments/ns8j49/tutorial_updated_guide_to_save_blobs_for_all/
blobchecker https://tsssaver.1conan.com/v2/
!! network testing devices only
<<.link-badge-add >> newterm, mterminal (for use with external keyboard)
<<.link-badge-add >> [[inetutils|https://arx8x.net/cydia/?source=http://apt.saurik.com/dists/ios/main/binary-iphoneos-arm]] for ping
<<.link-badge-add >> 20210304 wifiscanner https://twitter.com/m156nrkvv http://m156nrkvv.g2.xrea.com/repository.html
http://m156nrkvv.g2.xrea.com/repo/
20210712 <<.link-badge-add >> uyou works with youtube app for downloading, background and ad–free play https://miro92.com/repo
20210723 <<.link-badge-add >> alarmvolume for full volume alarms and timers while on silent (useful for people who use alarms and timers rarely, who forget to turn up the volume, or keep the phone on silent) note that you'll need to remember not to set alarms and timers for during meetings etc.
20210605 <<.link-badge-add >> [[spotbetter|https://github.com/p2kdev/SpotBetter]] spotlight search clear on dismiss
<<.link-badge-add >> (iphone) autounlockx https://sparkdev.me removes need to swipe to unlock when valid faceid present
<<.link-badge-add >> touchflow show touches on screen, useful for showing touches during screen recordings. i set it to only show when recording https://creaturecoding.com/repo/
<<.link-badge-add >> bettermultitasking (ipad) https://itsjafer.com/repo
<<.link-badge-add >> texttime (docs: https://github.com/UsrLightmann/TextTime )
<<.link-badge-add >> home screen quick actions https://github.com/tomaszpoliszuk/HomeScreenQuickActions removes less used functions
<<.link-badge-add >> menusupport uses images in place of words in text selected hover menu
<<.link-badge-add >> puck shutdown before battery runs out to preserve jailbreak https://repo.litten.love
<<.link-badge-add >> 20210302 filza
/var/mobile/Library/Mobile Documents/com~apple~CloudDocs
<<.link-badge-add >> 20210302 peep https://burrito.software/conor/ to hide statusbar
<<.link-badge-add >> 20210302 safari plus for fullscreen and usability
<<.link-badge-modify >> 20210212 activator right screen edge slide down: open quine2; (two finger spice in from screen left: sleep button; right edge slide up: previous app; left edge slide down: open app shortcut to yomu; left edge slide up: open spotlight search (useful for accessing less used apps)
<<.link-badge-add >> 20210301 activator (when in beta: https://rpetri.ch/repo/ )
<<.link-badge-add >> 20210301 copylog from [[packix repo|https://repo.packix.com]] (paid) settings, copylog, advanced, disable banners, open to favourites
!! wipe but keep current ios
<<.link-badge-add >> 20210212 succession; erased all apps and data
<<.link-badge-add >> keyboard accio (when using more than two keyboards)
[[network disabler|https://reddit.com/r/jailbreak/comments/mcpbj1/update_networkdisabler_control_your_network_when/]]
[[ios14 tweaks|https://reddit.com/r/jailbreak/comments/mf5r5u/tip_discussion_essential_and_useful_tweaks/]]
<<.link-badge-add >> 20210301 shortmoji 2 (not fully working) for select all, copy and paste, (eventually also for activator actions) in the keyboard bar repo https://miro92.com/repo/ (paid) also homebar “hide” by changing colour to dark; [[shortmoji2|https://reddit.com/r/jailbreak/comments/m0eqh8/free_release_shortmoji_2_1_keyboard_tweak_for/]] now available but not using yet until can confirm ipad transfer still possible
Shortmoji doesn't support iPads but if you want to use it just open you iPhone and go to /var/mobile/Library/Preferences
and copy these two files to your iPad: com.miro.shortmoji.plist com.miro.shortmoji.shortcuts.plist
do this after you set up the predictive bar shortcuts, as the settings do not work correctly on the ipad
generally i copy them to /var/mobile/Library/Mobile Documents/com~apple~CloudDocs and then open the files app to sync them on both ends, and then open filza to move them to /var/mobile/Library/Preferences note you'll need to repeat this process if you ever open the shortmoji settings on the ipad
https://reddit.com/r/jailbreak/comments/i2x9c9/update_shortmoji_v35_repo_miro92comrepo_changelog/
also great for viewing sfsymbols icons
!!tweaks to improve working
20210729 <<.link-badge-add >> autolocktoggle to toggle screen autolock to/from never autolock; handy for recipes in the kitchen etc
20210723 <<.link-badge-add >> nocoloreddots can hide the new dots from ios 14 but this means you won’t see when you are being recorded
<<.link-badge-add >> spotbetter
(testing) ipaddock14 to get ipad dock on iphone
(testing, paid) floatingdockplus13/14 gives vertical splitview
final square of the chessboard would require more than 9 x 10^18 grains of rice, total 1.8 x 10^19, (2^64)-1
approximately 210 billion tonnes and would be enough rice to cover the entire country of India with a metre high layer of rice
https://owlcation.com/stem/Rice-on-a-Chessboard-Exponential-numbers
the long way to a small, angry planet becky chambers 2014
a closed and common orbit becky chambers
record of a spaceborn few becky chambers 2018 not yet read
to be taught, if fortunate becky chambers 2019 not yet read
the galaxy, and the ground within becky chambers 2021 not yet read
"""
//a world without email: reimagining work in the age of overload//
cal newport 2021
“A man who worked himself to tatters on minor details had no ability to handle the more vital issues of war,” george marshall
technological determinism alters behavior in ways neither intended nor predicted; stirrups to feudalism, printing press. “Gutenberg … thought he was setting information free, but in reality, he was changing fundamentally what information we treated as important.” email to hyper hive mind.
relies on theories such ticketing systems, tragedy of the commons (which assumes no community); believes that individuals unlikely to create good workflows, advocates centralised imposition of workflows — his audience and pay comes from managers.
the idea of the hyper hive mind is interesting, but i wonder if there is a better approach?
misses the issue of control of information; people understand, even if they know why they feel this way, that email is more accountable than a workflow, because individual people can keep their own copies of correspondence
"""
US roughly 360,000 more deaths than the five-year average between 26 January and 3 October 2020, compared to 209,000 confirmed COVID-19 deaths during that period.
Because the US has an increasing trend in mortality over recent years, comparing to the five-year average makes 360,000 excess deaths an overestimate, though it is in the ballpark. For instance, the US CDC estimates roughly 300,000 excess deaths during that time.
https://ourworldindata.org/excess-mortality-covid
//super position//
david graeber 2012
https://thenewinquiry.com/super-position
!!archive
<<.link-badge-add >> 20210211 chooseboard (paid) to select default keyboard (not available for new purchase currently on cydia)
<<.link-badge-add >> 20210210 [[marker|https://reddit.com/r/jailbreak/comments/lfhvm4/free_release_marker_trackpad_swipeselectiion]] swipe from edge to move cursor or select text while using slide to type; useful for some situations where the stock keyboard selection procedure is more fiddly e.g. quick selection. limited to horizontal movement
<<.link-badge-add >> 20210210 [[ZJXTouchSimulation|https://github.com/xuan32546/IOS13-SimulateTouch]] set action in activator to run apple shortcut, shortcut calls zxtouch app action to insert text, choose to NOT show when run
!!zxtouch with activator
might be useful for often–changed scripts like my old random books script, since it might be easier to maintain than scripts stored in the filesystem
use the shortcut app with zxtouch to call activator actions from shortcuts (otherwise not possible on ios13 as the url scheme is broken); use an accurate wait action first (otherwise bug on use), then use the zxtouch run shell command with e.g. activator send libactivator.system.sleepbutton (note activator needs to be lowercase)
<<.link-badge-add >> 20210209 systeminfo saved blobs for 14.3RC and 14.4 in 0004, nonce 0x5c9b4a7d63b24351
save blobs: Install a tweak called system info. Then go to settings->general->about and slide to the left on “ECID” save to icloud, not filza. also save screenshot from shsh.host for generator number (boot nonce) or record it directly from settings->general->about
"""
//the brain ‘rotates’ memories to save them from new sensations//
jordana cepelewicz 2021
[[www.quantamagazine.org|https://www.quantamagazine.org/the-brain-rotates-memories-to-save-them-from-new-sensations-20210415/]]
"""
//four lost cities: a secret history of the urban age//
annalee newitz 2021
“I’m interested in the part of the rock that is now gone,” he told me. “The shape that’s worn away—that’s what people did.”
!!television series for children
"""
スマイルプリキュア! 2012 (glitter force) 2015
the clangers
octonauts
hey duggee
boj
sarah and duck
ben and holly’s little kingdom
let’s play
the magic schoolbus 1994–1997
the magic schoolbus rides again 2017–
how does it work?
hidden kingdoms (bbc natural history)
blue planet 2
"""
!!untried
[[activator to toggle tweaks|https://reddit.com/r/jailbreak/comments/lfp582/tutorial_how_to_use_activator_to_enable_or]]
[[apps manager|https://reddit.com/r/jailbreak/comments/le4iln/discussion_how_can_i_restart_time_trial_of_one_app]] (paid) backup or wipe app data
[[copypasta|https://reddit.com/r/jailbreak/comments/l9j8kn/free_release_copypasta_minimalist_clipboard/]] clipboard manager
[[leave me off|https://reddit.com/r/jailbreak/comments/ldzj0h/question_completely_disable_screen_and_touch_from]] keep screen off while allowing notifications
[[sendtodesktop|https://reddit.com/r/jailbreak/comments/lfljfz/free_release_sendtodesktop_never_email_yourself_a]] via share menu using ssh
sneakycam take picture or start video using buttons without changing to camera
[ext[private/inventory/20210410-7B2V56B91F8.HEIC]]
[ext[private/inventory/20210410-7MMV6C17838.HEIC]]
''too good to be true… pseudoscience with lots of “probabilities”''
!!! 9345 //decoding european palaeolithic art: extremely ancient knowledge of precession of the equinoxes//
martin b. sweatman, alistair coombs 2018
[[arxiv.org/abs/1806.00046|https://arxiv.org/abs/1806.00046]]
//abstract// A consistent interpretation is provided for Neolithic Gobekli Tepe and Catalhoyuk as well as European Palaeolithic cave art. It appears they all display the same method for recording dates based on precession of the equinoxes, with animal symbols representing an ancient zodiac. The same constellations are used today in the West, although some of the zodiacal symbols are different. In particular, the Shaft Scene at Lascaux is found to have a similar meaning to the Vulture Stone at Gobekli Tepe. Both can be viewed as memorials of catastrophic encounters with the Taurid meteor stream, consistent with Clube and Napier’s theory of coherent catastrophism. The date of the likely comet strike recorded at Lascaux is 15,150 BC to within 200 years, corresponding closely to the onset of a climate event recorded in a Greenland ice core. A survey of radiocarbon dates from Chauvet and other Palaeolithic caves is consistent with this zodiacal interpretation, with a very high level of statistical significance. Finally, the Lion Man of Hohlenstein-Stadel, circa 38,000 BC, is also consistent with this interpretation, indicating this knowledge is extremely ancient and was widespread.
"""
//dna jumps between animal species. no one knows how often//
christie wilcox 2021
[[www.quantamagazine.org|https://www.quantamagazine.org/dna-jumps-between-animal-species-no-one-knows-how-often-20210609/]]
"""
language predicts coding ability
//relating natural language aptitude to individual differences in learning programming languages//
chantel s. prat et al. 2021
[[doi.org/10.1038/s41598-020-60661-8|https://doi.org/10.1038/s41598-020-60661-8]]
https://phys.org/news/2020-03-math-person-code.html
"""
elinor ostrom
commons without tragedy
//understanding institutional diversity//
elinor ostrom 2005 not yet read
//elinor ostrom: an intellectual biography//
vlad tarko 2016 not yet read
//the environmental optimism of elinor ostrom//
jenkins et al. 2020 not yet read
"""
//memory craft//
lynne kelly 2019
“you can only look up information that you already know exists. When you look it up, you are burrowing down to specific factual knowledge. What I hadn’t understood until I started committing data to memory, is that it is only with facts at my fingertips that I could play with information and see patterns I had never even glimpsed before.
It’s only with a factual base that I believe we can use our higher levels of thinking effectively. If you’re going to be creative, then you need to create with robust materials. Memory lays down the foundation on which you can build ever more complex layers of information and thinking and analysis.”
//the revolutionary genius of plants: a new understanding of plant intelligence and behavior//
stefano mancuso 2017
“In nature, hierarchies, intended as individuals or groups who decide for the community, are rare. We see them everywhere because we look at nature through human eyes.
Once again, our eyes see only what seems to be similar to us and ignore anything that is different from us.”
“The idea that democracy is an institution against nature therefore remains just one of the more seductive lies invented by man to justify his (unnatural) thirst for individual power.”
_how to take smart notes: one simple technique to boost writing, learning and thinking – for students, academics and nonfiction book writers_
sönke ahrens 2017
writing is crucial to learning. our way of writing notes is not well understood, even though it is vitally important in the process of learning and doing.
this is an excellent example of something that we did not know we needed, because our circumstances do not reveal the need.
converting the existing notes into a different form is easier than starting from a blank sheet
arrange your environment so that you don't need willpower or to choose in order to achieve what you want to achieve
“implemented them into his workflow so he could honestly say: “I never force myself to do anything I don’t feel like. Whenever I am stuck, I do something else.” ”
build a system you can trust, to hold what you need it to hold, to bring forth what you need it to bring forth.
believing the myth of being able to predict reality makes it more difficult to create a system that deals with reality
when we do not realise how limited our understanding is, we become confident in our assertions of reality, even though that confidence is unwarranted
people underestimate how important random connections are in life, in information, and all systems, so when we live and create things, we do not help enough to make random connections
are random connections the heart of why diversity is so important? not just potential suitability to reality but…
learning to find and repair the weak link in the system
many people believe that having some fancy tools is the answer to all questions, rather than knowing how to use a few simple tools well, and moving freely between them
“slip-box is designed to present you with ideas you have already forgotten, allowing your brain to focus on thinking instead of remembering”
“distinguish clearly between three types of notes:
1. Fleeting notes, which are only reminders of information, can be written in any kind of way and will end up in the trash within a day or two.
2. Permanent notes, which will never be thrown away and contain the necessary information in themselves in a permanently understandable way. They are always stored in the same way in the same place, either in the reference system or, written as if for print, in the slip-box.
3. Project notes, which are only relevant to one particular project. They are kept within a project-specific folder and can be discarded or archived after the project is finished.
Only if the notes of these three categories are kept separated it will be possible to build a critical mass of ideas within the slip-box.”
"""
//de brevitate vitae//
//on the shortness of life: life is long if you know how to use it//
seneca
"""
//on the shortness of life//
seneca
!!how to take smart notes with an iphone
!!!bluetooth keyboard
as of 2021, ios does not make app switching easy on an iphone with an external bluetooth keyboard, if you want to keep your hands on the keyboard instead of tapping on the screen occasionally.
we can work around this by using cmd+space to bring up the system search, and then typing the first character of the app we wish to switch to. for example, i regularly switch between quine2 and books.
in quine2, i can use ctrl+p to use the command palette to switch between tiddlers, and can run scripts on text i copy to the clipboard using ios shortcuts that i also call using cmd+space (the ios shortcuts can even call python scripts from pythonista, for example, but i haven't figured out how to get it to work consistently using just the keyboard; the most consistent ways are switching to shortcuts using cmd+space, sh, and tapping on the required shortcut, or alternatively, placing the most used shortcuts in a folder (ios 14 feature) and putting that folder into a widget on the homescreen, and switching to homescreen when the shortcuts are required)
the tw5-keyboard-navigation plugin makes i easier to use the external keyboard with tiddlywiki by enabling things like e to edit the current tiddler, c for closing tiddler etc
//the knowledge illusion: why we never think alone//
steven sloman, philip fernbach 2017
“I reasoned to myself, as I left him, like this—“I am actually wiser than this person; likely enough neither of us knows anything of importance, but he thinks he knows something when he doesn’t, whereas just as I don’t know anything, so I don’t think I do, either. So I appear to be wiser, at least than him, in just this one small respect: that when I don’t know things, I don’t think that I do either.” ”
Plato //Apology// 21d; trans. Christopher Rowe
“shattering people’s illusion of understanding by asking them to generate a detailed causal explanation also makes them less extreme.”
“if people’s positions are not consequentialist but based on sacred values, then shattering the illusion won’t matter.”
“people who are practiced in the art of persuasion have learned over millennia … when an attitude is based on a sacred value, consequences don’t matter.”
“Exposing people’s illusions can upset them. We have found that asking someone to explain a policy that the person doesn’t really understand does not improve our relationship with that person. Frequently, they no longer want to discuss the issue (and indeed, often they no longer want to talk to us).”
“We had hoped that shattering the illusion of understanding would make people more curious and more open to new information about the topic at hand. This is not what we have found. If anything, people are less inclined to seek new information after finding out that they were wrong. Causal explanation is an effective way to shatter the illusion, but people don’t like having their illusion shattered. In the words of Voltaire: “Illusion is the first of all pleasures.” Shattering an illusion can cause people to disengage. People like to feel successful, not incompetent.”
“A good leader must be able to help people realize their ignorance without making them feel stupid. This is not easy. One way is to demonstrate that everybody is ignorant, not just the person you’re talking to. Ignorance has to do with how much you know, whereas being dumb is relative to other people. If everybody is ignorant, then no one is dumb.”
“The story of the great individual’s life becomes a surrogate for the complex web of interpersonal relationships and events that constitute a community. We do it when we think about politics, entertainment, and science. We substitute individual stories for the truth.”
“Awareness that knowledge lives in a community gives us a different way to conceive of intelligence. Instead of regarding intelligence as a personal attribute, it can be understood as how much an individual contributes to the community. If thinking is a social entity that takes place in a group and involves teams, then intelligence resides in the team and not just in individuals. In the rest of this section, we will argue that the best way to assess intelligence is by assessing how much an individual contributes to a group’s success. An individual contributes to a team, and it is the team that matters, because it is the team that gets things done. An individual’s intelligence reflects how critical that individual is to the team.”
“an effective group doesn’t need a lot of people with high g scores; it needs a balance of people with different skills. Whatever the task at hand, be it hunting for food, building a home, or navigating a ship, it’s going to have different components that require different skills. Performance will be best whenever you have a team that has the full panoply of skills required to do the task.”
“the community prepares the field, yet society tends to give all the credit to the individual who happens to plant a successful seed.”
is karma asymmetric? are the consequences of our actions bound by the way life is asymmetric? is it really that it is so much easier to destroy and degrade than it us to build and grow? or is it because we are much more limited in our ability to imagine flourishing, as compared to our ability to know destruction? or is it because we know that the reality is misfortune has much harsher effects, effects that good fortune cannot compensate for? could it simply be that the great fortune of being able to live is forgotten compared with the inevitable reality of death?
//the heroine with 1001 faces//
maria tatar 2021 unread
//laughter is vital//
emily herring 2020
“For philosopher Henri Bergson, laughter solves a serious human conundrum: how to keep our minds and social lives elastic”
//laughter: an essay on the meaning of the comic// henri bergson 1900 unread
“idea of laughter as a social sanction against inflexible behaviour”
https://aeon.co/essays/for-henri-bergson-laughter-is-what-keeps-us-elastic-and-free
//never again: refusing race and salvaging the human//
paul gilroy 2019 unread
https://holbergprisen.no/en/holberg-lecture-never-again-refusing-race-and-salvaging-human
//the musical human: a history of life on earth//
michael spitzer 2020
“We are all born with the capacity to be active musicians. Very few of us end up actively participating in music-making. Why is that?”
“the brain’s motor and reward systems are united in the striatum, deep within the subcortical basal ganglia of the forebrain. The upper, dorsal part of the striatum is responsible for action and prediction. The lower, ventral striatum is connected to the oldest and most emotional part of the brain called the limbic system. A team of neuroscientists working at McGill University in Montreal, led by Robert Zatorre, discovered a direct link between these brain regions and musical ‘chills’, based on the release of dopamine. Dopamine is a pleasure-inducing neurotransmitter associated with food, sex, drugs and also music (unlike the other three, you can’t have too much of music; it is just as addictive, without being bad for you in excess). Using positron emission tomography (PET scans), Zatorre’s lab measured how dopamine was released in the brains of eight subjects listening to their favourite pieces. The order of events is fascinating. When music starts to build to the climax during the anticipation phase, dopamine pours into the dorsal striatum. When the musical climax arrives, it triggers an emotional reaction in the ventral striatum. This is why listeners experience as much pleasure in imaginatively ‘moving’ towards the musical goal as when they reach it.”
//from perception to pleasure: music and its neural substrates//
robert zatorre and valerie salimpoor 2013
[[doi.org/10.1073/pnas.1301228110|http://doi.org/10.1073/pnas.1301228110]]
"""
//payoff//
dan ariely 2021
“many of our motivations spring from trying to conquer a sense of helplessness and reclaim even a tiny modicum of control over our lives”
as is normal for these kinds of books, he does not reveal that although he implies his conclusions apply even more strongly in the real world, in fact the experiments he described are done on a very limited and biased sample of people (mostly university students)
relies on examples like zappos, ikea, eye for detail, speculation of other people’s motivations instead of asking them if those assumptions might be true, conflating our culture’s values with innate values
could it be that most people learn better through their own experience not because they //need// to go through an experience themselves to learn, but because most people will value that learning more since they have done it themselves?
for us, who need that kind of valuing–action less, does that explain why we seem to be better at learning, because we can more fully absorb others’ experience as we do not (as much) overvalue or own experience?
"""
//the electric kingdom// david arnold 2021
//she who became the sun// shelley parker-chan 2021
!! not yet read
//think again: the power of knowing what you don't know//
adam grant 2021
!!not yet read
"""
//useful delusions: the power and paradox of the self-deceiving brain//
shankar vedantam 2021
"""
//the power of strangers: the benefits of connecting in a suspicious world//
joe keohane 2021
“we can make the choice to be friendly, to smile, to talk, to listen. not because we’re soft, and not because we lack conviction, but because cooperating with one another is in our best interests”
not yet read
"""
warped passages: unraveling the mysteries of the universe’s hidden dimensions lisa randall 2006
life’s solution: inevitable humans in a lonely universe simon morris 2005
diffusive spreading in nature, technology and society armin bunde 2018
molecules: the elements and the architecture of everything theodore gray & nick mann 2014
reactions: an illustrated exploration of elements, molecules, and change in the universe theodore gray & nick mann 2017
the elements: a visual exploration of every known atom in the universe theodore gray 2012
what is real? the unfinished quest for the meaning of quantum physics adam becker 2018
chicxulub: the impact and tsunami: the story of the largest known asteroid to hit the earth david shonting, cathy ezrailson 2016
the manga guide to electricity kazuhiro fujitaki, matsuda
logic of modern physics p. w. bridgman 1958
quantum revelation: a radical synthesis of science and spirituality paul levy 2018
beyond weird: why everything you thought you knew about quantum physics is different philip ball 2018
“a theory about information: about what can be known and how”
storm in a teacup: the physics of everyday life helen czerski 2018
zapped: from infrared to x-rays, the curious history of invisible light bob berman 2017
nb believes in esp
through two doors at once: the elegant experiment that captures the enigma of our quantum reality anil ananthaswamy 2018
the connectivity hypothesis: foundations of an integral science of quantum, cosmos, life, and consciousness ervin laszlo 2003
liquid: the delightful and dangerous substances that flow through our lives mark miodownik 2018
the human cosmos jo marchant 2020
carlo rovelli not yet read
the order of time carlo rovelli 2018
seven brief lessons on physics carlo rovelli
reality is not what it seems: the journey to quantum gravity carlo rovelli
what is time? what is space? carlo rovelli 2006
there are places in the world where rules are less important than kindness carlo rovelli 2020
the manga guide to physics hideo nitta 2009
"""
//choose your wow!: a disciplined agile delivery handbook for optimizing your way of working (wow)//
scott ambler, mark lines 2018
//introduction to disciplined agile delivery 2nd edition: a small agile team’s journey from scrum to disciplined devops//
scott ambler, mark lines 2021
//an executive’s guide to disciplined agile//
scott ambler, mark lines 2018
//doing agile right//
darrell k. rigby et al. 2021
scott ambler's [[agile modeling|http://agilemodeling.com]] and [[agile documentation|http://agilemodeling.com/essays/agileDocumentation.htm]]
[[farewell to bourgeois kings|https://tinkzorg.wordpress.com/2021/08/16/farewell-to-bourgeois-kings]] malcom kyeyune 2021, technocrat loss of legitimacy
"""
//theory of society// niklas luhmann 1997
this ancient mnemonic technique builds a palace of memory lynne kelly 2017 aeon.co/ideas/this-ancient-mnemonic-technique-builds-a-palace-of-memory
the memory code: the secrets of stonehenge easter island and other ancient monuments lynne kelley 2017
how to develop a brilliant memory week by week: 50 proven ways to enhance your memory skills dominic o’brien 2014
the mechanism of mind: understand how your mind works to maximise memory and creative potential edward de bono 2015
the guardian of all things: the epic story of human memory michael malone 2012
the memory illusion: remembering, forgetting, and the science of false memory julia shaw 2016
you can learn to remember change your thinking, change your life dominic o’brien 2014
the art of memory frances a. yates 1966
the model thinker: what you need to know to make data work for you scott e. page 2018
"""
not yet read
"""
elastic: flexible thinking in a time of change leonard mlodinow 2018 toreadnext
a skeptic’s guide to the mind: what neuroscience can and cannot tell us about ourselves robert a. burton 2013
a new reality: human evolution for a sustainable future jonas salk, jonathan salk 2018
always change a losing game: winning strategies for work, home and health david posen 2018
ask more the power of questions to open doors, uncover solutions, and spark change frank sesno 2018
genes, brains, and human potential: the science and ideology of intelligence ken richardson 2017
don’t be such a scientist: talking substance in an age of style randy olson 2009, 2018
rethink: the surprising history of new ideas steven poole 2016
deviate: the science of seeing differently beau lotto 2017
we do things differently: the outsiders rebooting our world mark stevenson 2018
critical thinking unleashed elliot cohen 2009
thought and knowledge: an introduction to critical thinking diane f. halpern 2014
rethink: the surprising history of new ideas steven poole 2016
parallel thinking edward de bono 1991
the biological mind: how brain body and environment collaborate to make us who we are alan jasanoff 2018 to read next
abc the alphabetizaton of the popular mind ivan illich 1988 to read next
finding meaning in an imperfect world iddo landau 2017
hypersanity: thinking beyond thinking neel burton 2019
heaven and hell: the psychology of the emotions neel burton 2020
the end of animal farming: how scientists, entrepreneurs, and activists are building an animal-free food system jacy reese 2018
the inflamed mind: a radical new approach to depression edward bullmore 2018
blindsight peter watts 2006
the matter of facts: skepticism, persuasion, and evidence in science gareth leng, rhodri leng 2020
grow the pie: how great companies deliver both purpose and profit alex edmans 2020 unread
the new testament: a translation david bentley hart 2018
the science of living 219 reasons to rethink your daily routine stuart farrimond 2020
"""
//gladiator at law//
frederick pohl and c m kornbluth 1955
//the stoic challenge; a philosopher’s guide to becoming tougher, calmer, and more resilient//
william b. irvine 2019
[ext[private/inventory/20210410-9KTF6TH264220.HEIC]]
[ext[private/inventory/20210410-9KTF71HC2F000.HEIC]]
[ext[private/inventory/20210410-9KVF85K2F5F40.HEIC]]
[ext[private/inventory/20210410-9KVFBZPCB0380.HEIC]]
[ext[private/inventory/20210410-9LAF86K512D40.HEIC]]
[ext[private/inventory/20210410-9LAF88K569780.HEIC]]
https://appleteacher.apple.com
we forget that love and trust are approximations to reality, words and concepts humans use to try to describe reality.
choice and possibility are inextricably linked, but affect us in different ways. we can choose to do certain things, and whether we are successful or not may (or may not) depend upon whether it is possible
hypothesis: test whether people are more or less likely to be able to do something for a length of time if they are visibly timed using a clock, or if they are invisibly timed using a clock, or not timed at all. do this in various combinations, for example not timed, then timed; invisibly timed, then visibly timed etc. my hunch is that in the short term, timing appears to help, but in the long term timing fails — possibly showing intrinsic motivation needs to be trained using untimed methods for long term results
//progress & poverty//
henry george 1879
https://astralcodexten.substack.com/p/your-book-review-progress-and-poverty
we are currently bound by the asymmetry between what we believe we know, and what we actually do not and/or can not know
we are currently bound by our culture’s reliance on language, written and spoken, as this language is asymmetric between what individuals are encouraged to believe, and what we actually need to learn, that is not well shown using language
[[seneca effect|https://thesenecaeffect.blogspot.com/2015/11/the-seneca-effect-why-decline-is-faster.html]]: why decline is faster than growth
<$details summary ="pitch">
[[attention]] <<a4>> a
</$details>
<$details summary ="charlie puth nightcore">
charlie puth nightcore <iframe height="10px" width="40px" src="lena/music/20210526attention-charlie puth nightcore.m4a" frameborder="0"></iframe>
</$details>
<$details summary ="j.fla">
j.fla <iframe height="10px" width="40px" src="lena/music/20210526attention-charlie puth jfla.m4a" frameborder="0"></iframe>
</$details>
<$details summary ="first to eleven">
first to eleven <iframe height="10px" width="40px" src="lena/music/20210825attention-charlie puth first to eleven.m4a" frameborder="0"></iframe>
</$details>
"""
whoa oh oh hm
you’ve been runnin’ ’round, runnin’ ’round, runnin’ ’round throwin’ that dirt all on my name
’cause you knew that i, knew that i, knew that i’d call you up
you’ve been going ’round, going ’round, going ’round every party in LA
’cause you knew that i, knew that i, knew that i’d be at one, oh
★i know that dress is karma, perfume regret
you got me thinking ’bout when you were mine, oh
and now i’m all up on ya, what you expect?
but you’re not coming home with me tonight
☆you just want attention
you don’t want my heart
maybe you just hate the thought of me with someone new
yeah, you just want attention
i knew from the start
you’re just making sure i’m never gettin’ over you
you’ve been runnin’ round, runnin’ round, runnin’ round throwing that dirt all on my name
’cause you knew that i, knew that i, knew that i’d call you up
baby, now that we’re, now that we’re, now that we’re right here standing face to face
you already know, ’ready know, ’ready know that you won, oh
★repeat
☆repeat
what are you doin’ to me?
what are you doin’, huh? (what are you doin’?)
what are you doin’ to me?
what are you doin’, huh? (what are you doin’?)
what are you doin’ to me?
what are you doin’, huh? (what are you doin’?)
what are you doin’ to me?
what are you doin’, huh?
★repeat
☆repeat
what are you doin’ to me? (hey)
what are you doin’, huh? (what are you doin’, what?)
what are you doin’ to me?
what are you doin’, huh? (yeah, you just want attention)
what are you doin’ to me? (i knew from the start)
what are you doin’, huh?
(you’re just making sure i’m never gettin’ over you)
what are you doin’ to me?
what are you doin’, huh?
"""
assume we’re wrong
“I neither know nor think that I know” (socrates, in plato //apology// 21d)
... ἔοικα γοῦν τούτου γε σμικρῷ τινι αὐτῷ τούτῳ σοφώτερος εἶναι, ὅτι ἃ μὴ οἶδα οὐδὲ οἴομαι εἰδέναι.
... I seem, then, in just this little thing to be wiser than this man at any rate, that what I do not know I do not think I know either. (henry cary translation 1897) [[wikipedia|https://en.m.wikipedia.org/wiki/I_know_that_I_know_nothing]]
venn diagram and four quadrants
[img[photo/20181028 maki know abcd.jpg]]
[ext[photo/20181028 maki know abcd.jpg]]
what if, the answer to “divide and conquer” is not //more unity// but rather //more autonomy//
almost all human concepts are illusions: good and evil, noble sentiments and base desires. we do not truly know what the ultimate effect of them will be, but it is not looking promising, is it?
lotka-volterra model of resource depletion
//the sixth law of stupidity: a biophysical interpretation of carlo cipolla’s stupidity laws//
ilaria perissi, ugo bardi 2021
https://www.mdpi.com/2079-8954/9/3/57/htm
from https://kookma.github.io/TW-Scripts/
; Which pattern is better in using a button widget?
* Pattern A
```
<$button actions=""> ...</$button>
```
* Pattern B
```
<$button>
actions
...
</$button>
```
<<<Jeremy Ruston
I personally prefer a variant of style A where one uses a variable to store the action widgets instead of a separate tiddler:
<<<
!! Example
* First store the actions in a variable (here a macro)
```
\define my-actions()
<$action-navigate $to="$:/ControlPanel"/>
<$action-setfield $tiddler="$:/SiteTitle" $value={{{ [{$:/SiteTitle}addsuffix[!]] }}}/>
\end
```
* Then pass the variable to actions attribute of a `$button` widget.
```
<$button actions=<<my-actions>> >
Click me to open control panel and add an exclamation mark to the site title
</$button>
```
<<alert warning "''Note'': Pattern A is the recommended pattern. You can define as many action you like inside a macro and then pass it to button widget.">>
;Remark
:There is a priority in running actions given to $button actions attribute (pattern A) and those located inside $button widget (pattern B).
“The last function of reason is to recognize that there are an infinity of things which are beyond it. It is but feeble if it does not see so far as to know this.”
^^blaise pascal //pensées// 1670 (translated to english)^^
<$details summary ="pitch">
[[born without a heart]] <<as4>> a#
</$details>
<$details summary ="faouzia">
faouzia <iframe height="10px" width="40px" src="lena/music/20210425born without a heart-faouzia.m4a" frameborder="0"></iframe>
</$details>
"""
i’m an angel / tell me what you mean by that
i take it all / and i will never give it back
i don’t feel sorry / every time i see you cry
every time you start / i’m waiting for your tears to dry
★i don’t really care / and i never will
that’s the way i am / such a bitter pill
i don’t really care / how my silence kills
that’s the way i am
☆no / i wasn’t born without a heart / i wasn’t always like this
no / watched you break me
no / now you blame me
no / i wasn’t born with all these scars / and that’s what made me like this
no / can you blame me
no
i’m a nightmare / i know what you mean by that
i can’t wake up / from all these scary dreams i have
★,☆repeat
i wasn’t born like this
hurt people / hurt people
i’d rather be heartless
than have my heart / in pieces
☆repeat
"""
"""
flour, 250g plain
milk, 500ml
eggs, 2 large
salt, 1/4 teaspoon
butter, knob for frying
honey or caster sugar
fresh lemon
turn on large hob to 4 (of 6)
heat nonstick pan
use four chopsticks (to in each hand) to mix flour, milk, eggs and salt in the measuring jug you measured in (saves washing)
use ladle to pour an almost–full ladle in pan, tilt to spread for thin pancakes, leave as is for thick
when the edges darken, the pancake is read to flip
flip the pancake
add sliver of butter to (dry) top of pancake
when the underside has browned a little, flip again
flip once more when you feel it is ready to
remove pancake when both sides browned as you like
for second pancake, i turn the heat down to 3
up again to 4 for next, etc
wash up while pancakes are browning
serve with honey/sugar and lemon
"""
intro b-d#-f#, start f#-e-d#
irene grandi
http://www.sevenuc.com/en/proverbs.html
[[身有屎]]
<!-- ACTIVATE this template for all tiddlers tagged in list below, add a tag $:/tags/ViewTemplate to this tiddler, remember to remove the same tag from the Card Template tap -->
<$list filter="[tag[recall]] [tag[sing]] [tag[tw]] [tag[eat]] [tag[yin]] +[is[current]]">
<$fieldmangler>
<div style="" >
<$swipe tag="div" class="target-css-class" leftactions=<<hardButtonActions>> rightactions=<<easyButtonActions>> >
<div style="width:100%;min-height:90vh;max-height:95vh;display:grid;place-items:center center;color:#222 !important">
← hard — swipe — easy →
</div>
</$swipe>
</div>
</$fieldmangler>
</$list>
<!-- ACTIVATE this template for all tiddlers tagged in list below, add a tag $:/tags/ViewTemplate to this tiddler, remember to remove the same tag from the Card Template swipe -->
<$list filter="[tag[recall]] [tag[sing]] [tag[tw]] [tag[eat]] [tag[yin]] +[is[current]]">
<$fieldmangler>
<$button actions=<<easyButtonActions>> style="width:29%;height:100vh; border-color:#222 transparent">
later
</$button>
<$button actions=<<hardButtonActions>> style="width:39%;height:100vh;border-color:#222 transparent">
soon
</$button>
<$button actions=<<easyButtonActions>> style="width:29%;height:100vh;border-color: #222 transparent">
later
</$button>
</$fieldmangler>
</$list>
!!anwiki dependencies
if you are creating your own version of anwiki from scratch from a base tiddlywiki rather than just copying anwiki or makiaea-anwiki, you'll note the original anwiki needs evan and joshua's plugins [[$:/plugins/ebalster/formula|https://github.com/EvanBalster/TiddlyWikiFormula]] (and $:/plugins/ebalster/condition) and
you will also need to copy [[Selector]], [[Card Template swipe]], [[Macros]], Result; i didn't copy across the viewtemplate, as not using decks. had to use an ipad to drag and drop the plugins, most of the rest came through using the export/import function
<<.link-badge-change >> change date format: $:/language/Tiddler/DateFormat
<<.link-badge-change >> change palette:
$:/palettes/Makiaea
<<.link-badge-add >> hide answer until tap/hover from Stephan Hradek http://tw5magick.tiddlyspot.com/ : [[quiz.css]] for ordinary css and [[quiz2.css]] for macro use
<<.link-badge-change >> turn off autosave (doesn't seem to have an effect): [[$:/config/AutoSave]]
<<.link-badge-add >> [[close sidebar when screen is small]] https://tiddlywiki.com/prerelease/#StartupActions originally you had to unhide the sidebar to get to the manual save button (i mostly let it autosave as quine will autosave for safety, so only way to limit saves is omit most manual saves)
<<.link-badge-remove >> removed viewtemplate tag from subtitle and tags shadow tiddlers to stop them showing in normal tiddler view: $:/core/ui/ViewTemplate/subtitle $:/core/ui/ViewTemplate/tags
<<.link-badge-add >> [[top of story]] tiddler tagged with $:/tags/AboveStory as per [[eric's instructions|https://groups.google.com/g/tiddlywiki/c/T8lL1eeZatg/m/Ni7nUg3KCAAJ]]
<<.link-badge-change >> quine2 option: turn on batch saves
<<.link-badge-change >> changed animation duration to zero in control panel
<<.link-badge-change >> (viewer) sticky titles yes [[$:/themes/tiddlywiki/vanilla/options/stickytitles]] change 0px to -20px for top; opacity: 80%; of sticky title: $:/themes/tiddlywiki/vanilla/sticky
```
$:/core/ui/EditTemplate/controls $:/core/ui/EditTemplate/shadow $:/core/ui/ViewTemplate/classic $:/core/ui/EditTemplate/title $:/core/ui/EditTemplate/body $:/core/ui/EditTemplate/tags $:/core/ui/EditTemplate/fields $:/core/ui/EditTemplate/type
```
<<.link-badge-modify >> move tags section below content section by moving $:/core/ui/EditTemplate/tags in the field list for $:/tags/EditTemplate i.e. edit $:/tags/EditTemplate and edit the list, moving $:/core/ui/EditTemplate/title and $:/core/ui/EditTemplate/tags after $:/core/ui/EditTemplate/body
<<.link-badge-add >> import plugin [[click2edit|$:/plugins/danielo515/2click2edit]] plugin
<<.link-badge-modify >> modified [[quiz.css]] to shrink padding
<<.link-badge-fix >> 20201220 recall button now uses tiddlywiki core filter limit instead of old anwiki code, eliminating delay when many cards are due
<<.link-badge-remove >> 20201220 condition plugin removed as using css to display answer on tap/mouseover
<<.link-badge-fix >> 20201220 anwiki (at least the version i can access) does not appear to use the [[SM-2 algorithm]], now patched with approximation
<<.link-badge-workaround >> 20201222 intermittent ipad browser render bug? not due to original tiddlywiki. in ipad sidebar, my css for tiddlers is overlapping left edge of sidebar, sometimes the far left side of sidebar cannot be used — padding? tried css temporary workaround set $:/themes/tiddlywiki/vanilla/metrics/storywidth to 700px from 770px
<<.link-badge-remove >> 20210627 removed tiddler commander; 20201222 <<.link-badge-add >> installed [[tiddler commander|https://github.com/kookma/TW-Commander]]
<<.link-badge-workaround >> 20201226 css bug in text selection highlighting, found on iphone x ios13 only (not ipad 12.9 ios14), when controlpanel|info|basics|default focus view for new tiddlers is set to text, the highlighting in the tiddler does not show visually on initial edit, although it is working otherwise. workaround, tap in bottom right corner of text box reliably shows the highlighting again.
<<.link-badge-add >> 20201229 the "deck" feature is done by setting the card template's open-next-card button filter to a certain tag e.g. cantonese, or japanese, and adding new cards that have their starting tags set by the state tiddler that stores the current deck name
<<.link-badge-add >> 20201229 now possible to have the same card in two different "decks", as the review and next card process is set by the currently chosen deck
<<.link-badge-change >> 20201230 changed $:/config/Search/MinLength to 1 to accomodate unicode character searching
<<.link-badge-add "https://github.com/flibbles/tw5-relink">> 20210101 installed [[relink|https://github.com/flibbles/tw5-relink]] and relink titles
20210725 <<.link-badge-remove >> disabled <<.link-badge-extend "https://groups.google.com/g/tiddlywiki/c/kpgWMO8NO6Q/m/HumrQYaGAgAJ">> 20210102 lin onetwo's [[copy on select]] script installed, modified for touch
<<.link-badge-modify >> 20210103
[[$:/plugins/souk21/commandpalette/Recent Tiddlers Command]]
from ``[!is[system]!sort[created]search[]]`` to
``[!is[system]!sort[modified]search[]]``
<<.link-badge-modify >> 20210103 Tiddler Opening Behaviour: Navigation from within the story river: open at top of story river
<<.link-badge-add >> 20210103 [[slider reveal]] used for decks in [[top of story]]
<<.link-badge-add >> 20210104 [[markdown plugin|$:/plugins/tiddlywiki/markdown]] installed
20210726 <<.link-badge-modify >> tap set to active <<.link-badge-add >> 20210104 card template split into [[Card Template tap]] and [[Card Template swipe]] default swipe left hard swipe right easy. swipe is currently set as active, by adding a tag $:/tags/ViewTemplate to that tiddler
<<.link-badge-modify >> 20210104 default $:/plugins/BurningTree/hammerwidgets/widgets/swipe.js modified to change ``direction: Hammer.DIRECTION_ALL`` to ``direction: Hammer.DIRECTION_HORIZONTAL`` in order to set swipe capture to horizontal only. this allows us to scroll normally
<<.link-badge-remove >> 20210627 removed module <<.link-badge-add >> 20210104 burningtree's [[hammer widgets|http://hammerwidgets.tiddlyspot.com]] and jorik's $:/plugins/tiddlywiki/hammerjs added
<<.link-badge-modify >> 20210107 abstract algorithm in card template so that we can have multiple card templates using different algorithms for different tasks
<<.link-badge-add >> 20210107 video for changing answer interface [[toggle tap and swipe]]
<<.link-badge-add >> 20210111 css macro added for cloze phrases like this <<cl "which is clozed">>
<<.link-badge-add >> 20210117 opensans webfont [[package by mohammad|http://kookma.webfonts.tiddlyspot.com]] and [[Set Font]]
<<.link-badge-add >> 20210117 syntax highlighting [[plugin by mohammad|http://kookma.webfonts.tiddlyspot.com]]
```css
em {
font-family: "Open Sans italic", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
font-weight: 300;
}
```
<<.link-badge-modify >> 20210118 [[Set Font]] to set weight for em
<<.link-badge-modify >> 20210120 [[uglify|https://groups.google.com/g/tiddlywiki/c/-kIVw00crRQ]] compression applied to reduce file size from 4.9MB to 3.7MB. pre-uglify version retained in milestones folder for future import
<<.link-badge-fix >> 20210120 [[5004]] milkyway2 save bug fixed by removing milkyway2 and dependencies
```css
[data-tags*="recall"] div.tc-subtitle, [data-tags*="recall"] div.tc-tags-wrapper {display:none}
```
<<.link-badge-modify >> 20210201 deleted modified subtitle and tags shadow tiddlers to enable them showing in normal tiddler view: $:/core/ui/ViewTemplate/subtitle $:/core/ui/ViewTemplate/tags
//and instead// hide tags and subtitles using css for a set of tags (e.g. recall below) https://tiddlywiki.com/#How%20to%20apply%20custom%20styles
```css
.tc-editor-toolbar {
position: -webkit-sticky;
position: -moz-sticky;
position: -o-sticky;
position: -ms-sticky;
position: sticky;
top: 10px;
background: ``<<colour tiddler-background>>``;
z-index: 500;
size:0.5em;
}
```
20210429 update: for mobile safari at least tapping just outside the editor area brings the toolbar back onscreen (once you have it stickied in css and then after editing it seems to scroll offscreen)
20210726 <<.link-badge-remove >> hide editor toolbar as using this setting makes card editing slightly more difficult (next field arrow does not move directly from title to main body) <<.link-badge-modify >> 20210206 show editor toolbar by toggling on $:/core/ui/ControlPanel/Settings/EditorToolbar and add css to sticky the editor toolbar in [[quiz.css]] NOTE this makes the TAB to save tiddler NO LONGER dismiss the keyboard (which may be useful in some cases)
<<.link-badge-modify >> 20210206 control panel, appearance, toolbars, editor toolbar; hide most icons into dropdown (but not all as it exceeds page length and cannot scroll the list on small mobile screens)
<<.link-badge-modify >> 20210206 control panel settings, navigation address bar, include target tiddler; navigation history, update history
<<.link-badge-modify >> 20210211 shift–z as a keyboard shortcut to save tiddler and close editor. when used alongside tab for the same function in pythonista keyboard, this allows quick closing of tiddlers from both main keyboards without reaching for the close button on screen
<<.link-badge-remove >> 20210627 removed module <<.link-badge-add >> 20210215 add module [[tw5-keyboard-navigation-plugin|https://maximilian-schillinger.de/tw5-keyboard-navigation-plugin.html]]
```css
div.tc-tiddler-frame.activeTiddler {
border-left: 1px solid <<colour border>>;
}
```
<<.link-badge-modify >> 20210217 keyboard-navigation.css
in quiz2.css to "hide" the cursor only for tiddlers tagged with "index", but really should make it a toggle so that it can be easily switched on and off; although the flashing of the coloured cursor is still a little bit evident because it shadows the current letter a little bit, and is also more visible on a brighter screen setting
```css
[data-tags*="index"] .tc-edit-texteditor, [data-tags*="index"] .tc-edit-texteditor-body {
caret-color: <<color border>>;
}
```
```css
caret-color: <<colour border>>;
```
as am using this to "hide" the elements when on lowest brightness on mobile, where the contrast is too low on my screen for the elements to show up at that brightness level. currently using by tag
however this really depends on using touch to establish the cursor location, so not great on desktop. perhaps try
```css
caret-color: transparent;
```
<<.link-badge-modify >> 20210305 testing non-flashing cursor by using
<<.link-badge-add >> 20210522 installed [[detailswidget|https://tid.li/tw5/plugins.html]]
```css
dropdown-tab-background: <<colour border>>
```
<<.link-badge-modify >> 20210522 $:/plugins/telmiger/details/colours.css uses the theme colours so modify $:/palettes/Makiaea line:
<<.link-badge-add >>
20210627
add $:/SplashScreen as per [[tiddlywiki.com guide|https://tiddlywiki.com/#Creating%20a%20splash%20screen]]
<<.link-badge-add >> implement personal algorithm using just tiddlywiki core without anwiki-required plugins
<<.link-badge-add >> automate toggle between swipe and tap answer interfaces, create sr settings tiddler
20210627 <<.link-badge-add >> installed streams to more easily edit long tiddlers such as [[changelog]]
<<.link-badge-modify >> streams config keyboard shortcuts: moved tab from indent to close and save, added shift-z to close and save
<<.link-badge-add >> streams button to flatten a specified stream (we need to modify var MyTiddler to title of stream) in [[test streams export button]] as per [[streams documentation|https://saqimtiaz.github.io/streams/#Working%20with%20streams%20tiddlers]]
<<.link-badge-modify >> modify streams config to only use streams when tiddler is tagged "stream", modify swipe threshold to 30px, modify swipe menu to open on left
```
[!is[shadow]tag[stream]]
```
20210704 <<.link-badge-modify >> $:/plugins/sq/streams/styles
20210715 note small [[bug|https://github.com/saqimtiaz/streams/issues/24]] in streams (actually the browser interaction) can delete last character from previous tiddler when merging with previous tiddler on ios 14.3 ; you can use the three finger swipe to left to undo that last delete of the character
from -2.5em to better fit makiaea css on desktop (furthest left collapse handles were off screen on desktop)
NB will need to make same modification when update streams if overwrite the modified shadow tiddler
```
.stream-root {
margin-left: -1.5em;
}
```
```
.stream-row-children { display:flex; flex: 0 0 auto; flex-direction: column; /*padding-left: 0.5em;*/ border-left: 1px solid #000; margin-left: 10px; }
```
from margin-left: 30px to give less indent (better for mobile screen size
20210725 <<.link-badge-add >> [[mousetrap|https://welford.github.io/#%24%3A%2Fplugins%2Fwelford%2Ftwmousetrap]] with command palette to activate with a single keypress
modify $:/plugins/welford/twmousetrap/example.js or $:/plugins/fastfreddy/twmousetrap/example.js if using fred’s modified version
```js
$tw.Mousetrap.bind("/",
function() {
$tw.rootWidget.invokeActionString('<$action-sendmessage $message="open-command-palette"/>',$tw.rootWidget);
},
"keyup"
);
```
https://groups.google.com/g/tiddlywiki/c/-xTFWPwzq6g
20201222 <<.link-badge-add >> installed [[command palette]] [[source|https://github.com/Souk21/TW-commandpalette]], [[groups announcement|https://groups.google.com/g/tiddlywiki/c/09Ful62YG1g/m/2TPSJWCqAgAJ]]
customise command palette for mobile
see [[quiz.css]]
20210901 <<.link-badge-add >> goodwifi in settings, shows channel numbers and signal strength for detected wifi networks (and mac addresses for each), also known wifi passwords
http://julioverne.github.io/
when you have a temporarily good grasp of reality, as a natural consequence, more of your interactions will be with people who do not have a good grasp of reality. this is why you will, unless you are very lucky, realise that you and others are being abused by people who might mean well but who do not understand reality. it may seem at first that they are not listening to, nor care about, your explanation of reality, of why what they are doing is abusive. but actually, people can only understand what we have the luck to understand, and almost always one explanation is not going to be the one that instantly helps us realise reality. understanding is a gradual process, so by probability, although one particular explanation may help the process, it will not be likely to be a single instance that convinces anyone to change their system of thinking. this might be the reason why i have mostly stopped talking; if people are also on a journey to reality we may luckily realise we are kindred souls, but if not, what i say or do will not convince them. so for us, communication, relationships, may be much less about trying to convince or influence each other, but much more about just sharing that we are on a similar path and cherishing our fleeting time together.
"""
butter, 200g chopped
dark chocolate, 200g roughly chopped
orange, zest 1 large
eggs, 4 large
sugar, 350g caster
flour, 100g plain
cocoa powder, 50g
dark chocolate orange, 100g chopped
Heat oven to 180C/160C fan/gas 4 and line a 24 x 20cm brownie tin with baking parchment. Put the butter, dark chocolate and orange zest in a non-stick saucepan and very gently melt over a low heat, stirring every now and then, until smooth – take care not to overheat it. Cool.
Whisk the eggs and sugar together with an electric whisk until the mixture is pale, has doubled in volume and leaves a trail when the beaters are lifted. Gently stir into the cooled chocolate mixture. Sift over the flour and cocoa, stir in, then add the orange chocolate.
Pour into the lined tin and bake for 35-40 mins. Cool in the tin, then cut into squares.
"""
originally from [[sara buenfeld|https://www.bbcgoodfood.com/recipes/chocolate-orange-brownies]]
how do we choose without using the myth of value?
<$details summary ="pitch">
[[classic]] <<gs4>> g#
</$details>
<$details summary ="mkto">
mkto <iframe height="10px" width="40px" src="lena/music/20210526classic-mkto.m4a" frameborder="0"></iframe>
</$details>
<$details summary ="angelina aae">
angelina aae <iframe height="10px" width="40px" src="lena/music/20210526classic-mkto angelina aae.m4a" frameborder="0"></iframe>
</$details>
"""
hey! where's the drums?
oh whoa-oh-oh-oh
let's go!
ooh girl you're shining
like a 5th avenue diamond
and they don't make you like they used to
you're never going out of style
ooh pretty baby
this world might've gone crazy
the way you save me
who can blame me
when i just wanna make you smile?
★i wanna thrill you like michael
i wanna kiss you like prince
let's get it on like marvin gaye
like hathaway
write a song for you like this
☆you're over my head
i'm out of my mind
thinking i was born in the wrong time
one of a kind, living in a world gone plastic
baby you're so classic
baby you're so classic
baby you,
baby you're so classic
four dozen roses
anything for you to notice
all the way to serenade you
doing it sinatra style
i'm a pick you up in a cadillac
like a gentleman bringin' glamour back
keep it reel to reel in the way i feel
i could walk you down the aisle
★repeat
*you're over my head
i'm out of my mind
thinking i was born in the wrong time
it's love on rewind,
everything is so throwback-ish (i kinda like it, like it)
out of my league
old school chic
like a movie star
from the silver screen
you're one of a kind living in a world gone plastic
baby you're so classic
baby you're so classic
baby you're so classic
baby you're class and baby you're sick
i never met a girl like you ever 'till we met
a star in the 40s, centerfold in the 50s
got me tripping out like the sixties
hippies, queen of the discotheque
a 70s dream and an 80s best
hepburn, beyoncé, marilyn, massive
girl you're timeless, just so classic
*repeat
uuuuuuh uh uh
"""
<$reveal type="lt" state="$:/info/browser/screen/width" text="1100">
<$action-setfield $tiddler="$:/state/sidebar" $value="no"/>
<$action-setfield $tiddler="$:/state/toggle-slider/decks" $value="close"/>
</$reveal>
<$reveal type="gteq" state="$:/info/browser/screen/width" text="1100">
<$action-setfield $tiddler="$:/state/sidebar" $value="yes"/>
</$reveal>
<$details summary ="pitch">
[[coffin dance]] <<a4>> a
</$details>
<$details summary ="astronomia">
astronomia <iframe height="10px" width="40px" src="lena/music/20210425coffin dance-astronomia.m4a" frameborder="0"></iframe>
</$details>
when we lose our compensatory mechanisms for dealing with corrupted information, whether through indoctrination, ill health or other circumstance, then we lose a critical part of our system for dealing with reality.
even while we still have those mechanisms, we might still believe that it is a simple thing, to know that our abilities, systems are fragile and need maintenance —but tragically, once the mechanisms are lost, it is rare to regain them, because without them a person drifts further and deeper from reality.
the opposite of opportunity cost, which is less known. when you invest time and effort into something, the benefit compounds as time passes
<script>
// to activate, add tag $:/tags/RawMarkup
// 20210411 original by lin onetwo and eric (thank you!): https://groups.google.com/g/tiddlywiki/c/kpgWMO8NO6Q/m/HumrQYaGAgAJ
// 20210102 modified by makiaea to use pointer vs mouse; for mobile use, tested on desktop by sylvain (thanks sylvain!) https://usefulangle.com/post/27/javascript-advantage-of-using-pointer-events-over-mouse-touch-events
// (works only outside text editor) select as normal, single tap selected text to copy
// we won't do copy on select on text editor, otherwise you can't select and override text in the editor or text input
function checkIfElementIsEditor(element)
{
if (!element || !element.nodeName) return false;
const isEditableElement = ['INPUT', 'TEXTAREA', 'BUTTON'].includes(element.nodeName);
if (!isEditableElement) {
if (!element.className || !element.className.toLowerCase) return false;
}
const isTextEditor = element.className.toLowerCase().includes('codemirror');
return isEditableElement || isTextEditor;
}
// if we start selection on editor, we prevent the following execution of this script
let copyOnSelectPreventNextCopy = false;
document.addEventListener('pointerdown', function onPointerDown() {
const elementsUnderPointer = document.querySelectorAll(':hover'
);
if (!elementsUnderPointer || Array.from(elementsUnderPointer).some(checkIfElementIsEditor)) {
copyOnSelectPreventNextCopy = true;
}
});
// Copy on select, copy document selection when pointer is up
document.addEventListener('pointerup', function onPointerUp() {
const elementsUnderPointer = document.querySelectorAll(':hover');
if
(
copyOnSelectPreventNextCopy ||
!elementsUnderPointer ||
Array.from(elementsUnderPointer).some(checkIfElementIsEditor)
) {
copyOnSelectPreventNextCopy = false;
return;
}
document.execCommand('copy');
});
</script>
[[andreas' tinka plugin creator|https://tinkaplugin.github.io/]]
recent upgrade to 0.50 https://groups.google.com/g/tiddlywiki/c/Jd_wLh8b-R8/m/8NJuZFGpAgAJ
sistan [[plugin tutorial|http://sistan.tiddlyspot.com]]
https://groups.google.com/g/tiddlywikidev/c/SpKc-K4ydCw/m/eJs1RVPGAgAJ
https://tiddlywiki.com/dev/static/How%2520to%2520create%2520plugins%2520in%2520the%2520browser.html
https://developers.google.com/web/updates/2017/01/css-grid
modified linonetwo's $:/plugins/linonetwo/opened-tiddlers-bar/style.css to add ``section.story-backdrop { scroll-snap-type: x mandatory;}`` and ``.tc-tab {scroll-snap-align: start;}``
/** 顶部tab栏 */
section.story-backdrop {
position: fixed;
top: 0;
z-index: 1000;
width: 100vw;
overflow-x: auto;
left: 0;
white-space: nowrap;
overflow: -moz-scrollbars-none;
scrollbar-width: none;
scroll-snap-type: x mandatory;
}
section.story-backdrop::-webkit-scrollbar {
display: none;
}
section.story-backdrop > p, section.story-backdrop > p > div.tc-tab-buttons {
width: 100%;
margin: 0;
display: flex;
background-color: white;
}
section.story-backdrop button {
border: none;
border-radius: 0;
margin: 0;
padding: 5px 10px;
padding-right: 2px;
}
/** x button */
section.story-backdrop button:not(.tc-tab) {
border: none;
border-radius: 0;
margin: 0;
padding: 0 5px;
opacity: 0;
background-color: transparent;
}
section.story-backdrop button:not(.tc-tab):hover {
opacity: 1;
}
section.story-backdrop button.tc-tab:not(.tc-tab-selected):hover {
border-bottom: 2px solid gray;
}
section.story-backdrop button.tc-tab:nth-child(2) {
margin-left: -1em;
}
.tc-tab-buttons {
padding: 0;
margin: 0;
}
div.tc-page-container {
margin-top: 30px;
}
div.tc-tiddler-title {
top: 24px;
}
div.tc-editor-toolbar {
top: calc(35px + 24px);
}
/** 收起侧边栏的按钮 */
.tc-topbar-right {
top: 18px;
}
.tc-tab {scroll-snap-align: start;}
/* inconsolata-regular - latin */
@font-face {
font-family: 'Inconsolata';
font-style: normal;
font-weight: 400;
src: local('Inconsolata Regular'), local('Inconsolata-Regular'),
url(<<datauri "inconsolata-v18-latin-regular.woff2">>) format("woff2");
}
/* inconsolata-700 - latin */
@font-face {
font-family: 'Inconsolata';
font-style: normal;
font-weight: 700;
src: local('Inconsolata Bold'), local('Inconsolata-Bold'),
url(<<datauri "inconsolata-v18-latin-700.woff2">>) format("woff2");
}
/* open-sans-300 - latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'),
url(<<datauri "open-sans-v17-latin-300.woff2">>) format("woff2");
}
/* open-sans-300italic - latin */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 300;
src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'),
url(<<datauri "open-sans-v17-latin-300italic.woff22">>) format("woff22");
}
/* open-sans-italic - latin */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 400;
src: local('Open Sans Italic'), local('OpenSans-Italic'),
url(<<datauri "open-sans-v17-latin-italic.woff2">>) format("woff2");
}
/* open-sans-regular - latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'),
url(<<datauri "open-sans-v17-latin-regular.woff2">>) format("woff2");
}
/* open-sans-600italic - latin */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 600;
src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'),
url(<<datauri "open-sans-v17-latin-600italic.woff2">>) format("woff2");
}
/* open-sans-600 - latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
url(<<datauri "open-sans-v17-latin-600.woff2">>) format("woff2");
}
/* open-sans-700 - latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 700;
src: local('Open Sans Bold'), local('OpenSans-Bold'),
url(<<datauri "open-sans-v17-latin-700.woff2">>) format("woff2");
}
/* open-sans-700italic - latin */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 700;
src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
url(<<datauri "open-sans-v17-latin-700italic.woff2">>) format("woff2");
}
/* open-sans-800 - latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 800;
src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'),
url(<<datauri "open-sans-v17-latin-800.woff2">>) format("woff2");
}
/* open-sans-800italic - latin */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 800;
src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'),
url(<<datauri "open-sans-v17-latin-800italic.woff2">>) format("woff2");
}
<$details summary ="pitch">
[[darkside]] <<g4>> g
</$details>
<$details summary ="alan walker">
alan walker <iframe height="10px" width="40px" src="lena/music/20210425darkside-alan walker.m4a" frameborder="0"></iframe>
</$details>
"""
we’re not in love / we share no stories
just something in your eyes
don’t be afraid / the shadows know me
let’s leave the world behind
★take me through the night / fall into the dark side
we don’t need the light / we’ll live on the dark side
i see it / let’s feel it / while we’re still young and fearless
let go of the light / fall into the dark side
☆fall into the dark side / give in to the dark side
let go of the light / fall into the dark side
beneath the sky / as black as diamonds
we’re running out of time
don’t wait for the truth / to come and blind us
let’s just believe their lies
believe it / i see it / i know that you can feel it
no secrets worth keeping / so fool me like i’m dreaming
★,☆repeat
★repeat
"""
[[mark macros|https://marxsal.github.io/various/playground.html#Date%20Conversion%20Macros]]
[[stobot|https://groups.google.com/g/tiddlywiki/c/y_GjM302u60]] simple javascript add date
go to [[readme]]
a work–in–progress — if you find something that doesn't work or that you prefer to do another way, you can fix it and change it as you like! love, maki [[makiaea.org|https://makiaea.org]]
pick a tab below to select the tag for recalling and adding: (the “deck” in anki terms) — make sure to switch back to recall when creating normal new cards!
<<tabs "[[recall]] [[sing]] sr eat tw yin" "[[recall]]" explicitState:"$:/state/tab/deck">>
<$list filter="[all[current]tag[Deck]]">
This tiddler corresponds to a Deck of cards, and should be styled as such! Perhaps with a button to launch it, etc.
</$list>
<<tabs "[[yin]] sing [[recall]] index eat [[myth]] [[real]] sr tw " "[[recall]]" explicitState:"$:/state/tab/deck">>
[[example with tiddlydesktop|https://groups.google.com/g/tiddlywiki/c/BdYAiIGxrSQ/m/y1cOifSQEQAJ]] but it can also work with mobile. i am using something similar for links to music
"""
<$details summary ="acoustic guitar">
<$details summary ="pitch">
g(intro) <<g4>> e(start) <<e4>>
</$details>
acoustic guitar <iframe height="10px" width="40px" src="music/20210606 despacito - jea with juwon park (offical video) (cover).m4a" frameborder="0"></iframe>
</$details><$details summary ="chloe (français)">
<$details summary ="pitch">
b <<b4>> d(tout) <<d4>>
</$details>
chloe (français) <iframe height="10px" width="40px" src="music/20210606 despacito chloe (français).m4a" frameborder="0"></iframe>
</$details>
"""
<$details summary ="pitch">
[[devils don’t fly]] <<a4>> a
</$details>
<$details summary ="natalia kills">
natalia kills <iframe height="10px" width="40px" src="lena/music/20210425devils don’t fly-natalia kills.m4a" frameborder="0"></iframe>
</$details>
"""
i heard the angels call again
i threw myself a party / chardonnay and oxy
i stopped the screams inside my head
i remember when you had me / floating high like sid and nancy
they say it’s not the answer / but i can’t carry on
’cause i got nowhere / no one / without you boy i’m done
and when i’m gone / remember you’re the one
and just because i fight don’t mean that i never learned how to love
★you know devils don’t fly (fly, fly) / so don’t expect me not to fall
devils don’t fly (fly, fly) / but god we almost had it all
but i got chains / and you got wings / you know that life ain’t fair sometimes
devils don’t fly (fly, fly) / but i try
what’s a girl to do when she’s not strong
when everyone that holds my hand / gets cut from all the thorns
i used to put my ear against the wall
to hear the screams, to hear the fall / more reasons to escape it all
and it’s not the answer / but i can’t carry on
i give my best smile / my last dime / but i’m always getting wrong
it’s not ’cause i’m young / or from a broken home
maybe i just fight ’cause i don’t know where i belong
★repeat
angels were never meant to fall
and you were the loveliest of all
if i thought god could fix it
i’d pray for your forgiveness
but i’ve been cast down, thrown out
when i crossed to the other side
no devils don’t fly
★repeat
but i try
"""
most people don't really want to know why they are behaving the way they do, nor how to change it; mostly they just want excuses to behave the way they already do.
you might have heard the advice to know people by what they do rather than what they say.
but you may not have heard that our systems of knowing, of understanding, have gone awry.
yet even though our communities are based on flawed understanding, our communities are communities nonetheless.
we never step in the same river twice. if life were compared to a road, there is no final destination. there is no ultimate truth to be found, even as we reach smaller truths.
when we feel our way beyond our comforting illusions, we realise that yes, abuse and fear are everywhere, but also that this does not mean we must despair.
for in the same way that anything can be a seed of abuse, so too can anything be a seed of enlightenment.
(the process of) “becoming an expert” in a topic is the time of maximum creativity.
planning of invention 2: lessons from sidewinder and china lake
scott lochlin 2021
<$details summary ="pitch">
[[dynasty]] <<b4>> b
</$details>
<$details summary ="miia">
miia <iframe height="10px" width="40px" src="lena/music/20210425dynasty-miia.m4a" frameborder="0"></iframe>
</$details>
"""
some days / it’s hard / to see
if i was a fool / or you / a thief
made it through the maze to find my one in a million
and now you’re just a page torn from the story i’m living
★and all i gave you is gone
tumbled like it was stone
thought we built a dynasty that heaven couldn’t shake
thought we built a dynasty like nothing ever made
thought we built a dynasty forever couldn’t break / up
the scar / i can’t / reverse
when the more it heals / the worse / it hurts
gave you every piece of me / no wonder it’s missing
don’t know how to be so close to someone so distant
★repeat
it all fell down / it all fell down
it all fell / it all fell down / it all fell down
it all fell / it all fell down / it all fell down (aye)
it all fell down / it all fell down / it all / fell down
★repeat
it all fell / it all fell down / it all fell down (aye)
it all fell down / it all fell down / it all / fell down
(and all i gave you is gone)
it all fell / it all fell down / it all fell down (aye)
thought we built a dynasty forever couldn’t break / up
"""
<$button style="width:20%;height:20px;border-color:transparent"><$action-sendmessage $message="tm-close-all-tiddlers"/><$action-setfield $tiddler="$:/state/sidebar" $value="no"/><<ifrecall "[!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}] +[has[title]] + [!is[current]sort[due]limit[1]]" ifyesrecall ifnorecall>>{{$:/state/tab/deck}}<br/>^^<$count filter="[!is[current]!days:due[-1]] [!is[current]days:due[0]] +[tag{$:/state/tab/deck}]"/>^^</$button> [[go to the eat tiddler|eat]]
<$count filter="[!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}]"/> cards due today, <$count filter="[days:due[1]!days:due[0]] +[tag{$:/state/tab/deck}]"/> due tomorrow
most recently modified tiddlers with the tag "{{$:/state/tab/deck}}"
<<list-links filter:"
[!is[system]has[modified]tag{$:/state/tab/deck}!sort[modified]limit[15]]" type:"ol">>
"""
まるで悲しみのかけらだわ
街をとざす ガラス色の雪
明日をさがす瞳さえも
くもらせてゆくの 闇のかなた
見知らぬ力に流されて 心がどこかへはぐれてく
はりさけそうな胸の奥で 鼓動だけが たしかに生きている
光る風の中 聞こえてくる あなたの声
「pray don’t break a peace forever」
その輝きを信じてる
青くけむる水平線を
この目はまだ おぼえているから
まぶたを閉じれば帰れるの
暖かな時間…… 思い出たち……
くりかえすあやまちがいつも おろかな生き物に変えてく
傷つくだけの生き方でも 涙はそうよ 決して見せないわ
光る風の中 ほほえんでる あなたがいる
「pray don’t break a peace forever」
そのまぶさを見つめてる
はげしい痛みは誰のため?
それがやっと わかる気がするわ
めぐりあいはそう奇跡なの
幾億の星が さまよう(そら)
さよならが教えてくれたの あなたの本当のやさしさ
誰よりも大事な人だと 胸をはって言えるわ いつの日も
光る風の中 ほほえんでる あなたがいる
「pray don’t break a peace forever」
そのまぶさを見つめてる
「pray don’t break a peace forever」
熱い瞳に やきつけて
"""
"""
まるで悲しみのかけらだわ
marudeKANAshiminokakeradawa
as through shards of sadness
街をとざす ガラス色の雪
MACHIwotozasu gurasuIROnoYUKI
a pass cut off, snow the colour of glass
明日をさがす瞳さえも
ASHITAwosagasuHITOMIsaemo
also looks lucidly for tomorrow
くもらせてゆくの 闇のかなた
kumoraseteyukuno YAMInokanata
beyond a gathering darkness
見知らぬ力に流されて 心がどこかへはぐれてく
MISHIranuCHIKARAniNAGAsarete KOKOROgadokokaehagureteku
flowing with strange strength, where does my heart wander
はりさけそうな胸の奥で 鼓動だけが たしかに生きている
harisakesounaMUNEnoOKUde KODOUdakega tashikaniIkiteiru
bursting from within my breast, beating only, surely living
光る風の中 聞こえてくる あなたの声
HIKAruKAZEnoNAKA kikoetekuru anatanoKOE
from within a wind of light comes the sound of your voice
「pray don’t break a peace forever」
その輝きを信じてる
sonoKAGAYAkiwoSHINjiteru
in that radiance i believe
青くけむる水平線を
AOkukemuruSUIHEISENwo
horizon of azure mist
この目はまだ おぼえているから
konoMEwamada oboeteirukara
for these eyes remember still
まぶたを閉じれば帰れるの
mabutawoTOjirebaKAEreruno
to bring them back, close your eyes
暖かな時間…… 思い出たち……
ATATAkanaJIKAN…… OMOiDEtachi……
times of warmth… memories…
くりかえすあやまちがいつも おろかな生き物に変えてく
kurikaesuayamachigaitsumo orokanaIkiMONOniKAeteku
through error, is how we fools shall forever learn
傷つくだけの生き方でも 涙はそうよ 決して見せないわ
KIZUtsukudakenoIkiKATAdemo NAMIDAwasouyo KEshiteMIsenaiwa
for life is worth suffering, and tears, never hide them
光る風の中 ほほえんでる あなたがいる
HIKAruKAZEnoNAKA hohoenderu anatagairu
in the midst of a wind of light, smiling, you are
「pray don’t break a peace forever」
そのまぶさを見つめてる
sonomabushisawoMItsumeteru
the radiance i shall watch intently
はげしい痛みは誰のため?
hageshiiITAmiwaDAREnotame?
for whom burns this pain?
それがやっと わかる気がするわ
soregayatto wakaruKIgasuruwa
then, at last, comes a feeling of understanding
めぐりあいはそう奇跡なの
meguriaiwasouKISEKInano
chance meetings are such miracles
幾億の星が さまよう宇宙(そら)
IKUOKUnoHOSHIIga samayouSORA
in a universe where wander stars without end
さよならが教えてくれたの あなたの本当のやさしさ
sayonaragaOSHIetekuretano anatanoHONTOnoyasashisa
the last lesson you gave me, your true kindness
誰よりも大事な人だと 胸をはって言えるわ いつの日も
DAREyorimoDAIJInaHITOdato MUNEwohatteIeruwa itsunoHImo
dearest, when your heart hurts, let it also say, someday
光る風の中 ほほえんでる あなたがいる
HIKAruKAZEnoNAKA hohoenderu anatagairu
in the midst of a wind of light, smiling, you are
「pray don’t break a peace forever」
そのまぶさを見つめてる
sonomabushisawoMItsumeteru
the radiance i shall watch intently
「pray don’t break a peace forever」
熱い瞳に やきつけて
ATSUiHITOMIni yakitsukete
on earnest eyes imprinted
"""
森口博子 <iframe height="10px" width="40px" src="music/eternal wind~ほほえみは光る風の中~.mp3" frameborder="0"></iframe>
森口博子 <iframe height="10px" width="40px" src="music/20191123 eternal wind~ほほえみは光る風の中~ hohoemiwaHIKAruKAZEnoNAKA 森口博子 2015.aiff" frameborder="0"></iframe>
[[弾き語り|https://www.youtube.com/watch?v=NjKmNvP7TBE]] <iframe height="10px" width="40px" src="music/20210705機動戦士ガンダムF91「ETERNAL WIND〜ほほえみは光る風の中〜(森口博子)」ピアノ.m4a" frameborder="0"></iframe>
!conditional macro
```
\define if(filter,ifyes,ifno)
<$list filter="""$filter$ +[limit[1]]""" name=act emptyMessage=<<$ifno$>>>
<<$ifyes$>>
</$list>
\end
\define ifyes()
YES!
\end
\define ifno()
NO!
\end
```
!!conditional macro in use
```
<<if "[title[GettingStarted]] +[has[title]]" ifyes ifno>>
```
!! conditional macro source
https://groups.google.com/g/tiddlywiki/c/qgQjhfYZGQk/m/pRUkC6aFAQAJ
regardless of intent, circumstance, or whether we know or understand it, every difference in power is exploited by abusers. law, custom, knowledge, money, devotion, opportunity, relation, time, health, value, place.
it would be nice if to know or to understand this much or to talk about it would be sufficient. but i doubt this is the case. it may not be possible to avoid blundering in the same way, even when we actively try. we may need to settle for trying to repair damage and maintain systems.
different from flow is eastern idea called //wuwei//
!!format mac ssd
https://eshop.macsales.com/blog/43010-how-to-format-a-new-internal-ssd-in-macos-high-sierra/
glorifying the achievements of individuals instead of understanding the contribution of all
if happiness is the only thing keeping you afloat, you'd best hang on to it. but if you want to learn to swim you need to let go of your float
//a psychologically rich life: beyond happiness and meaning//
shigehiro oishi, erin c. westgate 2021
https://psycnet.apa.org/doi/10.1037/rev0000317
like knowing, on waking, how much time has passed while we were asleep — we need a proxy, or someone to tell us as we a mostly cannot know this by our own abilities just on '“waking”
[[silver fox|http://d3jsv5trial.tiddlyspot.com]]: This tiddlers explains how to build a d3 widget for D3 v5.x for dummies... I hope (but I don't guaranty) that there is no mistake hereafter...
!! Content of the JavaScript Tiddler
!!! Beginning
The beginning is always the same, if you want you can update the name of `D3Widget`, you just need to be consistant all along the file.
```
/*\
title: $:/plugins/tiddlywiki/d3/NameOfMyWidget.js
D3.js version: V5.0.0
type: application/javascript
module-type: widget
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
var Widget = require("$:/core/modules/widgets/widget.js").widget,
d3 = require("$:/plugins/tiddlywiki/d3/d3.js");
var D3Widget = function(parseTreeNode,options) {
this.initialise(parseTreeNode,options);
};
/*
Inherit from the base widget class
*/
D3Widget.prototype = new Widget();
/*
Render this widget into the DOM
*/
D3Widget.prototype.render = function(parent,nextSibling) {
// Save the parent dom node
this.parentDomNode = parent;
// Compute our attributes
this.computeAttributes();
// Execute our logic
this.execute();
// Create the chart
var chart = this.createChart(parent,nextSibling);
this.updateChart = chart.updateChart;
if(this.updateChart) {
this.updateChart();
}
// Insert the chart into the DOM and render any children
parent.insertBefore(chart.domNode,nextSibling);
this.domNodes.push(chart.domNode);
};
```
!!! Fonction CreateChart
!!!! CreatChart line
```
D3Widget.prototype.createChart = function(parent,nextSibling) {
// Get the data we're plotting
var root = this.wiki.getTiddlerData(this.myDataTiddler);
```
!!!! D3.js data
You can here basically copy paste the content of the D3.js script, you find dozen of very nice examples here https://github.com/d3/d3/wiki/Gallery
!!!! Return the svg node
The correct syntax for TiddlyWiki implementation is the following:
```
// Return the svg node
return {
domNode: svg._groups[0][0],
};
};
```
Note that the last closing curved bracket closes the CreateChart function.
!!!! end of the file
```
/*
Compute the internal state of the widget
*/
D3Widget.prototype.execute = function() {
// Get the parameters from the attributes
this.myDataTiddler = this.getAttribute("data");
};
/*
Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering
*/
D3Widget.prototype.refresh = function(changedTiddlers) {
var changedAttributes = this.computeAttributes();
if(changedAttributes.data || changedTiddlers[this.myDataTiddler]) {
this.refreshSelf();
return true;
}
return false;
};
exports.nameofmyd3widget = D3Widget;
})();
```
!! Final touch:
The javascript tiddler must be of type `application/javascript` and have a field called `module-type` with value `widget`.
To take effect after javascript modification you need to refresh TiddlyWiki.
!! Calling the widget
In another tiddler you call the widget by writing:
```
<$nameofmyd3widget data="myfile.json"/>
```
!! What I also learned doing this
It's really great to use the inspector called by right-click drop menue to debug, even more if you pace some `console.log();` in the script.
I hope it helps...
[[silver fox|http://d3jsv5trial.tiddlyspot.com]]:
If you have already downloaded the official D3 plugin, you'll have to update : `$:/plugins/tiddlywiki/d3/d3.js`
There is no risk to lose the original one, if you want to come back to the initial version, you just have to suppress the modified one.
So, the file must start with the following instruction
```
var d3;if($tw.browser){
```
en must end with this one
```
}
exports.d3 = d3;
```
and between them you just have to copy/paste the content of `d3.min.js` of the selected release.
* All releases are available here : https://github.com/d3/d3/releases
* Download the `d3.zip` release you want and copy / paste the content of `d3.min.js`
Then check that `$:/plugins/tiddlywiki/d3/d3.js` type is `application/javascript` and that `module-type` field is `library`.
You're done
pulleys [[vertiwalk|http://vertiwalk.com]] [[simple version|https://vimeo.com/156558659]]
cycling [[vcycle|https://vycle.co.uk]]
makiaea 20140625 <iframe height="10px" width="40px" src="music/20140625iknowineedtobeinlove - 20210706makiaea.m4a" frameborder="0"></iframe> a to f
karen's is slightly different
"""
the hardest thing i’ve ever done
is keep believing
there’s someone in this crazy world for me
the way that people come and go
through temporary lives
my chance could come and i might never know
i used to say “no promises,
let’s keep it simple”
but freedom only helps you say good–bye
it took a while for me to learn
that nothing comes for free
the price i’ve paid is high enough for me
☆i know i need to be in love
i know i’ve wasted too much time
i know i ask perfection of
a quite imperfect world
and fool enough to think that’s
what i’ll find
so here i am with pockets full
of good intentions
but none of them will comfort me tonight
i’m wide awake at four a.m.
without a friend in sight
hanging on a hope but i’m alright
☆,☆repeat
"""
<$details summary ="pitch">
[[i’m a mess]] <<fs4>> f#
</$details>
<$details summary ="bebe rexha">
bebe rexha <iframe height="10px" width="40px" src="lena/music/20210526i’m a mess-bebe rexha.m4a" frameborder="0"></iframe>
</$details>
"""
everything's been so messed up here lately
pretty sure he don't wanna be my baby
oh, he don't love me, he don't love me, he don't love me, he don't love me
but that's ok
'cause i love me, yeah, i love me, yeah, i love me, yeah, i love myself anyway (hey)
★everything's gonna be alright
everything's gonna be ok
it's gonna be a good, good life
that's what my therapist say
everything's gonna be alright
everything's gonna be just fine
it's gonna be a good, good life
☆i'm a mess, i'm a loser
i'm a hater, i'm a user
i'm a mess for your love, it ain't new
i'm obsessed, i'm embarrassed
i don't trust no one around us
i'm a mess for your love, it ain't new
nobody shows up unless i'm paying
have a drink on me cheers to the failing
oh, he don't love me, he don't love me
he don't love me, he don't love me
but that's okay
cause i love me, yeah, i love me
yeah, i love me, yeah, i love myself anyway
hey
★repeat
☆repeat
everything's gonna be alright, alright
everything's gonna be just fine, just fine
it's gonna be a good, good life
☆repeat
"""
https://ib-soft.net/cydia/beta
[img[photo/20200323jupiter.PNG]]
to make this work, put the relative link in between the double square brackets
```
[img[put the relative filename here]]
```
if it is the same folder as your tiddlywiki, then just use something like test.jpg
on ios i’d recommend using a subfolder (use the files app) to store your images which lies within the folder where your tiddlywiki is stored — this means that permissions to read those images in the subfolder are automatically granted. when you move on to putting public tiddlywikis on the internet, you'll likely want to use a similar subfolder system.
edit this tiddler to see how the image above is located in the photo folder
!!links to edit local images from tiddlywiki in quine on ios
i don't use this myself but it is possible on ios using quine2 (may require the "scriptable" app)
one caveat is i can't get the image to show changes straight away in tiddlywiki without saving/reloading the file in quine2. maybe someone has an appropriate suggestion? i tried soren's link in a recent discussion for refresh but didn't try eric's solution in the same thread
ok, so how it works:
you can make a tiddlywiki macro to insert the following based on the file location of the photo (or use a pythonista script etc., you can use anything that's appropriate e.g. gladys or another clipboard manager on ios)
show photo using (this is a relative path on the ios filesystem, relative to the open tiddlywiki) :
```
[img[photo/20181028 maki know abcd 2.jpg]]
```
[img[photo/20181028 maki know abcd 2.jpg]]
you'd expect this link to work for editing but it opens up in a read–only viewer:
[ext[photo/20181028 maki know abcd 2.jpg]]
link to edit this photo (assuming it lives in iCloud, using full path):
```
[ext[shareddocuments:///private/var/mobile/Library/Mobile%20Documents/com~apple~CloudDocs/books/00045/20201205makiaea-anwiki/photo/20181028%20maki%20know%20abcd%202.jpg]]
```
(opens in ios using files, can use apple pencil but only additively, remember to save using "done", note the conversion of spaces, which is why i would use pythonista as i know how to work the conversion, you could also use shortcuts as in the macstories source linked below, or just manually replace the spaces to start with, which is what i did for this example)
[ext[shareddocuments:///private/var/mobile/Library/Mobile%20Documents/com~apple~CloudDocs/books/00045/20201205makiaea-anwiki/photo/20181028%20maki%20know%20abcd%202.jpg]]
again, note that i had to save and reload tiddlywiki in my setup (quine2) after editing the photo to show the updated photo within tiddlywiki, if you have a different setup ymmv.
source: https://www.macstories.net/ios/fs-bookmarks-a-shortcut-to-reopen-files-and-folders-directly-in-the-files-app/
the shiraz plugin has some nice macros to format images
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
[[0000]] [[0001]] [[0002]] [[0003]] [[0004]] [[0005]] [[0006]] [[0007]] [[0008]] [[0009]]
[[0010]] [[0011]] [[0012]] [[0013]] [[0014]] [[0015]] [[0016]] [[0017]] [[0018]] [[0019]]
[[0020]] [[0021]] [[0022]] [[0023]] [[0024]] [[0025]] [[0026]] [[0027]] [[0028]] [[0029]]
[[0030]] [[0031]] [[0032]] [[0033]] [[0034]] [[0035]] [[0036]] [[0037]] [[0038]] [[0039]]
[[0040]] [[0041]] [[0042]] [[0043]] [[0044]] [[0045]] [[0046]] [[0047]] [[0048]] [[0049]]
[[0050]] [[0051]] [[0052]] [[0053]] [[0054]] [[0055]] [[0056]] [[0057]] [[0058]] [[0059]]
[[0060]] [[0061]] [[0062]] [[0063]] [[0064]] [[0065]] [[0066]] [[0067]] [[0068]] [[0069]]
[[0070]] [[0071]] [[0072]] [[0073]] [[0074]] [[0075]] [[0076]] [[0077]] [[0078]] [[0079]]
[[0080]] [[0081]] [[0082]] [[0083]] [[0084]] [[0085]] [[0086]] [[0087]] [[0088]] [[0089]]
[[0090]] [[0091]] [[0092]] [[0093]] [[0094]] [[0095]] [[0096]] [[0097]] [[0098]] [[0099]]
<$button style="width:20%;height:20px;border-color:transparent"><$action-sendmessage $message="tm-close-all-tiddlers"/><$action-setfield $tiddler="$:/state/sidebar" $value="no"/><<ifrecall "[!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}] +[has[title]] + [!is[current]sort[due]limit[1]]" ifyesrecall ifnorecall>>{{$:/state/tab/deck}}<br/>^^<$count filter="[!is[current]!days:due[-1]] [!is[current]days:due[0]] +[tag{$:/state/tab/deck}]"/>^^</$button> [[go to the index tiddler|index]]
<$count filter="[!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}]"/> cards due today, <$count filter="[days:due[1]!days:due[0]] +[tag{$:/state/tab/deck}]"/> due tomorrow
most recently modified tiddlers with the tag "{{$:/state/tab/deck}}"
<<list-links filter:"
[!is[system]has[modified]tag{$:/state/tab/deck}!sort[modified]limit[15]]" type:"ol">>
archive at [[makiaea.org|http://makiaea.org/00100]]
<iframe class=rich-iframe src="http://makiaea.org/00100" frameborder="0" width=100% height=1000vh allowfullscreen/>
“the most serious mistakes, those which warp completely the mental processes, destroy the soul, placing it outside the reach of truth and goodness, cannot be discerned. for they are caused by the fact that certain things escape the scrutiny of the mind. if they escape such scrutiny, how could they be scrutinised, however hard one were to try?”
^^simone weil, 1949, //l’enracinement// p216 (translated to english)^^
“les erreurs les plus graves, celles qui faussent toute la pensée, qui perdent l'âme, qui la mettent hors du vrai et du bien, sont indiscernables. Car elles ont pour cause le fait que certaines choses échappent à l'attention. Si elles échappent à l'attention, comment y ferait-on attention, quelque effort que l'on fasse?”
^^epub p446^^
[[craig morey|https://pixelthing.medium.com]]
[[working copy manual|https://workingcopyapp.com/manual]]
!!ithoughts export html to working copy
20190224 use share sheet from index file (00100) and “open in another app”, “website (.zip)”, save in working copy (you need to enable this the first time from the share sheet), unzip to repository, select repository
!!itmz to working copy
20190224 currently use files app to copy source files from ithoughts directory to working copy directory (select overwrite) nb you will need to enable the working copy app directory within the files app first
i am still doing this because i haven't yet committed to edit in place in working copy (which sounds more practical)
"""
in files, go to ithoughts directory in files app
sort files by date, most recent at top
tap and hold on topmost file, choose share
share to working copy
select repository makiaea.github.io, tap save as…
tap done on keyboard, tap popup line that says “enter a filename that is not in use or tap here to overwrite”
wait until change appears “x saved. consider committing right away, tap just save
scroll the file list up for each file processed so that they are hidden beyond the top of the visible files, leaving the next file to be done visible at the top
continue until app complains about low memory
go to working copy app, do commit x (itmz)
tap all button, wait until all changes to none, tap commit
repeat process above with all files that have change date up to 5th of last month (last update) OMIT files you do not want to be public
this is the only safe way i have found to overwrite the itmz files correctly
turn off “never” in auto screen lock settings
"""
modified 20210130 makiaea
add less sugar!
!!for yolks
"""
sugar 4 tablespoons
flour 12 tablespoons
baking powder 1 teaspoon
milk 8 tablespoons
egg yolks 4
"""
!!for whites
"""
egg whites 4
sugar 6 tablespoons
lemon juice 2 teaspoons
"""
"""
Whisk the egg yolk with the sugar until pale and frothy. Mix the milk in batches. Sift the flour and baking powder over the yolk mixture and whisk well making sure everything is incorporated.
Whip the egg whites with the lemon juice until frothy and pale, adding in the sugar in bit at a time until the whites are whipped into a glossy thick meringue that holds a peak. Be careful not to over whip.
Take 1/3 of the whipped egg whites and whisk it into the bowl with the yolks until completely incorporated. Add half of the remaining whites and whisk into the yolk batter, being careful not to deflate. Transfer the egg yolk mixture to the remaining egg whites, whisk and then use a spatula to fold together.
Heat up a large non stick frying (with a lid) pan over low heat. Very lightly brush with oil and use a paper towel to rub it around. You want a very light film. Using an ice cream scoop or measuring cup, scoop the batter onto the pan. Unless you have a very large pan with a lid, it’s probably best to make these two or even one to a pan. Scoop the batter onto the pan, cover and cook for 4-5 minutes. If you have a crepe maker or griddle with a lid that will cover the entire thing without touching the pancakes, use that on the lowest setting.
Remove the lid and add some more batter on top of each pancake. Cover and continue to cook for 4-5 more minutes. Lift the lid and use a spatula to gently peek under the pancake. The pancake should release easily – don’t force it.
If you still have any batter left, pile it on top of the pancakes and then gently flip. Cover and cook for 5-6 minutes. The pancakes will grow even taller and fluffier when they’re done.
Once the pancakes are golden and cooked through, gently remove and serve on a plate with powdered sugar, butter, whipped cream, and maple syrup. Enjoy immediately!
"""
original unmodified:
https://iamafoodblog.com/fluffy-japanese-pancakes-souffle-pancake-recipe/
[[jeremy|https://groups.google.com/g/tiddlywiki/c/kgy3L4-P_gE/m/Q0DQ3rAcAQAJ]] reports success in running node.js using jsbox and play.js
i wonder if jsbox's keyboard works like pythonista's? cannot seem to get it to work right in the trial version
[[saq's solution|https://groups.google.com/g/tiddlywiki/c/5MXgPUQf_5s/m/nP3Di8JCAAAJ]]
```
\define stateTid() state-tiddler
\define myTag() HelloThere
\define next()
<$vars currentTid={{{[<stateTid>get[text]]}}}>
<$action-setfield $tiddler=<<stateTid>> text={{{ [tag<myTag>after<currentTid>] ~[tag<myTag>first[]]}}} />
</$vars>
\end
\define previous()
<$vars currentTid={{{[<stateTid>get[text]]}}}>
<$action-setfield $tiddler=<<stateTid>> text={{{ [tag<myTag>before<currentTid>] ~[tag<myTag>last[]] }}} />
</$vars>
\end
<$keyboard key="right" actions=<<next>> >
<$keyboard key="left" actions=<<previous>> >
<div style="border:2px solid orange; padding:5px; min-height:128px" tabindex=1>
* Current tid: <$text text={{{ [<stateTid>get[text]] }}}>/>
</div>
</$keyboard>
</$keyboard>
<$list filter="[tag<myTag>]"/>
```
div.tc-tiddler-frame.activeTiddler {
border-left: 1px solid <<colour border>>;
}
<$details summary ="pitch">
f(high intro) <<f4>> d(start) <<d4>>
</$details>
<$details summary ="vocal and trumpet">
vocal and trumpet <iframe height="10px" width="40px" src="music/last holy war.m4a" frameborder="0"></iframe>
</$details>
30 latest changes within last day
<<list-links "[!is[system]days:modified[-1]!sort[modified]limit[30]]" type:"ol">>
intermediate: [[the book|https://github.com/kewapo/The-Book-Wiki]]
florian's [[digitale-selbstbestimmung|https://fkohrt.gitlab.io/digitale-selbstbestimmung]] (auf deutsch)
cooking using a stainless steel pan may be safest to prevent contamination from fluorine–based “non–stick” chemicals, but how do you make sure the food does not stick?
preheat the pan on medium for a few minutes, and the test with a small amount of water. if the pan has reached the right temperature, it will create a tiny cushion of vapour causing the whole mass to slide over the pan as one. this is called the leidenfrost effect
if it is too hot the mass will break into smaller beads. if it is not hot enough the water will simply boil and evaporate in place rather than sliding around as a mass
once at the right twmperature, coat thinly with oil, wait a few seconds for the oil to heat up, and then start cooking in the pan, protected by cushions of water vapour from sticking
note that cold ingredients straight from the refrigerator may reduce the temperature so much on adding to the pan that they will stick. if you can, let ingredients warm to room temperature before cooking, or else add on top of other ingredients that are already hot
//live a life worth living//
julie yip-williams 2018
https://lettersofnote.com/2021/03/01/live-a-life-worth-living/
sometimes i feel lonely that so few people understand the unknowable enough to talk about it, and frustrated that it is so difficult to get things done about it.
living close to reality means that people might think (or not, as the case may be) that you miraculously see or understand trends and events that they are slower to see or cannot yet see or know.
but it is not some special ability, it is just a normal consequence of living that way. it just seems different, because the consequences of living more blind to understanding, or more blinded by righteousness, or rather, just living more differently to most people, are more different.
{{mac for cats}}
reduce motion (accessibility display settings)
keyboard maestro set up shortcuts for switching between sublime text and tiddlydesktop
{{mac screen rotation}}
https://dev.to/xenoxdev/switching-back-to-my-old-buddy-sublime-text-from-vs-code-57mp
{{format mac ssd}}
!!mac for cats and kids
https://daringfireball.net/linked/2021/06/04/keyboardcleantool
!!mac screen rotation
the option in system preferences displays does not show on my macbook air 2010 catalina, force the screen rotation option by holding alt+cmd while opening system preferences, and holding alt+cmd when opening displays. note the trackpad is not remapped to the different orientation
\define againQuality() 0
\define hardQuality() 2
\define goodQuality() 4
\define easyQuality() 5
\define updateRecallCount()
IF(gt(<<quality>>,<<againQuality>>),{{!!recall}} + 1, 1)
\end
\define updateActions()
<!-- UPDATE question parameters -->
<$formula-vars ef=<<updateEaseFactor>>>
<$action-setfield $field="ef" $value=<<ef>>/>
<$formula-vars recall=<<updateRecallCount>>>
<$action-setfield $field="recall" $value=<<recall>>/>
<$formula-vars due=<<updateDueDate>>>
<$action-setfield $field="due" $value=<<due>>/>
</$formula-vars>
</$formula-vars>
</$formula-vars>
<$action-sendmessage $message="tm-close-tiddler"/>
<<nextCard>>
\end
[[eric explains filtered transclusion|https://groups.google.com/g/tiddlywiki/c/DQwwvsH4G3g/m/LU3pf8jaBgAJ]]
[[mark s explains macrocalls|https://groups.google.com/g/tiddlywiki/c/F6B-rzE_3LI/m/08H8TfwCAgAJ]]
when you have single word tiddlers, you need to remember NOT to use brackets in filters https://groups.google.com/g/tiddlywiki/c/G89ATyb-78o/m/EM1pPVAlBAAJ
saq: [[macro for 'if field exists then A else B else C'|https://groups.google.com/g/tiddlywiki/c/LphWzKmDq84]]
!![[eric|https://groups.google.com/g/tiddlywiki/c/ZChJGe4KVbo]]:
Within the body of a macro, only two things happen:
1) replace instances of ``$param$`` with the corresponding value passed as a macro parameter
2) replace instances of ``$(variable)$`` with the corresponding value from a variable defined outside the macro
Other than these two actions, the content of a macro is simply "returned" and is inserted in place of the macro call itself. The substituted content is then processed by the TWCore as if it had been directly entered where the macro occurred.
For example, if you define a macro like this:
```
\define makeimg(isbn) [img[https://covers.openlibrary.org/b/isbn/$isbn$-M.jpg]]
```
and then invoke that macro like this:
``<<makeimg "foo">>``
the resulting content will be
``[img[https://covers.openlibrary.org/b/isbn/foo-M.jpg]]``
Note that the parameter passed to the "makeimg" macro is literal text, so it's just enclosed in simple quotes. However, for your desired use-case, you want the parameter value to be retrieved from a tiddler field. You might think to try writing: ``<<makeimg {{!!isbn}}>>``. Unfortunately, this won't work, because the ``<<macroname ...>>`` syntax doesn't directly handle the use of ``{{!!fieldname}}`` for specifying the parameter value. Fortunately, there is another way to invoke a macro, by using the ``<$macrocall .../>`` *widget* syntax, which DOES allow use of ``{{!!fieldname}}`` references to specify parameter values. Thus, to achieve your goal, you can write:
``<$macrocall $name="makeimg" isbn={{!!isbn}} />``
When the above ``$macrocall`` is processed, the value stored in the tiddler field is retrieved and passed into the macro for substitution processing. The resulting syntax is then "returned" and inserted in place of the ``<$macrocall .../>`` syntax, which is then processed by the TWCore to render the image.
Alternatively, instead of passing the field value as a parameter, you could retrieve the value as a *variable* before invoking the macro, and then reference that variable within the body of the macro definition, like this:
```
\define makeimg() [img[https://covers.openlibrary.org/b/isbn/$(isbn)$-M.jpg]]
```
which would be invoked like this:
``<$vars isbn={{!!isbn}}> <<makeimg>> </$vars>``
Using either method, the result is the same: the value from the tiddler field is used to construct the desired URL for the ``[img[...]]`` syntax.
[[simulated cat coworker|https://hostrider.com]]
[[accessible shoes|https://www.theverge.com/tldr/2021/2/1/22260179/nike-go-flyease-shoes-hands-free-pricing-release-day]]
[[eric's keyboard shortcut instructions|https://groups.google.com/g/tiddlywiki/c/8f-uxPf4W7w/m/mG1DhyrKAQAJ]] note that you need to save and reload after setup before it will work
also, i would recommend setting the shortcut keypress combination from the control panel once you are done, as, for example, some keys are strange on the ipad bluetooth keyboard (what you think is ctrl-shift-alt-H is actually ctrl-shift-alt-Backspace)
https://www.worldofwolf.co.uk
https://www.midlandladders.com/little-giant-telescopic-work-plank
https://buildbrighton.com/
//peripheral visions//
mary catherine bateson 1994
we seek joy and connnection because that is what our cultures encourage us to value, yet finding them is considered difficult, miraculous even. this is not because of every person’s personal failure, it is because the system is a trap.
by encouraging us to depend on something that is made rare, we become easily manipulable. the tragedy is that joy and connection need not be rare at all, we are tricked into believing they are so, and so they become rare //because we believe they are rare//.
our cultural world is almost entirely myth. basing our lives on myth leads to tragedy, so that might be one reason for us to try to find reality
archive at makiaea.org/[[00089|http://makiaea.org/00089]]
<$button style="width:20%;height:20px;border-color:transparent"><$action-sendmessage $message="tm-close-all-tiddlers"/><$action-setfield $tiddler="$:/state/sidebar" $value="no"/><<ifrecall "[!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}] +[has[title]] + [!is[current]sort[due]limit[1]]" ifyesrecall ifnorecall>>{{$:/state/tab/deck}}<br/>^^<$count filter="[!is[current]!days:due[-1]] [!is[current]days:due[0]] +[tag{$:/state/tab/deck}]"/>^^</$button> [[go to the myth tiddler|myth]]
<$count filter="[!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}]"/> cards due today, <$count filter="[days:due[1]!days:due[0]] +[tag{$:/state/tab/deck}]"/> due tomorrow
most recently modified tiddlers with the tag "{{$:/state/tab/deck}}"
<<list-links filter:"
[has[modified]tag{$:/state/tab/deck}!sort[modified]limit[15]]" type:"ol">>
20210529 [[opendns|https://www.opendns.com/setupguide/#familyshield]] to block indecent sites 208.67.222.123 208.67.220.123
[[pi-hole|https://pi-hole.net]] dns to block user-chosen blacklisted sites
\define easyButtonActions()
<<tsliderclose decks>>
<$action-setfield $field="quality" $value=<<easyQuality>>/>
<$set name="quality" value=<<easyQuality>>>
<<updateActions>>
</$set>
\end
\define hardButtonActions()
<<tsliderclose decks>>
<$action-setfield $field="quality" $value=<<hardQuality>>/>
<$set name="quality" value=<<hardQuality>>>
<<updateActions>>
<$action-setfield $field="recall" $value="1"/>
</$set>
\end
\define updateEaseFactor(quality:<<quality>> againQuality:<<againQuality>> ef:{{!!ef}})
IF(gt($quality$,$againQuality$), clamp($ef$-0.8+0.28*$quality$-0.02*$quality$*$quality$,1.3,2.5), $ef$)
\end
\define updateDueDate()
to_tw_date(add_days(now(),{{!!recall}}*{{!!ef}}*<<ef>>+randbetween(0,2)))
\end
\define newupdateActions()
<$wikify name=ef2 text="""<$macrocall $name=updateEaseFactor quality=<<quality>> againQuality=<<againQuality>> ef={{!!ef}}/>""" >
<$action-setfield $field="ef" $value=<<ef2>>/>
<$wikify name=recall2 text="""<$macrocall $name=updateRecallCount />""" >
<$action-setfield $field="recall" $value=<<recall2>>/>
<$wikify name=due2 text="""<$macrocall $name=updateDueDate />""" >
<$action-setfield $field="due" $value=<<due2>>/>
</$wikify>
</$wikify>
</$wikify>
<$action-sendmessage $message="tm-close-tiddler"/>
<<nextCard>>
\end
\define nextCard()
<<ifrecall "[!days:due[-1]] [days:due[0]] +[has[title]] +[tag{$:/state/tab/deck}] +[!is[current]sort[due]limit[1]]" ifyesrecall ifnorecall>>
\end
\define ifrecall(filter,ifyesrecall,ifnorecall)
<$list filter={{{$filter$}}} name=act emptyMessage=<<$ifnorecall$>>>
<<$ifyesrecall$>>
</$list>
\end
\define ifyesrecall()
<$action-navigate $to={{{ [!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}] +[sort[due]limit[1]] }}} />
\end
\define ifnorecall()
<$action-sendmessage $message="tm-new-tiddler" tags={{$:/state/tab/deck}} text="" ef=2.5 quality=5/>
\end
\define deck()
<$text text={{$:/state/tab/deck}}/>
\end
\define .link-badge(text,link,colour)
<a href=<<__link__>> class="doc-link-badge" style="color:$colour$; border:$colour$ 1px solid;" target="_blank" rel="noopener noreferrer"><$text text=<<__text__>>/></a>
\end
\define .link-badge-add(link,colour:#ffe246) <<.link-badge "add" """$link$""" """$colour$""">>
\define .link-badge-change(link,colour:#fcc84a) <<.link-badge "change" """$link$""" """$colour$""">>
\define .link-badge-extend(link,colour:#f9a344) <<.link-badge "extend" """$link$""" """$colour$""">>
\define .link-badge-fix(link,colour:#ffa86d) <<.link-badge "fix" """$link$""" """$colour$""">>
\define .link-badge-cantfix(link,colour:#d88e63) <<.link-badge "can’t fix" """$link$""" """$colour$""">>
\define .link-badge-workaround(link,colour:#9d959f) <<.link-badge "workaround" """$link$""" """$colour$""">>
\define .link-badge-improve(link,colour:#7593c7) <<.link-badge "improve" """$link$""" """$colour$""">>
\define .link-badge-modify(link,colour:#7f99c9) <<.link-badge "modify" """$link$""" """$colour$""">>
\define .link-badge-remove(link,colour:#a9aabc) <<.link-badge "remove" """$link$""" """$colour$""">>
\define .link-badge-rename(link,colour:#b4b995) <<.link-badge "rename" """$link$""" """$colour$""">>
\define .link-badge-update(link,colour:#91ba66) <<.link-badge "update" """$link$""" """$colour$""">>
\define cl(text)
<span class=cloze><<__text__>></span>
\end
caring for the world, we help those who come next
it is possible to [[install node.js using ish|https://2ality.com/2020/10/ish-node-ios.html]] but as of 2020 too slow to use on my old devices
!jeremy's [[guide to node.js on play.js|https://groups.google.com/g/tiddlywiki/c/V0mQdPFR8Wg]]
(thank you jeremy!) copied below<br/>
,,1min26s //install tiddlywiki on ios with node.js and play.js// also at [[youtube|https://youtu.be/JH9_Xc2iCag]],,<br/>
<iframe width="277px" height="600px" src="video/20201213 install tiddlywiki on ios with node.js and play.js.mp4" frameborder="0" type="video/mp4" controls></iframe>
"""
1. Create a new project in Play.js, with the type set to “Node.js”
2. Play.js will open a file called “index.js” in the root. Paste the following content:
"""
!!index.js
```js
var path = require("path");
var $tw = require("./node_modules/tiddlywiki/boot/boot.js").TiddlyWiki();
bootTW();
function bootTW() {
// Pass the command line arguments to the boot kernel
$tw.boot.argv = Array.prototype.slice.call(process.argv,2);
$tw.boot.argv = [path.resolve(process.cwd(),"./wiki"),"--listen"];
// Boot the TW5 app
$tw.boot.boot(function() {
// console.log($tw.boot)
});
}
```
3. Click the “files” button at the top of the sidebar on the left. Choose the file called “package.json” and add a reference to TiddlyWiki:
!!package.json
```json
{
"name": "My Wiki",
"version": "1.0.0",
"dependencies": {
"tiddlywiki": "^5.1.22"
}
}
```
"""
4. Click the “scripts” button at the bottom left that reads “$ default: node index.js”
5. Tap “Install” in the “Scripts” dialogue that appears
6. Tap the “Resolve modules” button on the “Dependencies” dialogue that appears
7. Tap “Resolve” on the “Resolve modules” dialogue that appears
8. A bunch of text should appear, wait until you see “found 0 vulnerabilities”, then you can click “back” and then “X” to back out of the dialogues
9. Create a folder called “wiki” in the root
10. Within that folder, create a file called “tiddlywiki.info” containing:
"""
!!tiddlywiki.info
```js
{
"description": "My great wiki",
"plugins": [
"tiddlywiki/filesystem",
"tiddlywiki/tiddlyweb"
],
"themes": [
"tiddlywiki/vanilla",
"tiddlywiki/snowwhite"
]
}
```
"""
11. Click the “scripts” button again, but this time choose “Default”
12. Click the “play” button at the bottom left
13. Click the globe button to open the web browser
14. Change the URL to http://localhost:8080/ and reload
You should now have a functioning wiki. When you’re done, close the browser and click the “stop” button
"""
!!20201213 maki’s additional notes
once you're comfortable with the process, try in step 1, creating the project in an icloud file instead (by default it is created on your local device)
!!ramen from pasta
with [[baking soda|https://www.seriouseats.com/2014/10/baking-soda-ramen-noodle-spaghetti-hack.html]]
!!ramen from bread flour
with [[baked baking soda|https://www.seriouseats.com/2018/11/the-ultimate-guide-to-making-ramen-noodles-at-home.html]]
[[way of ramen|https://youtube.com/watch?v=QFgF-SN-7yk]]
!!hand pulled noodles
https://youtube.com/watch?v=Y8byaOEKWa8
instrumental <iframe height="10px" width="40px" src="music/20210710 oblivion instrumental.mp3" frameborder="0"></iframe>
```
rewritten 20210710 makiaea
```
"""
brave new world of man
created with our hands
watch it slip away
a tiny grain of sand
think of the sweat and tears
think of the wasted years
does it make you sad
to think of all we had
no more time for laughter
no more time for sorrow
no more morning after
’cause there’s no tomorrow now
we stand on the edge of oblivion
★farewell avalon
as it fades into the dawn
on the final countdown to oblivion
farewell avalon
as the sacred fires burn
in the end we all return
to oblivion
have we really come this far
just to watch it fall apart
now we face defeat
it tastes so bittersweet
bow to the hand of fate
curse the gods but it’s too late
from dust to dust
there’s nothing left for us
no more time for honour
no more time for glory
no more time for heroes
this is armageddon now
we stand on the edge of oblivion
★repeat
soon we’ll know the power of prophecy
as we approach the hour of destiny
no way to stop the tide
nowhere to run and hide
from oblivion
★repeat
"""
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
//folding structures: developing a new method using the principles of origami and cnc milling//
sjoerd van greevenbroek 2018
[[delft|https://repository.tudelft.nl/islandora/object/uuid:430c33c4-b477-49a4-84a4-1d0a98440f72/datastream/OBJ1/download]]
robert wańkowski 2020 [[spinning rounded rod|https://m.youtube.com/watch?v=ofS_ILse130]]
violin [[高松あい|https://m.youtube.com/watch?v=_Ab8_rOJxY8]] <iframe height="10px" width="40px" src="music/20210729 part of your world - 高松あいviolin.m4a" frameborder="0"></iframe>
[[simone weber|https://youtu.be/k26tV8QUtYI]] <iframe height="10px" width="40px" src="music/20210722 pegasus fantasy espanol.m4a" frameborder="0"></iframe> c
[[maki oyama|https://youtu.be/oiFuj1GYChI]] <iframe height="10px" width="40px" src="music/20210606 pegasus fantasy MAKE-UP (cover).m4a" frameborder="0"></iframe> d#
[[struts instrumental|https://youtu.be/YdEaxVn9OLs]]
!templates
"""
macros in [[perfect pitch macros]]
download [[source audio files|https://github.com/makiaea/makiaea.github.io/tree/master/00045]], place them in a folder appropriate for your tiddlywiki's file storage system (e.g. i used a "piano" folder in icloud using quine2)
<<c4>>c4
<<cs4>>cs4
<<d4>>d4
<<ds4>>ds4
<<e4>>e4
<<f4>>f4
<<fs4>>fs4
<<g4>>g4
<<gs4>>gs4
<<a4>>a4
<<as4>>as4
<<b4>>b4
"""
\define c4()
<iframe height="10px" width="40px" src="piano/C4.mp3" frameborder="0"></iframe>
\end
\define cs4()
<iframe height="10px" width="40px" src="piano/Cs4.mp3" frameborder="0"></iframe>
\end
\define d4()
<iframe height="10px" width="40px" src="piano/D4.mp3" frameborder="0"></iframe>
\end
\define ds4()
<iframe height="10px" width="40px" src="piano/Ds4.mp3" frameborder="0"></iframe>
\end
\define e4()
<iframe height="10px" width="40px" src="piano/E4.mp3" frameborder="0"></iframe>
\end
\define f4()
<iframe height="10px" width="40px" src="piano/F4.mp3" frameborder="0"></iframe>
\end
\define fs4()
<iframe height="10px" width="40px" src="piano/Fs4.mp3" frameborder="0"></iframe>
\end
\define g4()
<iframe height="10px" width="40px" src="piano/G4.mp3" frameborder="0"></iframe>
\end
\define gs4()
<iframe height="10px" width="40px" src="piano/Gs4.mp3" frameborder="0"></iframe>
\end
\define a4()
<iframe height="10px" width="40px" src="piano/A4.mp3" frameborder="0"></iframe>
\end
\define as4()
<iframe height="10px" width="40px" src="piano/As4.mp3" frameborder="0"></iframe>
\end
\define b4()
<iframe height="10px" width="40px" src="piano/B4.mp3" frameborder="0"></iframe>
\end
ssh into ip address using saved credentials
pihole -up
exit
well–meaning advice and help can only get you so far. you need to get your own //feel// for what changes to make as you adapt to different conditions. there is no such thing as a safe, risk–free environment — it is a good idea to take precautions, but paradoxically, beyond a certain level, taking too many precautions become (unbeknownst to us) self–defeating. by the time we realise our behaviour has becone self–defeating, it is already beyond the point where it has been so.
<$details summary ="pitch">
[[prom queen]] <<as4>> a#
</$details>
<$details summary ="molly kate kestner">
molly kate kestner <iframe height="10px" width="40px" src="lena/music/20210425prom queen-molly kate kestner.m4a" frameborder="0"></iframe>
</$details>
"""
★god save the prom queen / teenage daydream
just another dressed–up heartbreak
god save the prom queen / only eighteen
turned her tears to diamonds in her crown
she’s the first in line at the party / she’s the first in line at the club
and she’s got that body / always gotta flaunt it / everybody’s looking up
when she walks by you wanna be her / and your boyfriend pretends not to see her
’cause she’s got that fire / doesn’t even try / her booty has its own zip code
all the peasants bow down
★repeat
take a look at the future / who knows what’s ahead?
there’s a house on a hill / with an indoor pool / and a millionaire in her bed
and the years go by and she still dreams / she’s the hottest girl in town
and the makeup’s stronger / gotta wear it longer / just to keep a man around
★repeat
diamonds in her crown
and she lives her dreams / through the magazines
and her daddy’s gone / and she needs someone
and she’s got the looks / and the boys on hooks
but she’ll trade it all / for a heart that’s whole
god save the prom queen / oh / god save the prom queen / oh
god save the prom queen / teenage daydream
god save the prom queen / she turned her tears / she turned her tears / to diamonds in her crown
"""
<iframe width="277px" height="600px" src="video/20210122 quine 2 enlarge screen.MP4" frameborder="0" type="video/mp4" controls></iframe>
.tc-tiddler-frame, .tc-story-river, .tc-sidebar-scrollable {
padding: 0% 0.5% 0% 0.5% !important;
}
.tc-tiddler-title {
padding: 0px 10px 0px 0px !important;
}
.tc-image-chevron-right, .tc-image-chevron-left {
fill: #222 !important;
}
.commandpalette {
top: 2% !important;
width: 75% !important;
box-shadow: orange 0px 0px 14px !important;
}
.tc-reveal p {margin: 0.0em 0em 0.3em 0em !important;}
.tc-reveal h1, .tc-reveal h2 {margin: 0.7em 0em 0.1em 0em !important;}
[data-tags*="recall"] div.tc-subtitle, [data-tags*="recall"] div.tc-tags-wrapper, [data-tags*="sing"] div.tc-subtitle, [data-tags*="sing"] div.tc-tags-wrapper, [data-tags*="yin"] div.tc-subtitle, [data-tags*="yin"] div.tc-tags-wrapper, [data-tags*="eat"] div.tc-subtitle, [data-tags*="eat"] div.tc-tags-wrapper, [data-tags*="myth"] div.tc-subtitle, [data-tags*="myth"] div.tc-tags-wrapper, [data-tags*="real"] div.tc-subtitle, [data-tags*="real"] div.tc-tags-wrapper, [data-tags*="index"] div.tc-subtitle, [data-tags*="index"] div.tc-tags-wrapper {display:none}
[data-tags*="indexcard"] p {font-size:0.8em}
p.answer {
background-color: <<color background>>;
color: <<color background>>;
}
.cloze {
border-bottom:1px solid <<color border>>;
color:transparent;
}
/*
But if the mouse points to it, it will be shown.
*/
p.answer:hover {
background-color: inherit;
color: inherit;
}
.cloze:hover {
background-color: inherit;
color: inherit;
}
.tc-reveal h1:after, .tc-reveal h2:after {
display: block;
border-bottom: 1px solid <<color border>>;
content: "";
position: absolute;
bottom: -1px;
left: 0px;
width:100%;
}
.doc-link-badge { text-decoration: none; padding: 0px 4px; border-radius: 10px; opacity: 70%;}
.doc-link-badge:hover { text-decoration: underline; }
.target-css-class { border-top: 1px solid <<color border>>; }
.tc-editor-toolbar {
position: -webkit-sticky;
position: -moz-sticky;
position: -o-sticky;
position: -ms-sticky;
position: sticky;
top: 10px;
background: <<color background>>;
z-index: 500;
}
[data-tags*="index"] .tc-edit-texteditor, [data-tags*="index"] .tc-edit-texteditor-body {
caret-color: <<color border>>;
caret-opacity: 0;
}
when we lose the ability to face reality, we lose the ability to face the future and the past, and thus become reactionary, an obstacle.
!!introduction
spaced-recall, to train nearly effortless long-term memory recall, using a 20210106 mobile interface built on a simplified version of diego and simon's [[anwiki|https://groups.google.com/g/tiddlywiki/c/dpwy2ZnsQgg/m/7GQCceoJHAAJ]] from 20180412 and jeremy's tiddlywiki 5.1.23
,,30s //showing cloning// also at [[youtube|https://youtu.be/RNp82P5FQmM]],,
<iframe width="277px" height="600px" src="video/20201205 makiaea-anwiki clone card from anki sent to youtube.mp4" frameborder="0" type="video/mp4" controls></iframe>
with this, you can train anything, even [[perfect pitch]] (music); the video above shows learning cantonese with the quine 2 app on an iphone with icloud, and a few pythonista python scripts running basic regex substitutions on the clipboard text when creating cards based on language data originally from cantodict
note it is recommended to use links to files in icloud folders rather than copying media into the tiddlywiki itself
the customised buttons are for easy/hard/easy as i tend to use only those choices, please modify to your taste. in SM-2, for q=4 the E-Factor does not change, which makes sense for my binary use (easy/hard) as we really just want two simple options at recall: raise the interval, or lower it. how much we should change the interval is supposed to be taken care of by the algorithm
the easiest way to use this on ios is to purchase quine 2, download the latest version of the makiaea-anwiki file from (save the file) http://makiaea.org/00045/20201205makiaea-base to your icloud, put it in your anwiki icloud folder, and clone new flashcards from the "for cloning" tiddler. alternatively, just try out this file http://makiaea.org/00045/20201205makiaea-anwiki , which includes a working system for cantonese, in your browser to see if you like it, and explore other projects that use tiddlywiki. for the adventurous, you can [[install via node.js on ios|node.js on ios]]
the spaced-repetition algorithm is altered from the 2018 anwiki, an approximate [[SM-2|SM-2 algorithm]]
!! Main Components
the oldest due card will show when you use the recall button , tapping above the separator shows the answer, and you can also immediately answer easy/hard by swiping right/left below the separator. When you select an answer, the fields of the current card will be updated and you will automatically move on to the next oldest due card.
each question is rendered, and its fields updated based on your answer according to [[Card Template swipe]].
the spaced-recognition algorithms are in [[Macros]] and [[new macros]]
for methods of saving your data, please see https://tiddlywiki.com . for ios i would recommend saving using quine2 for those new to tiddlywiki or coding
you can [[toggle tap and swipe]] for answering
you can cloze individual phrases like <<cl "this phrase">> or for individual words, <<cl this>>
you can hide entire paragraphs until tapped like this:
@@.answer
"""
showing the entire paragraph
poetry–style breaks on each line
"""
@@
you can [[enlarge the screen|quine 2 enlarge screen]] in quine2
<$button style="width:20%;height:20px;border-color:transparent"><$action-sendmessage $message="tm-close-all-tiddlers"/><$action-setfield $tiddler="$:/state/sidebar" $value="no"/><<ifrecall "[!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}] +[has[title]] + [!is[current]sort[due]limit[1]]" ifyesrecall ifnorecall>>{{$:/state/tab/deck}}<br/>^^<$count filter="[!is[current]!days:due[-1]] [!is[current]days:due[0]] +[tag{$:/state/tab/deck}]"/>^^</$button> [[go to the real tiddler|real]]
<$count filter="[!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}]"/> cards due today, <$count filter="[days:due[1]!days:due[0]] +[tag{$:/state/tab/deck}]"/> due tomorrow
most recently modified tiddlers with the tag "{{$:/state/tab/deck}}"
<<list-links filter:"
[has[modified]tag{$:/state/tab/deck}!sort[modified]limit[15]]" type:"ol">>
<$button style="width:20%;height:20px;border-color:transparent"><$action-sendmessage $message="tm-close-all-tiddlers"/><$action-setfield $tiddler="$:/state/sidebar" $value="no"/><<ifrecall "[!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}] +[has[title]] + [!is[current]sort[due]limit[1]]" ifyesrecall ifnorecall>>{{$:/state/tab/deck}}<br/>^^<$count filter="[!is[current]!days:due[-1]] [!is[current]days:due[0]] +[tag{$:/state/tab/deck}]"/>^^</$button> [[go to the recall tiddler|recall]]
<$count filter="[!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}]"/> cards due today, <$count filter="[days:due[1]!days:due[0]] +[tag{$:/state/tab/deck}]"/> due tomorrow
most recently modified tiddlers with the tag "{{$:/state/tab/deck}}"
<<list-links filter:"
[!is[system]has[modified]tag{$:/state/tab/deck}!sort[modified]limit[15]]" type:"ol">>
[[高松あい|https://m.youtube.com/watch?v=RmYjikmPUR4]] <iframe height="10px" width="40px" src="music/20210729 remember me 高松あい violin.m4a" frameborder="0"></iframe>
!!possible directions
<<.link-badge-add >> automate toggle between swipe and tap answer interfaces, create sr settings tiddler
<<.link-badge-add >> implement personal algorithm using just tiddlywiki core without anwiki-required plugins
!!completed
20210725 <<.link-badge-add >> [[mousetrap|https://welford.github.io/#%24%3A%2Fplugins%2Fwelford%2Ftwmousetrap]] with command palette to activate with a single keypress
modify $:/plugins/welford/twmousetrap/example.js or $:/plugins/fastfreddy/twmousetrap/example.js if using fred’s modified version
```js
$tw.Mousetrap.bind("/",
function() {
$tw.rootWidget.invokeActionString('<$action-sendmessage $message="open-command-palette"/>',$tw.rootWidget);
},
"keyup"
);
```
https://groups.google.com/g/tiddlywiki/c/-xTFWPwzq6g
20210627 <<.link-badge-add >> installed streams to more easily edit long tiddlers such as [[changelog]]
<<.link-badge-modify >> streams config keyboard shortcuts: moved tab from indent to close and save, added shift-z to close and save
<<.link-badge-add >> streams button to flatten a specified stream (we need to modify var MyTiddler to title of stream) in [[test streams export button]] as per [[streams documentation|https://saqimtiaz.github.io/streams/#Working%20with%20streams%20tiddlers]]
<<.link-badge-modify >> modify streams config to only use streams when tiddler is tagged "stream", modify swipe threshold to 30px, modify swipe menu to open on left
```
[!is[shadow]tag[stream]]
```
20210704 <<.link-badge-modify >> $:/plugins/sq/streams/styles
```
.stream-root {
margin-left: -1.5em;
}
```
from -2.5em to better fit makiaea css on desktop (furthest left collapse handles were off screen on desktop)
```
.stream-row-children { display:flex; flex: 0 0 auto; flex-direction: column; /*padding-left: 0.5em;*/ border-left: 1px solid #000; margin-left: 10px; }
```
from margin-left: 30px to give less indent (better for mobile screen size
NB will need to make same modification when update streams if overwrite the modified shadow tiddler
20210715 note small [[bug|https://github.com/saqimtiaz/streams/issues/24]] in streams (actually the browser interaction) can delete last character from previous tiddler when merging with previous tiddler on ios 14.3 ; you can use the three finger swipe to left to undo that last delete of the character
<<.link-badge-add >>
20210627
add $:/SplashScreen as per [[tiddlywiki.com guide|https://tiddlywiki.com/#Creating%20a%20splash%20screen]]
<<.link-badge-modify >> 20210522 $:/plugins/telmiger/details/colours.css uses the theme colours so modify $:/palettes/Makiaea line:
```css
dropdown-tab-background: <<colour border>>
```
<<.link-badge-add >> 20210522 installed [[detailswidget|https://tid.li/tw5/plugins.html]]
<<.link-badge-modify >> 20210305 testing non-flashing cursor by using
```css
caret-color: transparent;
```
however this really depends on using touch to establish the cursor location, so not great on desktop. perhaps try
```css
caret-color: <<colour border>>;
```
as am using this to "hide" the elements when on lowest brightness on mobile, where the contrast is too low on my screen for the elements to show up at that brightness level. currently using by tag
```css
[data-tags*="index"] .tc-edit-texteditor, [data-tags*="index"] .tc-edit-texteditor-body {
caret-color: <<color border>>;
}
```
in quiz2.css to "hide" the cursor only for tiddlers tagged with "index", but really should make it a toggle so that it can be easily switched on and off; although the flashing of the coloured cursor is still a little bit evident because it shadows the current letter a little bit, and is also more visible on a brighter screen setting
<<.link-badge-modify >> 20210217 keyboard-navigation.css
```css
div.tc-tiddler-frame.activeTiddler {
border-left: 1px solid <<colour border>>;
}
```
<<.link-badge-remove >> 20210627 removed module <<.link-badge-add >> 20210215 add module [[tw5-keyboard-navigation-plugin|https://maximilian-schillinger.de/tw5-keyboard-navigation-plugin.html]]
<<.link-badge-modify >> 20210211 shift–z as a keyboard shortcut to save tiddler and close editor. when used alongside tab for the same function in pythonista keyboard, this allows quick closing of tiddlers from both main keyboards without reaching for the close button on screen
<<.link-badge-modify >> 20210206 control panel settings, navigation address bar, include target tiddler; navigation history, update history
<<.link-badge-modify >> 20210206 control panel, appearance, toolbars, editor toolbar; hide most icons into dropdown (but not all as it exceeds page length and cannot scroll the list on small mobile screens)
20210726 <<.link-badge-remove >> hide editor toolbar as using this setting makes card editing slightly more difficult (next field arrow does not move directly from title to main body) <<.link-badge-modify >> 20210206 show editor toolbar by toggling on $:/core/ui/ControlPanel/Settings/EditorToolbar and add css to sticky the editor toolbar in [[quiz.css]] NOTE this makes the TAB to save tiddler NO LONGER dismiss the keyboard (which may be useful in some cases)
20210429 update: for mobile safari at least tapping just outside the editor area brings the toolbar back onscreen (once you have it stickied in css and then after editing it seems to scroll offscreen)
```css
.tc-editor-toolbar {
position: -webkit-sticky;
position: -moz-sticky;
position: -o-sticky;
position: -ms-sticky;
position: sticky;
top: 10px;
background: ``<<colour tiddler-background>>``;
z-index: 500;
size:0.5em;
}
```
<<.link-badge-modify >> 20210201 deleted modified subtitle and tags shadow tiddlers to enable them showing in normal tiddler view: $:/core/ui/ViewTemplate/subtitle $:/core/ui/ViewTemplate/tags
//and instead// hide tags and subtitles using css for a set of tags (e.g. recall below) https://tiddlywiki.com/#How%20to%20apply%20custom%20styles
```css
[data-tags*="recall"] div.tc-subtitle, [data-tags*="recall"] div.tc-tags-wrapper {display:none}
```
<<.link-badge-fix >> 20210120 [[5004]] milkyway2 save bug fixed by removing milkyway2 and dependencies
<<.link-badge-modify >> 20210120 [[uglify|https://groups.google.com/g/tiddlywiki/c/-kIVw00crRQ]] compression applied to reduce file size from 4.9MB to 3.7MB. pre-uglify version retained in milestones folder for future import
<<.link-badge-modify >> 20210118 [[Set Font]] to set weight for em
```css
em {
font-family: "Open Sans italic", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
font-weight: 300;
}
```
<<.link-badge-add >> 20210117 syntax highlighting [[plugin by mohammad|http://kookma.webfonts.tiddlyspot.com]]
<<.link-badge-add >> 20210117 opensans webfont [[package by mohammad|http://kookma.webfonts.tiddlyspot.com]] and [[Set Font]]
<<.link-badge-add >> 20210111 css macro added for cloze phrases like this <<cl "which is clozed">>
<<.link-badge-add >> 20210107 video for changing answer interface [[toggle tap and swipe]]
<<.link-badge-modify >> 20210107 abstract algorithm in card template so that we can have multiple card templates using different algorithms for different tasks
<<.link-badge-remove >> 20210627 removed module <<.link-badge-add >> 20210104 burningtree's [[hammer widgets|http://hammerwidgets.tiddlyspot.com]] and jorik's $:/plugins/tiddlywiki/hammerjs added
<<.link-badge-modify >> 20210104 default $:/plugins/BurningTree/hammerwidgets/widgets/swipe.js modified to change ``direction: Hammer.DIRECTION_ALL`` to ``direction: Hammer.DIRECTION_HORIZONTAL`` in order to set swipe capture to horizontal only. this allows us to scroll normally
20210726 <<.link-badge-modify >> tap set to active <<.link-badge-add >> 20210104 card template split into [[Card Template tap]] and [[Card Template swipe]] default swipe left hard swipe right easy. swipe is currently set as active, by adding a tag $:/tags/ViewTemplate to that tiddler
<<.link-badge-add >> 20210104 [[markdown plugin|$:/plugins/tiddlywiki/markdown]] installed
<<.link-badge-add >> 20210103 [[slider reveal]] used for decks in [[top of story]]
<<.link-badge-modify >> 20210103 Tiddler Opening Behaviour: Navigation from within the story river: open at top of story river
<<.link-badge-modify >> 20210103
[[$:/plugins/souk21/commandpalette/Recent Tiddlers Command]]
from ``[!is[system]!sort[created]search[]]`` to
``[!is[system]!sort[modified]search[]]``
20210725 <<.link-badge-remove >> disabled <<.link-badge-extend "https://groups.google.com/g/tiddlywiki/c/kpgWMO8NO6Q/m/HumrQYaGAgAJ">> 20210102 lin onetwo's [[copy on select]] script installed, modified for touch
<<.link-badge-add "https://github.com/flibbles/tw5-relink">> 20210101 installed [[relink|https://github.com/flibbles/tw5-relink]] and relink titles
<<.link-badge-change >> 20201230 changed $:/config/Search/MinLength to 1 to accomodate unicode character searching
<<.link-badge-add >> 20201229 now possible to have the same card in two different "decks", as the review and next card process is set by the currently chosen deck
<<.link-badge-add >> 20201229 the "deck" feature is done by setting the card template's open-next-card button filter to a certain tag e.g. cantonese, or japanese, and adding new cards that have their starting tags set by the state tiddler that stores the current deck name
<<.link-badge-workaround >> 20201226 css bug in text selection highlighting, found on iphone x ios13 only (not ipad 12.9 ios14), when controlpanel|info|basics|default focus view for new tiddlers is set to text, the highlighting in the tiddler does not show visually on initial edit, although it is working otherwise. workaround, tap in bottom right corner of text box reliably shows the highlighting again.
<<.link-badge-remove >> 20210627 removed tiddler commander; 20201222 <<.link-badge-add >> installed [[tiddler commander|https://github.com/kookma/TW-Commander]]
20201222 <<.link-badge-add >> installed [[command palette]] [[source|https://github.com/Souk21/TW-commandpalette]], [[groups announcement|https://groups.google.com/g/tiddlywiki/c/09Ful62YG1g/m/2TPSJWCqAgAJ]]
customise command palette for mobile
see [[quiz.css]]
<<.link-badge-workaround >> 20201222 intermittent ipad browser render bug? not due to original tiddlywiki. in ipad sidebar, my css for tiddlers is overlapping left edge of sidebar, sometimes the far left side of sidebar cannot be used — padding? tried css temporary workaround set $:/themes/tiddlywiki/vanilla/metrics/storywidth to 700px from 770px
<<.link-badge-fix >> 20201220 anwiki (at least the version i can access) does not appear to use the [[SM-2 algorithm]], now patched with approximation
<<.link-badge-remove >> 20201220 condition plugin removed as using css to display answer on tap/mouseover
<<.link-badge-fix >> 20201220 recall button now uses tiddlywiki core filter limit instead of old anwiki code, eliminating delay when many cards are due
<<.link-badge-modify >> modified [[quiz.css]] to shrink padding
<<.link-badge-add >> import plugin [[click2edit|$:/plugins/danielo515/2click2edit]] plugin
<<.link-badge-modify >> move tags section below content section by moving $:/core/ui/EditTemplate/tags in the field list for $:/tags/EditTemplate i.e. edit $:/tags/EditTemplate and edit the list, moving $:/core/ui/EditTemplate/title and $:/core/ui/EditTemplate/tags after $:/core/ui/EditTemplate/body
```
$:/core/ui/EditTemplate/controls $:/core/ui/EditTemplate/shadow $:/core/ui/ViewTemplate/classic $:/core/ui/EditTemplate/title $:/core/ui/EditTemplate/body $:/core/ui/EditTemplate/tags $:/core/ui/EditTemplate/fields $:/core/ui/EditTemplate/type
```
<<.link-badge-change >> (viewer) sticky titles yes [[$:/themes/tiddlywiki/vanilla/options/stickytitles]] change 0px to -20px for top; opacity: 80%; of sticky title: $:/themes/tiddlywiki/vanilla/sticky
<<.link-badge-change >> changed animation duration to zero in control panel
<<.link-badge-change >> quine2 option: turn on batch saves
<<.link-badge-add >> [[top of story]] tiddler tagged with $:/tags/AboveStory as per [[eric's instructions|https://groups.google.com/g/tiddlywiki/c/T8lL1eeZatg/m/Ni7nUg3KCAAJ]]
<<.link-badge-remove >> removed viewtemplate tag from subtitle and tags shadow tiddlers to stop them showing in normal tiddler view: $:/core/ui/ViewTemplate/subtitle $:/core/ui/ViewTemplate/tags
<<.link-badge-add >> [[close sidebar when screen is small]] (can't recall where this is from) originally you had to unhide the sidebar to get to the manual save button (i mostly let it autosave as quine will autosave for safety, so only way to limit saves is omit most manual saves)
<<.link-badge-change >> turn off autosave (doesn't seem to have an effect): [[$:/config/AutoSave]]
<<.link-badge-add >> hide answer until tap/hover from Stephan Hradek http://tw5magick.tiddlyspot.com/ : [[quiz.css]] for ordinary css and [[quiz2.css]] for macro use
<<.link-badge-change >> change palette:
$:/palettes/Makiaea
<<.link-badge-change >> change date format: $:/language/Tiddler/DateFormat
!!anwiki dependencies
if you are creating your own version of anwiki from scratch from a base tiddlywiki rather than just copying anwiki or makiaea-anwiki, you'll note the original anwiki needs evan and joshua's plugins [[$:/plugins/ebalster/formula|https://github.com/EvanBalster/TiddlyWikiFormula]] (and $:/plugins/ebalster/condition) and
you will also need to copy [[Selector]], [[Card Template swipe]], [[Macros]], Result; i didn't copy across the viewtemplate, as not using decks. had to use an ipad to drag and drop the plugins, most of the rest came through using the export/import function
old rewritten lyrics should appear here as they are copied from the archive
most recently modified:
<<list-links filter:"
[!is[system]has[modified]tag[sing]tag[rewritten]!sort[modified]]" type:"ol">>
is it surprising that so many cannot follow rules? abusers want the sheep to follow the rules, while they get ahead by ignoring them. in such a society, it should be no surprise what happens.
rules are a myth made by abusers to enslave the abused. should we not follow any principles, or respect any values in life?
to an abuser, the answer is obvious. for responsible people, it may seem at first much more difficult to find an answer.
[[lisa×uru|https://youtube.com/watch?v=impSuIygMiQ]]
<$details summary ="pitch">
[[saints]] <<c4>> c
</$details>
<$details summary ="echos">
echos <iframe height="10px" width="40px" src="lena/music/20210425saints-echos.m4a" frameborder="0"></iframe>
</$details>
"""
i'm sorry but your story isn't adding up
think your religion is a lie to keep my mouth shut
so i won't testify the crimes you're keeping score of
why don't you throw me to the wolves / i thought you were one
★you were standing there like an angry god
counting out my sins just to cross them off
saying that my tongue was too loud to trust
and that my blood couldn't keep you
☆my dear, you're not so innocent
you're fooling heaven's gates
so you won't have to change
you're no saint, you're no savior
your revelations don't look nothing like the pictures
you read between the lines and don't stick to the scriptures
you only follow rules if others follow with you
that doesn't sound so holy only playing victim
★repeat
☆repeat
so keep your judgment for someone else, i've had enough
and keep your judgment for someone else, i've had enough
so keep your judgment for someone else, i've had enough
and keep your judgment for someone else, i've had enough
☆repeat
"""
(maki, remember to) delete $:/config/shortcuts/save-tiddler, select recall as "deck" from [[deck]] and remove ios files system tag on cloned wiki during export process (currently unautomated). this is because i am using the tab key on the pythonista keyboard to activate the save-tiddler keyboard shortcut, and most people wouldn't be doing the same. i am using the tags function in ios files to track categories of files, if we don't remove tags from the clone, backups and archives will clutter the tag area of files and make it much less usable.
also remember to set the deck to recall and put readme as the home tiddler
!!export
[[to markdown etc|https://groups.google.com/g/tiddlywiki/c/tWCfJxf_X18/m/fY6nWun-BgAJ]]
[[to text|https://groups.google.com/g/tiddlywiki/c/h330mV877Ws/m/x2kpKO9QBAAJ]]
cs intro, cs start, gs chorus
/* Font can be directly set through control panel */
html body.tc-body {
font-family: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
font-weight: 300;
font-size:14px;
}
em {
font-family: "Open Sans italic", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
font-weight: 300;
}
code, pre {
font-family: Inconsolata;
font-size:100%;
font-weight:500;
}
/* Set the editor font*/
.tc-edit-texteditor-body {
font-family: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
font-size:100%;
font-weight:300;
}
"""
“もし小石川さんが後ろめたいなら 誰かに優しさを伝えてあげてください”
“if you want to thank me, (koishikawa–san), all you have to do is be kind to other people”
//SHY// 実樹ぶきみ MIKIbukimi 2019 (translated by stan muller)
[[japanese|https://rawmangas.net/manga/shy-raw/4/]]|[[english|https://mangaradar.com/manga/shy/chapter-4]]
"""
similar is a myth. in reality we are all different. this is why abusers invoke an external enemy, when the enemy is outside of us it makes it seem like the abuser and the abused are //in it together//, united, dependent.
i would sing all day and play violin if i could. //hugs//
archive at soundcloud [[makiaea|https://soundcloud.com/makiaea/popular-tracks]] and youtube [[makiaea|http://youtube.com/makiaea]]
most recently modified:
<<list-links filter:"
[!is[system]has[modified]tag{$:/state/tab/deck}!sort[modified]limit[35]]" type:"ol">>
[[rewritten]] lyrics have tags //rewritten// and //sing//
\define tslider(tiddler)
<$vars stateTid="$:/state/toggle-slider/$tiddler$">
<$button style="width:20%;height:20px;border-color:transparent"><$text text={{{[<stateTid>get[text]match[deck]then[close]else[deck]]}}}/><br/>^^{{$:/state/tab/deck}}^^
<$action-listops $tiddler=<<stateTid>> $field="text" $subfilter="+[toggle[deck],[close]]" />
</$button>
<$reveal state=<<stateTid>> type="match" text="deck">
<$transclude tiddler=<<__tiddler__>> field="text" mode="block"/>
</$reveal>
</$vars>
\end
\define tsliderclose(tiddler)
<$action-setfield $tiddler="$:/state/toggle-slider/$tiddler$" $value="close"/>
\end
Copy the macro code above (edit this tiddler to show it) and put in an macro tiddler (tagged $:/tags/Macro). put the below line where you want the slider, the variable, here "decks" refers to the tiddler you want transcluded
``<<tslider decks >>``
and use the following to close the slider
``<<tsliderclose decks >>``
[[list-filter-called titles sliderized|https://groups.google.com/g/tiddlywiki/c/5yPwhKTEZFs/m/fry5L_hfAwAJ]]
SM-2 is a widely known recall algorithm, but there are not a lot of scientific studies on it. whether we use it exactly or not is not really worth making a huge fuss about.
that said, as of 20201220 the macro code of anwiki appears not to update the due date following the SM-2 algorithm, i.e. in http://anwiki.tiddlyspot.com/#Macros the following from https://www.supermemo.com/en/archives1990-2015/english/ol/sm2 is unimplemented:
```js
Repeat items using the following intervals:
I(1):=1
I(2):=6
for n>2: I(n):=I(n-1)*EF
where:
I(n) - inter-repetition interval after the n-th repetition (in days),
EF - E-Factor of a given item
If interval is a fraction, round it up to the nearest integer.
```
instead it does
```js
\define updateDueDate()
to_tw_date(add_days(now(),<<repetition>>))
\end
```
which appears to just add the (repetition number in days) to the current date. maybe the code was accidentally deleted at some point in the original anwiki?
i've updated the makiaea-anwiki to the following, which approximates SM-2 and adds a random spread between zero and two days:
```js
\define updateDueDate()
to_tw_date(add_days(now(),{{!!repetition}}*{{!!ef}}*<<ef>>+randbetween(0,2)))
\end
```
(n=1) //replication and analysis of ebbinghaus’ forgetting curve//
murre, joeri dros 2015
http://doi.org/10.1371/journal.pone.0120644
```
unsalted butter, 4tbsp/40g
flour, 3tbsp/30g plain flour
curry powder, 1tbsp/6g
garam masala, 1tbsp/6g
```
https://www.justonecookbook.com/how-to-make-curry-roux/ note the measurements on that recipe differ between US and metric! i tried 3,4 but 4,3 seems more likely as not enough liquid in 3,4
```
2 tbsp ground coriander
1 1/2 tbsp ground cumin
2 tsp ground cinnamon
2 tsp ground cardamom
1/2 - 3/4 tsp ground black pepper
3/4 tsp ground clove
1 tsp ground nutmeg
```
https://sandhyahariharan.co.uk/garam-masala-recipe/
more complex recipe
```
3 ½ tsp curry powder (e.g. s&b)
2 ½ tsp cumin
1 tbsp beef fat (or lard)
3 garlic cloves finely minced
15g fresh ginger finely minced
1 whole white onion thinly sliced
50ml water
3 tbsp flour
900ml of bouillon (liquid stock)
2 tsp coriander powder
3 tbsp marmalade
½ tsp ground cloves
1 tsp cardamom powder
2 tsp ginger powder
1 bay leaf
```
https://sudachirecipes.com/japanese-curry-rice-recipe/
cordula’s curry powder mix
recently i've not roasted, just coarsely ground the ingredients i have, and add later in cooking without frying the spices
```
fenugreek seeds 20g
coriander seeds 60g
cumin seeds 30g
curry leaves, dry 5g
mustard seeds 10g
black pepper 5g
garlic powder 25g
paprika 20g
tumeric 20g
garam masala, aromatic 20g
chili powder 5+g
asafoetida 5g
besan flour 25g (optional)
ginger powder 5g (optional)
```
"""
if you can use two pestles and mortars it is easier for this quantity of ingredients.
roast and grind the fenugreek seeds first as they are the hardest to grind. roast and grind the coriander and cumin seeds.
grind the curry leaves. grind all the other ingredients. (can be done separately or together)
"""
usage:
take one teaspoon and make a paste with a little water, fry a little before adding your other curry ingredients.
https://www.justonecookbook.com/vegetarian-japanese-curry/
```
star anise 3 pods
cloves 20 whole or 1/8 teaspoon
cinnamon 1 stick (crumbled)
Sichuan pepper 1 tablespoon (husks only, remove any black seeds)
fennel seeds 1 teaspoon
cumin seeds 1/2 teaspoon
peppercorns 1/2 teaspoon white
```
https://norecipes.com/chinese-five-spice-powder/
```
star anise 1 pods
cloves 1/8 teaspoon
cinnamon 1 teaspoon
Sichuan pepper 1/4 teaspoon
fennel seeds 1/4 teaspoon
```
https://www.epicurious.com/recipes/member/views/homemade-five-spice-powder-1203742
"""
6 cloves garlic, finely minced (roughly 2 tbsp)
1/2 tsp grated ginger
2 tbsp light soy sauce
2 tbsp hoisin sauce
2 cubes red fermented tofu bean curd + 1 tbsp sauce , (optional)
2 tbsp chinese rose wine , (or use shaoxing wine or a dry white wine)
1 tsp chinese five spice powder
1 tsp sesame oil
2 tbsp maltose, or honey
1 tbsp honey, for brushing on
"""
"""
2 tablespoons shaoxing wine
4 tablespoons light soy sauce
2 tablespoons oyster sauce
1/4 teaspoon chinese five-spice powder
2 cloves garlic, slivered
15 g ginger, thinly sliced
3 tablespoons honey
"""
"""
2 cloves garlic
1 tsp 5 spice powder
125ml red miso paste
125 ml honey
2 tbs rice vinegar
"""
"""
1/3 cup dark brown sugar
2 tablespoons water
3 tablespoons black bean sauce
2 tablespoons soy sauce
1 tablespoon rice vinegar
4 prunes
1/2 teaspoon sesame oil
1/2 teaspoon five spice powder
"""
https://www.daringgourmet.com/best-homemade-hoisin-sauce/
https://omnivorescookbook.com/homemade-hoisin-sauce
modifying how this tiddlywiki behaves
[[readme]] | [[changelog]]
[[save and export]] | [[top of story]]
[[new macros]] | [[Macros]]
[[Card Template swipe]] | $:/palettes/Makiaea | [[quiz.css]] | [[quiz2.css]]
<$button style="width:20%;height:20px;border-color:transparent"><$action-sendmessage $message="tm-close-all-tiddlers"/><$action-setfield $tiddler="$:/state/sidebar" $value="no"/><<ifrecall "[!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}] +[has[title]] + [!is[current]sort[due]limit[1]]" ifyesrecall ifnorecall>>{{$:/state/tab/deck}}<br/>^^<$count filter="[!is[current]!days:due[-1]] [!is[current]days:due[0]] +[tag{$:/state/tab/deck}]"/>^^</$button> [[go to the sr tiddler|sr]]
<$count filter="[!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}]"/> cards due today, <$count filter="[days:due[1]!days:due[0]] +[tag{$:/state/tab/deck}]"/> due tomorrow
most recently modified tiddlers with the tag "{{$:/state/tab/deck}}"
<<list-links filter:"
[has[modified]tag{$:/state/tab/deck}!sort[modified]limit[15]]" type:"ol">>
<$details summary ="pitch">
[[strongest]] <<a4>> a
</$details>
<$details summary ="alan walker and ina wroldsen">
alan walker and ina wroldsen <iframe height="10px" width="40px" src="lena/music/20210526strongest-alan walker and ina wroldsen.m4a" frameborder="0"></iframe>
</$details>
<$details summary ="acoustic">
acoustic <iframe height="10px" width="40px" src="lena/music/20210526strongest-alan walker and ina wroldsen acoustic.m4a" frameborder="0"></iframe>
</$details>
"""
you sit there with that look on your face like you won
like nothing that i say is gonna change how you feel now
you sit there and you tell me you fell outta love
and we are in your way so you just gotta leave now
and we just need to understand your reasons
and you are gonna justify this treason
by telling me the promises that we sworn ain't enough
so now you gonna be another person?
and how do i explain this shit to our son?
how'd you tell a toddler about a girlfriend?
daddy's gone
★well, i will be the strongest that he ever knew
and i will be there when he needs a love strong enough
don't worry i will carry your share for us
no matter how bad the storm
i will be the strongest that he ever knew
and we'll leave you alone
you sit there with your phone in your hands and you're hurt
you tell me that you feel like you lost me when he came
i'm sorry but i cannot connect with your words
'cause right now what matters isn't yours but it is his name
and we just need to find another income
'cause she wants you to help her with her own one
and you want me to tell me that what you've done is okay
so now you gonna be another father?
and i will be a different kind of mother?
and how do you tell a toddler 'bout step brothers?
daddy's strayed
★repeat
let's talk about family
let's talk about family
let's talk of the ties and the lies
and the love that we had in this family
let's talk about honesty
you know nothing about honesty
let go of your hands and our plans
and the chance that we had with this family
★repeat
"""
https://www.sublimetext.com/docs/3/multiple_selection_with_the_keyboard.html
!!changing the colours in an existing theme
for Mac OS X the themes are stored in zipped files so although the preferences file shows them as being in Packages/Color Scheme - Default/ they don't appear in that directory unless you extract them.
They can be extracted using the Package Resource Viewer (install package resource viewer using command palette (cmd-shift-p), package control: install package, search for package resource viewer)
Search for Color Scheme in the Package Extractor (should give options for Color Scheme Default and Color Scheme legacy)
Extract the one you want. It will now be available at users/UserName/Library/Application Support/Sublime Text 3/Packages/Color Scheme - Default (or Legacy)
command palette (cmd-shift-p), preferences: browse packages
Make a copy of the scheme you want to modify, edit as needed and save it (you might need to set the open with application
Add or change the line in user preferences which points to the color scheme, by going to preferences: settings
```
/Users/yourusername/Library/Application Support/Sublime Text 3/Packages/ayu/ayu-dark-makiaea.sublime-color-scheme
```
!!horizontal split
View> Layout> Select "Rows: 2"
!!change default font
"""
open sans [[download|https://fonts.google.com/specimen/Open+Sans]]
fontbook to install downloaded font
change default font to open sans light in preferences: settings
"""
demos https://patrickhlauke.github.io/touch/
code https://github.com/patrickhlauke/touch/blob/gh-pages/swipe/pointerevents.html
<script>
window.addEventListener('load', function() {
var start = {};
var end = {};
var tracking = false;
var thresholdTime = 500;
var thresholdDistance = 100;
var o = document.getElementsByTagName('output')[0];
gestureStart = function(e) {
o.innerHTML = '';
tracking = true;
/* Hack - would normally use e.timeStamp but it's whack in Fx/Android */
start.t = new Date().getTime();
start.x = e.clientX;
start.y = e.clientY;
};
gestureMove = function(e) {
if (tracking) {
e.preventDefault();
end.x = e.clientX;
end.y = e.clientY;
}
}
gestureEnd = function(e) {
if (tracking) {
tracking = false;
var now = new Date().getTime();
var deltaTime = now - start.t;
var deltaX = end.x - start.x;
var deltaY = end.y - start.y;
/* work out what the movement was */
if (deltaTime > thresholdTime) {
/* gesture too slow */
return;
} else {
if ((deltaX > thresholdDistance)&&(Math.abs(deltaY) < thresholdDistance)) {
o.innerHTML = 'swipe right';
} else if ((-deltaX > thresholdDistance)&&(Math.abs(deltaY) < thresholdDistance)) {
o.innerHTML = 'swipe left';
} else if ((deltaY > thresholdDistance)&&(Math.abs(deltaX) < thresholdDistance)) {
o.innerHTML = 'swipe down';
} else if ((-deltaY > thresholdDistance)&&(Math.abs(deltaX) < thresholdDistance)) {
o.innerHTML = 'swipe up';
} else {
o.innerHTML = '';
}
}
}
}
o.addEventListener('pointerdown', gestureStart, false);
o.addEventListener('pointermove', gestureMove, false);
o.addEventListener('pointerup', gestureEnd, false);
o.addEventListener('pointerleave', gestureEnd, false);
o.addEventListener('pointercancel', gestureEnd, false);
}, false);
</script>
currently this exports the [[changelog]] tiddler to the [[report]] tiddler
<$button> save to a single tiddler
<$vars lb="
" MyTiddler="changelog">
<$action-setfield $tiddler="report" text={{{ [<MyTiddler>get-stream-nodes[]] :reduce[get[text]addprefix<lb>addprefix<accumulator>] }}}/>
</$vars>
</$button>
if knowledge is like a tree, then the unknowable is the earth upon which the tree grows
escape on ios external keyboard is ctrl–. you can use this with the keyboard shortcuts (see $:/ControlPanel keyboard shortcuts for defaults), [[define your own shortcuts|https://groups.google.com/g/tiddlywiki/c/14p7tNUfT7Q/m/fEd_O1cUDQAJ]] or use the [[official documentation|https://tiddlywiki.com/prerelease/#How%20to%20create%20keyboard%20shortcuts]]
i use ctrl–s (save), cmd–. (escape), ctrl–enter (save tiddler), ctrl–p (command palette)
"""
mohammad https://kookma.github.io/TW-Scripts/
tobias https://tobibeer.github.io/tb5/#Welcome
scott https://techlifeweb.com/tiddlywiki/tw5tribalknowledge/static/Home.html
https://tiddlywiki.com/prerelease/
http://hamschinken.tiddlyspot.com/
tiddlywiki [[user forum|https://groups.google.com/g/tiddlywiki]]
tiddlywiki [[developer discussions|https://github.com/Jermolene/TiddlyWiki5/discussions]]
quine 2 [[user forum|https://groups.google.com/g/quine-app]]
mohammad's [[understanding brackets and shorthand syntax in tiddlywiki wikitext|https://kookma.github.io/TW-Scripts/#Shorthand%20Syntax%20Summary]]
"""
<<list-links filter:"
[!is[system]!is[current]tag[tw]!sort[modified]]" type:"ol">>
single–file tiddlywikis can be accessed and saved using ubi's [[python server|https://groups.google.com/u/0/g/tiddlywiki/c/M64suMWXDYQ/m/xLC-BilpCQAJ]] also works with pythonista on ios. unfortunately, ios background memory limits mean after tapping save within the anwiki interface, you'll need to switch to pythonista in order to bring the webserver back to foreground so it can save (the pythonista console should update to let you know a save has occurred). the pythonista script i am using is as below (modded from ubi's script), note it saves backup files regularly.
https://groups.google.com/g/tiddlywiki/c/M64suMWXDYQ/m/XsTspOzgEQAJ
https://groups.google.com/g/tiddlywiki/c/V8vEqBZRWVg/m/i-V5YymZDAAJ
"/var/mobile/Library/Mobile Documents/com~apple~CloudDocs/books/00090/maki/20200307scripts/20210116tiddlywiki.sh"
```
#!/bin/bash
pythonista3://iCloud/20201217pythontiddlywiki.py?action=run
```
```
#!/usr/bin/python3
import datetime, shutil, os, http.server
import webbrowser, urllib
def makebackup(src):
(srcpath, srcfile) = os.path.split(src)
(srcname, src_ext) = os.path.splitext(srcfile)
tstamp=datetime.datetime.now().strftime("%Y%m%d%H%M%S")
dstpath = os.path.join(srcpath,'twBackups')
if not os.path.exists(dstpath):
os.mkdir(dstpath)
shutil.copyfile(src, os.path.join(dstpath, srcname+'-'+tstamp+src_ext))
class ExtendedHandler(http.server.SimpleHTTPRequestHandler):
def do_OPTIONS(self):
self.send_response(200, 'OK')
self.send_header('allow','GET,HEAD,POST,OPTIONS,CONNECT,PUT,DAV,dav')
self.send_header('x-api-access-type','file')
self.send_header('dav','tw5/put')
self.end_headers()
def do_PUT(self):
path = self.translate_path(self.path)
makebackup(path)
with open(path, "wb") as dst:
dst.write(self.rfile.read(int(self.headers['Content-Length'])))
self.send_response(200, 'OK')
self.end_headers()
text = 'localhost:8080/20201205makiaea-anwiki.html'
webbrowser.open('icabmobile://' + text)
os.chdir(os.path.dirname(os.path.abspath(__file__)))
http.server.HTTPServer(('localhost',8080),ExtendedHandler).serve_forever()
```
if you prefer swiping to answer instead of tapping, remove the tag $/tags/ViewTemplate from the [[Card Template tap]] tiddler, add that tag to [[Card Template swipe]] to activate that interface instead.
tapping feels faster in early reviews where you are often showing the answer but it may also be easier to tap an unintended answer
bear in mind that showing/revealing the answer may also feel different between the two interfaces; although the underlying code does not change for that, the use of taps in the tap interface means hiding the answer happens automatically
altogether at high speed this means reviews using the tap interface at the early stage are around twice as fast as the swipe interface, because several actions take place automatically. but for questions that you do not need to review the answer, the difference is smaller and the risk of unintended answers may become more salient as you have more well–reviewed cards
,,31s //from swipe to tap// also at [[youtube|https://youtu.be/8eyjY69IC5A]],,
<iframe width="277px" height="600px" src="video/20210106 from swipe to tap interface makiaea-anwiki.mp4" frameborder="0" type="video/mp4" controls></iframe>
<!--
(note special tag $:/tags/AboveStory) make a minimal menu at the top of the screen, which is slightly hidden on a notched phone’s screen until pulled down for use, readily available even when editing a tiddler
-->
<$button style="width:20%;height:20px;border-color:transparent"><$action-sendmessage $message="tm-close-all-tiddlers"/><$action-setfield $tiddler="$:/state/sidebar" $value="no"/><<ifrecall "[!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}] +[has[title]] + [!is[current]sort[due]limit[1]]" ifyesrecall ifnorecall>>{{$:/state/tab/deck}}<br/>^^<$count filter="[!is[current]!days:due[-1]] [!is[current]days:due[0]] +[tag{$:/state/tab/deck}]"/>^^</$button>
<!-- -->
<$button style="width:17%;height:20px;border-color:transparent"><$action-sendmessage $message="tm-new-tiddler" tags={{$:/state/tab/deck}} text="" ef=2.5 quality=5/>new<br/>^^<$count filter="[days:due[1]!days:due[0]] +[tag{$:/state/tab/deck}]"/>^^</$button>
<!-- -->
<$button message="tm-save-wiki" style="width:19%;height:20px;border-color:transparent">save</$button>
<!-- -->
<$button style="width: 17%;height:20px;border-color:transparent"><$action-sendmessage $message="open-command-palette" $param="?"/>cmd</$button>
<!-- -->
<<tslider decks>>
[[soren’s grok tiddlywiki|https://groktiddlywiki.com]]
[[questionnaire with excel and word export|https://groups.google.com/u/2/g/tiddlywiki/c/KPWjybITcLY]]
[[twpub|https://twpub-tools.org]]
mohammad’s [[shiraz quick tables|https://kookma.github.io/TW-Shiraz/#Tutorial%20Quick%20Tables]] can render tables from a csv/tsv data block in the same tiddler or another tiddler
fred’s flattening streams [[streams fusion|https://groups.google.com/g/tiddlywiki/c/-xTFWPwzq6g]] plugin at [[github|http://fastfreddy.gitlab.io/streams-fusion/]] made using tinka NB i currently use a custom streams button for flattening using the default streams documentation (see [[changelog]]) rather than an additonal plugin like fred’s or jan’s
andrew’s [[plugins|https://groups.google.com/g/tiddlywiki/c/EUc1qjQmXfc]] including show fields (within tiddler)
[[thomas’ details plugin|http://tid.li/tw5/plugins.html#DetailsWidget]] uses pure html and optionally the details can be within the same tiddler as well as transcluding other tiddlers (shiraz can only transclude)
[[adithya’s karya task manager|https://adithya-badidey.github.io/TW-Karya/wiki.html]] adds a separate "part" to the tiddler may be useful for metadata and has a premade tab to show the projects arranged by tag
[[mohammad’s todolist|https://kookma.github.io/TW-Todolist/]]
[[soren’s zettelkasten|https://groups.google.com/g/tiddlywiki/c/cfKfrAzHZyg]] if using public/private, requires node.js version for publishing (otherwise fine as single file)
[[show any reference to current tiddler|https://groups.google.com/g/tiddlywiki/c/gZP2x2eoYQo]] using relinks plugin:
```
{{||$:/plugins/flibbles/relink/ui/TiddlerInfo/References}}
<$list filter="[relink:references<currentTiddler>!title[$:/StoryList]sort[title]]"/>
```
[[tiddlersets|https://tiddlersets.tiddlyhost.com]] take "snapshots" of the current tiddler river and reopen these same tiddlers at a later time, may be useful for teaching and demonstration
twine on tw5 https://groups.google.com/g/tiddlywiki/c/XSmEj7AoO0Y/m/bdaVJONhBAAJ
creating [[plugins|https://groups.google.com/g/tiddlywiki/c/tt4IrU7l6LI]]
embed gist https://groups.google.com/g/tiddlywiki/c/ex4ynTJiBjo
tiddlywiki on [[fission|https://groups.google.com/g/tiddlywiki/c/nZelF7tjtcQ]] file system
tiddlywiki [[fluency|https://www.youtube.com/watch?v=vsdDs7oOLlg]]
eric describes [[css styling by title of tiddler|https://groups.google.com/g/tiddlywiki/c/K6uHR4XtJ0o]]
[[github saving fix|https://groups.google.com/g/tiddlywiki/c/RsvwLHm65C8]]
[[eric describes browser-only saving and tw dropbox|https://groups.google.com/g/tiddlywiki/c/9T21nefAGEs/m/L_FkcxOpAQAJ]]
[[data tiddlers+dynamic tables|https://groups.google.com/g/tiddlywiki/c/4REBNqWxMUw]] e.g. [[task manager|https://kookma.github.io/TW-Shiraz/#demo%2Fdynamic-table%2Ftask-manager]]
[[tw dropbox|https://twcloud.github.io/tw5-dropbox]] ("tw cloud")
[[tiddler from missing|https://giffmex.org/gifts/documenting.tw.html#Button%3A%20Create%20tiddlers%20for%20all%20Missing%20tiddlers]]
[[tw5-keyboard-navigation|https://github.com/MaxGyver83/tw5-keyboard-navigation]] works by using the DOM elements (the toolbar buttons), so if you remove them, they can't be "clicked" by this plugin
the [[freelinks plugin|https://groups.google.com/u/1/g/tiddlywiki/c/X6vayokdfgE]] seems really cool, especially for academic work or instructional pieces
dave’s [[minimal css toggleplus|https://groups.google.com/g/tiddlywiki/c/JCPS54RfWeM]]
[[full list syntax to specify desired output content including whitespace|https://groups.google.com/g/tiddlywiki/c/eCesjQ3_vFc]]
[[automate diff via cron git|https://groups.google.com/g/tiddlywiki/c/6h1HyeYF-nY]]
[[concatenate a field value in a string|https://groups.google.com/g/tiddlywiki/c/o4pRIVvP2wo]]
[[import .csv as separate tiddlers|https://groups.google.com/g/tiddlywiki/c/qbnKoBoGYfw]]
[[multi step if using filters|https://groups.google.com/g/tiddlywiki/c/XxKZ6k7I17Q]]
florian's fork of [[minimenu|https://fkohrt.gitlab.io/tiddlywiki-stuff/#%24%3A%2Fplugins%2FTWaddle%2Fminimenu]] toggle between a visitor mode and an admin mode
opened tiddlers bar (command palette kind of covers this but in a hidden way) tabs showing open tiddlers
[[tiddlyclip|http://tiddlyclip.tiddlyspot.com]] parts of webpages to clip into a tiddlywiki
firefox browser addon
[[embedding sound files|https://groups.google.com/g/tiddlywiki/c/EDPuF7sisTY]] may be useful for a tuner app or something with a small number of very small audio files
[[tiddlymenu|https://groups.google.com/g/tiddlywiki/c/otFl3wgbhJs]] a simple interface for non-admin users
[[firebase backend|https://github.com/Jermolene/TiddlyWiki5/discussions/5406]] useful if you need authentication via google (schools, for example)
[[transclude image if tiddler has tag|https://groups.google.com/g/tiddlywiki/c/7WVb6u4JK7s]]
!!slides
not yet a plugin: [[splidejs|https://splidejs.com]]
sukima's [[reveal.js plugin|https://sukima.github.io/tiddlywiki-reveal-js]] is not super usable on mobile yet
!!static output
apparently now possible in tiddlywiki core (single html file version) but i haven't seen a tutorial yet
richard's [[node.js static output|https://richardsmith.neocities.org/site/exporting-static-sites-from-tiddlywiki-part-1.html]]
[[json aws lambda tw|https://mydigitalmark.com/easily-build-static-html-sites-from-json-with-aws-lambda-and-tiddlywiki/]]
midi over bluetooth adapter [[widi master|https://www.cme-pro.com/widi-master]]
!!github
[[htmlpreview|https://github.com/htmlpreview/htmlpreview.github.com]] prepend
```
https://htmlpreview.github.io/?
```
!! shortcuts
[[check time is between two times (good for time dependent toggles etc)|https://reddit.com/r/shortcuts/comments/e5d7hc/check_if_current_time_is_between_two_times]]
!!bunch (mac)
tiddlydesktop can call bunches through the bunch url scheme, and bunch can run shell scripts etc.
this means you can make a nice reference in tiddlywiki for scripts that you need to run, and run them with a click (or tap if remoting or using a touch midi controller)
!!touch interface for mac or pc via midi or keystrokes and wifi or usb
!!reuse old ipads or midi devices
e.g. ipad 1 using [[touch osc|https://hexler.net/touchosc]] [[youtube example|https://m.youtube.com/watch?v=xhWHxH4HYnM]]
sign in to app store on old ipad requires [[adding the verification code to your password|https://discussions.apple.com/thread/7392317]]
downloading an old app on ios 5.11 requires [[buying it first on a newer device|https://www.howtogeek.com/263568/how-to-install-older-versions-of-ios-apps-on-an-old-iphone-or-ipad/]] (and only works it a version for 5.11 existed originally)
touch osc editor can make customised interfaces for the ipad which outputs midi notes or even keystrokes
touch osc bridge listens on the mac or pc for the [[midi notes/keystrokes|https://hexler.net/docs/touchosc-editor-pages]] output by the ipad, on wifi or usb
if using midi keyboard, midistroke (for catalina) can convert midi notes to keystrokes (e.g. ctrl-cmd-alt-shift-z). this needs to be open or run in the background to do the conversion
alfred can run shortcuts triggered by key combinations
alternatively, use keyboard maestro to listen for the midi notes and run shortcuts etc: triggered by midi note x //released//
!!newer ipads and other devices
ipad [[inter device audio|https://vi-control.net/community/threads/anyone-still-using-touch-osc.100306/page-3]]
newer (ipad only) ios 10.3+ can use [[metagrid|http://metasystem.io/metagrid/]] which has direct keyboard maestro integration
[[open stage control|https://openstagecontrol.ammd.net/]] works via browser (ios requires 10.3+, but you can use most browser-capable machines e.g. nintendo switch) can send keystrokes using bome midi translator or MidiKey2Key or auto-it(windows) or [[osc-keyboard|https://github.com/jean-emmanuel/osc-keyboard]]. vi forum [[thread|https://vi-control.net/community/threads/open-stage-control-tutorial-an-alternative-to-lemur-and-touchosc.72643/%5D%5D]]
!!old ipad as external monitor
(ios 7+) https://www.splashtop.com/en-gb/wiredxdisplay
[[freefilesync|https://freefilesync.org/faq.php]] open source syncing between windows, mac and linux
[[hush|https://oblador.github.io/hush]] safari cookie dismiss ios14
!!d3.js
d3noob’s [[Interactive d3.js tree diagram|https://bl.ocks.org/d3noob/8375092]]
mofas’ [[angular.js and d3.js mindmap|https://github.com/mofas/mindMap]]
silverfox's [[How to upgrade d3.js plugin from v3.x to a latest release]]
silverfox's [[How to build a d3 Widget]]
!!phone/ipad as webcam
[[droidcam|https://www.theverge.com/21281765/webcam-phone-tablet-android-ios-pc-mac-how-to]]
[[camo|https://reincubate.com/support/camo/camo-overview/#free-vs-paid]] (subscription, mac)
[[dslr|https://9to5mac.com/2020/05/27/use-canon-eos-as-mac-webcam/]] some [[canon dslr|https://docs.crowdcast.io/en/articles/1935406-how-to-use-your-dslr-as-a-webcam]]
!!livestream
[[open broadcaster software|https://obsproject.com]]
[[mmhmm|https://www.mmhmm.app/product]]
[[livestream google meet|https://www.techrepublic.com/article/how-to-record-or-live-stream-with-hangouts-meet]] only available to [[paid users|https://support.google.com/a/answer/9055446]]
livestream to youtube requires [[100 subscribers|https://www.igeeksblog.com/how-to-live-stream-iphone-ipads-screen-to-youtube]]
mobile livestream to youtube requires [[1000 subscribers|https://support.google.com/youtube/answer/9228390?co=GENIE.Platform%3DiOS&hl=en]]
[[teaching on twitch|http://matthematics.com/teach-on-twitch]]
!!powershell
run admin powershell from batch file
```
$Cred = get-credential
$Job = Start-Job -ScriptBlock { whatever I need to run
} -Credential $cred
```
[[run powershell script as administrator (elevated privileges) by default|https://www.sharepointdiary.com/2015/01/run-powershell-script-as-administrator-automatically.html?m=1]]
[[remote scripts as administrator|https://www.action1.com/kb/running-remote-powershell-script-as-administrator.html]]
[[dropover|https://dropoverapp.com]] mac copy shelf
[[trousers|https://www.revolutionrace.co.uk/women/trousers/zip-off-trousers/rvrc-gp-pro-zip-off-pants-women?Color=2470]]
[[shoes|https://www.amazon.co.uk/inov-8-Inov8-Terraultra-Trail-Running/dp/B086MWW2XQ/ref=asc_df_B086MWW2XQ/?tag=googshopuk-21&linkCode=df0&hvadid=466041069516&hvpos=&hvnetw=g&hvrand=7391598748189714578&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1006565&hvtargid=pla-942081050296&psc=1]]
[[neuralpi|https://hackaday.com/2021/05/30/neural-networks-emulate-any-guitar-pedal-for-120/#more-480477]] by guitarml stomp pedal
[[curtail apple servers (dns)|https://reddit.com/r/jailbreak/comments/n3b8b9/question_is_it_possible_to_make_jailbroken]]
edovia [[screens|https://help.edovia.com/hc/en-us/articles/115010872388-Making-your-computer-reachable-remotely-without-Screens-Connect]]
https://airbreak.dev/ airsense 10 jailbreak
https://strlen.com/treesheets/ treesheets multiplatform
extract pdf table data with [[tabula|https://tabula.technology]]
learning tiddlywiki
<$button style="width:20%;height:20px;border-color:transparent"><$action-sendmessage $message="tm-close-all-tiddlers"/><$action-setfield $tiddler="$:/state/sidebar" $value="no"/><<ifrecall "[!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}] +[has[title]] + [!is[current]sort[due]limit[1]]" ifyesrecall ifnorecall>>{{$:/state/tab/deck}}<br/>^^<$count filter="[!is[current]!days:due[-1]] [!is[current]days:due[0]] +[tag{$:/state/tab/deck}]"/>^^</$button> [[go to the tw tiddler|tw]]
<$count filter="[!days:due[-1]] [days:due[0]] +[tag{$:/state/tab/deck}]"/> cards due today, <$count filter="[days:due[1]!days:due[0]] +[tag{$:/state/tab/deck}]"/> due tomorrow
most recently modified tiddlers with the tag "{{$:/state/tab/deck}}"
<<list-links filter:"
[!is[system]has[modified]tag{$:/state/tab/deck}!sort[modified]limit[15]]" type:"ol">>
<$details summary ="pitch">[[unbreakable]] <<b4>> b
</$details><$details summary ="faydee">faydee <iframe height="10px" width="40px" src="lena/music/20210425unbreakable-faydee.m4a" frameborder="0"></iframe></$details>
"""
(don’t tell me i’m not good enough)
times like this / i wish i never existed
nobody wants to listen / i’m screaming out for help
times like this / i wish that i could let go
and open up a window / free to be myself
★but then there’s you / standing over me
tryna make a fool of me / tryna get the best of me / oh
then there’s you / tryna shut me out
tryna kick me when i’m down / that ain’t gonna stop me now / no
how does it feel / to know that i don’t care at all? / your words don’t mean a thing at all
i choose to rise / you choose to fall
how does it feel / to know that i am capable / of more than you will ever know?
☆don’t tell me i’m not good enough / don’t you bring me down
i’m moving up / and you’re over now
you gave me fire / every time you came around
my feet are steady on the ground / and you won’t knock me down
no more, no more, no more
now i’m unbreakable
no more, no more, no more
now i’m unbreakable
times like this / i’m picking up the pieces
i’m making up the reasons / not to tell a soul
times like this / i’d rather speak to no one
i just wanna move on / and stand up on my own
★,☆repeat
i remember getting teased as a kid / ’cause at the place that we lived
we never had it easy / believe me / but that don’t excuse the things that we did
couldn’t accept that i was never accepted / shed so many tears like i fell in depression
thought if i changed / i wouldn’t get called names
but it was all the same / i was feeling rejected
putting someone down that’s a low blow / what goes around comes around like a yo-yo
wish that i could stop time like a photo / but we stand strong, bounce back like a pogo
☆repeat
"""
people use values as a reason to reject and judge others. even people who seem to have so–called “good“ values do this. you can't expect people to not do this when they have been inculcated all their lives to do so.
this is why abusers try so hard to inculcate values, as they are invisible, almost unbreakable chains that bind people to the abuser.
it might be chance circumstance that people learn to question the values that are forced upon us, and learn to live in different ways
This summary from tobias http://pv5.tiddlyspot.com is from https://groups.google.com/g/tiddlywiki/c/_x9CDAFtwQc/m/Qlng28uWNKIJ based on excellent posts by [[Jed Carty|https://groups.google.com/d/msg/tiddlywiki/_x9CDAFtwQc/XKGuffTkLVwJ]] and [[Danielo Rodrigues|https://groups.google.com/d/msg/tiddlywiki/1BjhyWKpTgg/b4mFt4CqYt4J]] on using variables and parameters. Also see:
* [[Variables vs. Parameters|http://tb5.tiddlyspot.com/#Variables%20vs.%20Parameters]] — short and sweet
* [[Variables In Nested Lists|http://tb5.tiddlyspot.com/#Variables%20In%20Nested%20Lists]]
* [[Passing Parameters To A Transclusion|http://tb5.tiddlyspot.com/#Passing%20Parameters%20To%20A%20Transclusion]]
<br>
!Defining Variables
!! `<$set>`
Set variables inside or outside a macro:
```
<$set name='var' value='foo'>
<<var>> "<<var>>"
</$set>
```
<<<
<$set name='var' value='foo'>
<<var>> "<<var>>"
</$set>
<<<
<br>
When the value is set as a filter it can be used as a filter:
```
<$set name="var" value="[all[missing]]">
<$list filter=<<var>>/>
</$set>
```
<<<
<$set name="var" value="[all[missing]]">
<$list filter=<<var>>/>
</$set>
<<<
<br>
!! `<$list>`
`<<currentTiddler>>` inside the list will be the item!
```
<$list filter="[tag[Foo]]">
"<<currentTiddler>>"
</$list>
```
<<<
<$list filter="[tag[Foo]]">
"<<currentTiddler>>"
</$list>
<<<
<br>
On the other hand, the parameter `variable` sets a variable at each iteration to the current list item:
```
Parent / Item...<br>
<$list filter="[tag[Foo]]" variable="myItem">
<<currentTiddler>> / <<myItem>><br>
</$list>
```
<<<
Parent / Item...<br>
<$list filter="[tag[Foo]]" variable="myItem">
<<currentTiddler>> / <<myItem>><br>
</$list>
<<<
<br>
!Using Variables And Macro Parameters
!!`<<var>>`
a [[variable|http://tiddlywiki.com/#Variables]] acting the same inside a macro as outside
;~~`$var$`~~ and ~~`"$var$"`~~
:with ''var'' being an actual variable, these are @@ciolor:red; just strings@@
:no substitution will take place, inside or outside a macro
<br>
!!`$param$`
As macro parameters, both `$param$` and `"$param$"` are substituted fine!
Using <<source MacroTest>>
With...
```
<$set name='var' value={{!!title}}>
<<test GettingStarted>>
</$set>
```
<<<
<$set name='var' value={{!!title}}>
<<test GettingStarted>>
</$set>
<<<
''Note:'' `<<test "<<var>>">>` does @@color:red; NOT@@ work!
<br>
!! `$(var)$`
to reference variables when calling another macro from within a macro
Using <<source MacroLink>>
With:
```
<$set name="var" value="Foo">>
<<doLink>>
</$set>
```
<<<
<$set name="var" value="Foo">>
<<doLink>>
</$set>
<<<
;~~`[tag[$(var)$]]`~~
:used as a filter, gives tiddlers tagged `$(var)$` @@color:red; ...without any substitution!@@
<br>
!!`{{!!field}}`
Using transcluded parameters can be tricky.
For example, trying to use <<source MacroLink>>
@@color:red; Fails with:@@
```
<<link {{!!title}}>>
```
<<<
<<link {{!!title}}>>
<<<
Instead, use the `$macrocall` widget, paying attention with the variable ''__$__''name:
```
<$macrocall $name="link" tiddler={{!!title}}/>
```
<<<
<$macrocall $name="link" tiddler={{!!title}}/>
<<<
Quotes around the transcluded parameter @@color:red; will fail, too!@@
```
<$macrocall $name="link" tiddler="{{!!title}}"/>
```
<<<
<$macrocall $name="link" tiddler="{{!!title}}"/>
<<<
<br>
!!``<var>``
Does __only__ work as a __filter variable__, inside or outside a macro:
```
<$set name='var' value='Foo'>
<$list filter='[tag<var>]'/>
</$set>
```
<<<
<$set name='var' value='Foo'>
<$list filter='[tag<var>]'/>
</$set>
<<<
Example for using `<var>` inside <<source MacroTaggingByVar>>
With...
```
<$set name='var' value='Foo'>
<<taggingByVar>>
</$set>
```
<<<
<$set name='var' value='Foo'>
<<taggingByVar>>
</$set>
<<<
''@@color:red; Important:@@'' Make sure not to enclose `<var>` in angle brackets: ~~`[tag[<var>]]`~~!
Otherwise...
;~~`<var>`~~
:__in wikitext__ is parsed as any other html tag, so it's @@color:red; not a valid variable@@
;~~`"<var>"`~~
:is the same as putting quotes around any tag where it displays quotes
;~~`[[<var>]]`~~
:treated as a string, so it creates a link to [[<var>]]
<br>
!! @@color:green; Good luck now!@@
Variables vs. Parameters from mohammad https://kookma.github.io/TW-Scripts/
For more details and examples, see: http://pv5.tiddlyspot.com
;general wiki text, including macros
: `<<variable>>`
: `{{transclusion}}`
: @@.warn ~~`<variable>`, `"<variable>"`, `[[<variable>]]`~~@@
;general html element attributes, including widgets, e.g. `$macrocall`
: `<$widget attribute=<<variable>>/>`
: `<$widget attribute=<<callMacroToComputeValue>>/>`
: `<$widget attribute={{transclusion}}/>`
: @@.warn ~~`<$widget attribute="prefix-<<variable>>"/>`~~@@
: @@.warn ~~`<$widget attribute=[[prefix-<<variable>>]]/>`~~@@
: @@.warn ~~`<$widget attribute="prefix-{{transclusion}}"/>`~~@@
;within macro body
: `$macroParameter$`, `"$macroParameter$"`, `[[$macroParameter$]]`
: `$(variable)$` (references a variable from the context of the calling macro)
: `<$widget attribute="prefix-$macroParameter$"/>`
: `<$widget attribute=$macroParameter$/>` (unsafe when having spaces)
: @@.warn ~~`$variable$`, `"$variable$"`, `[[$variable$]]`~~@@
;macro parameter
: `<<macro param:"$macroParameter$">>` (only inside macro)
: @@.warn ~~`<<macro <<variable>> >>`~~@@
: @@.warn ~~`<<macro "<<variable>>" >>`~~@@
: @@.warn ~~`<<macro param:<<variable>> >>`~~@@
: @@.warn ~~`<<macro {{transclusion}}>>`~~@@
: @@.warn ~~`<<macro param:{{transclusion}}>>`~~@@
;in filters
: `[$macroParameter$]` (only filters within macros)
: `[tag<variable>]` (no inner square brackets!)
: `[tag{transclusion}]` (only single curly brackets!)
: @@.warn ~~`[tag[$(variable)$]]`~~@@
: @@.warn ~~`[tag[$(variable)$]]`~~@@
See [[discussion|https://groups.google.com/d/msg/tiddlywiki/_x9CDAFtwQc/Qlng28uWNKIJ]]...
flour self-raising 300g
baking powder1 tsp
sugar 1 tbsp
vanilla extract 1 tbsp
plant-based milk 400ml (such as oat, almond or soya)
vegetable oil 1 tbsp for cooking
salt a pinch
medium-low heat, and add 2 tbsp batter into the pan at a time to make small, round pancakes. You will need to do this in batches of two-three at a time. Cook for 3-4 mins until the edges are set, and bubbles are appearing on the surface. Flip the pancakes over and cook for another 2-3 mins until golden on both sides and cooked through
"""
vlc, media > convert/save
load a supported input file, choose convert/save
in edit profile, select an output format
in video codec, adjust resolution, bitrate, quality, etc.
specify destination location, choose start to convert
"""
our future, our survival, is determined not by what we can learn, but rather by what we can unlearn, and what we cannot know
archive at makiaea.org/[[00097|http://makiaea.org/00097]]
most recently modified:
<<list-links filter:"
[!is[system]has[modified]tag{$:/state/tab/deck}!sort[modified]limit[15]]" type:"ol">>
<iframe width="560" height="315" src="https://www.youtube.com/embed/A3xsLH5MxkI?rel=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
note the ?rel=0
https://reddit.com/r/jailbreak/comments/kz4ad2/free_releaseopen_source_system_wide_touch/
<$details summary ="pitch">
d <<d4>> f#-g-a(chorus) <<fs4>>
</$details>
<$details summary ="erutan">
erutan <iframe height="10px" width="40px" src="music/20210606 itsumo nando demo [ いつも何度でも ] - performed by erutan (katethegreat19).m4a" frameborder="0"></iframe>
</$details>
"""
"""
<<tabs "ハーフムーン・セレナーデ-漢字 ハーフムーン・セレナーデ-ローマ字 ハーフムーン・セレナーデ-english ハーフムーン・セレナーデ-廣東話" "[[ハーフムーン・セレナーデ-漢字]]" explicitState:"$:/state/tab/ハーフムーン・セレナーデ" retain:"yes">>
"""
[[half–moon serenade|ハーフムーン・セレナーデ-english]]
あなたのもとへ 届くなら
水面(みなも)に散った 琥珀(きん)の枯れ葉を
風つまびく音符にして 想い伝える
月の雫を 左手に
涙でそっと ひとつにつなぐ
好きな人と結ばれたい…深く祈るわ
青春の雲が消れる 年頃(きせつ)抱きしめ
誰もみんな ひとりぼっちだから
優しさを 愛おしむのね
抱きしめて永遠(とお)く あなたの胸の
命の響きに 満ちる夢
ふたりでいても 切なくて
あなたの指を ぎゅっとかんだの
恋をしても男の人 迷わないのね
流れ落ちた 星の輪が
胸の泉に 波を立てれば
欠けた月は淋しさに似て 心痛むの
美しい瞳のまま どうぞ愛して
幸福(しあわせ)をさがす 幸福(しあわせ)ふたり
抱きしめて生きてゆけたら
離さないで ああ 時の銀河に
流され 大人になろうとも
青春の雲が消れる 年頃(きせつ)抱きしめ
誰もみんな ひとりぼっちだから
優しさを 愛おしむのね
抱きしめて永遠(とお)く あなたの胸の
命の響きに 満ちる夢
anata no moto e todoku nara
minamo ni chitta
kin no kareha wo
kaze tsumabiku onpu ni shite
omoi tsuta eru
tsuki no shizuku wo
hidari te ni
namida de sotto
hitotsu ni tsunagu
sukina hito to musubare tai
fukaku inoru wa
seishun no kumo ga kireru
kisetsu daki shime
dare mo minna
hitori bocchi dakara
yasashisa wo ito oshimu none
dakishimete tooku
anata no mune no
inochi no hibiki ni
michiru yume
futari de itemo
setsunakute
anata no yubi wo
gyutto kanda no
koi wo shitemo
otoko no hito
mayowa nai none
nagare ochita
hoshi no wa ga
mune no izumi ni
nami wo tatereba
kaketa tsuki wa sabishisa ni nite
kokoro itamu no
utsukushii hitomi no mama
douzo aishite
shiawase wo sagasu
shiawase futari
dakishimete ikite iketara
hanasanaide
ah
toki no ginga ni
nagasare
otona ni narou tomo
seishun no kumo ga kireru
kisetsu daki shime
dare mo minna
hitori bocchi dakara
yasashisa wo ito oshimu none
dakishimete tooku
anata no mune no
inochi no hibiki ni
michiru yume
If that reaches you
scattered on the water surface
golden tree leaves
make them as musical codes that wind play
for to convey my loving feeling
a droplet of the moon
to a left hand
by with my teardrops
gently connecting them into one
make wish that our feeling to join with
deeply prays it for
a cloud of being youth time have ripped
holding tightly that season
anyone even everyone
alive in solitary
that is why everyone cherishing the gentleness
embracing me
in your chest
the beats resonate to show your existance
that would become to fill the dream
even being with you
felt sadness inside me
your finger
I have bitten strongly
even if you are in love
since you are a male
you will not stray in love
flowing down
rings of the stars
fountain inside my chest
if makes ripples
as a waning moon look lonesome
making to hurt my heart
please stay in beautiful iris
please love me
searching for a happiness
two of our happiness
if could alive along with embracing them
do not let it go
ah
time of the galaxy
even if swept away
even if become adults
a cloud of being youth time have ripped
holding tightly that season
anyone even everyone
alive in solitary
that is why everyone cherishing the gentleness
embracing me
in your chest
the beats resonate to show your existance
that would become to fill the dream
"""
"""
あなたのもとへ 届くなら
水面(みなも)に散った 琥珀(きん)の枯れ葉を
風つまびく音符にして 想い伝える
月の雫を 左手に
涙でそっと ひとつにつなぐ
好きな人と結ばれたい…深く祈るわ
青春の雲が消れる 年頃(きせつ)抱きしめ
誰もみんな ひとりぼっちだから
優しさを 愛おしむのね
抱きしめて永遠(とお)く あなたの胸の
命の響きに 満ちる夢
ふたりでいても 切なくて
あなたの指を ぎゅっとかんだの
恋をしても男の人 迷わないのね
流れ落ちた 星の輪が
胸の泉に 波を立てれば
欠けた月は淋しさに似て 心痛むの
美しい瞳のまま どうぞ愛して
幸福(しあわせ)をさがす 幸福(しあわせ)ふたり
抱きしめて生きてゆけたら
離さないで ああ 時の銀河に
流され 大人になろうとも
青春の雲が消れる 年頃(きせつ)抱きしめ
誰もみんな ひとりぼっちだから
優しさを 愛おしむのね
抱きしめて永遠(とお)く あなたの胸の
命の響きに 満ちる夢
anata no moto e todoku nara
minamo ni chitta
kin no kareha wo
kaze tsumabiku onpu ni shite
omoi tsuta eru
tsuki no shizuku wo
hidari te ni
namida de sotto
hitotsu ni tsunagu
sukina hito to musubare tai
fukaku inoru wa
seishun no kumo ga kireru
kisetsu daki shime
dare mo minna
hitori bocchi dakara
yasashisa wo ito oshimu none
dakishimete tooku
anata no mune no
inochi no hibiki ni
michiru yume
futari de itemo
setsunakute
anata no yubi wo
gyutto kanda no
koi wo shitemo
otoko no hito
mayowa nai none
nagare ochita
hoshi no wa ga
mune no izumi ni
nami wo tatereba
kaketa tsuki wa sabishisa ni nite
kokoro itamu no
utsukushii hitomi no mama
douzo aishite
shiawase wo sagasu
shiawase futari
dakishimete ikite iketara
hanasanaide
ah
toki no ginga ni
nagasare
otona ni narou tomo
seishun no kumo ga kireru
kisetsu daki shime
dare mo minna
hitori bocchi dakara
yasashisa wo ito oshimu none
dakishimete tooku
anata no mune no
inochi no hibiki ni
michiru yume
If that reaches you
scattered on the water surface
golden tree leaves
make them as musical codes that wind play
for to convey my loving feeling
a droplet of the moon
to a left hand
by with my teardrops
gently connecting them into one
make wish that our feeling to join with
deeply prays it for
a cloud of being youth time have ripped
holding tightly that season
anyone even everyone
alive in solitary
that is why everyone cherishing the gentleness
embracing me
in your chest
the beats resonate to show your existance
that would become to fill the dream
even being with you
felt sadness inside me
your finger
I have bitten strongly
even if you are in love
since you are a male
you will not stray in love
flowing down
rings of the stars
fountain inside my chest
if makes ripples
as a waning moon look lonesome
making to hurt my heart
please stay in beautiful iris
please love me
searching for a happiness
two of our happiness
if could alive along with embracing them
do not let it go
ah
time of the galaxy
even if swept away
even if become adults
a cloud of being youth time have ripped
holding tightly that season
anyone even everyone
alive in solitary
that is why everyone cherishing the gentleness
embracing me
in your chest
the beats resonate to show your existance
that would become to fill the dream
"""
"""
[[月半小夜曲|ハーフムーン・セレナーデ-廣東話]] <<b4>>
[[莊心妍 Ada|https://youtube.com/watch?v=216mdz8uKcs]] | [[容祖兒|https://youtube.com/watch?v=-h9PfM3C__E]] | [[RU|https://youtube.com/watch?v=9BZCiatknrQ]] | [[sammi|https://youtube.com/watch?v=1Q6uwppLWXk]]
仍然倚在失眠夜 望天邊星宿
仍然聽見小提琴 如泣似訴再挑逗
為何只剩一彎月 留在我的天空
這晚以後音訊隔絕
☆人如天上的明月 是不可擁有
情如曲過只遺留 無可挽救再分別
為何只是失望 填密我的空虛
這晚夜沒有吻別
★仍在說永久 想不到是藉口
從未意會要分手
*但我的心每分每刻仍然被她佔有
她似這月兒仍然是不開口
提琴獨奏獨奏著 明月半倚深秋
我的牽掛 我的渴望 直至以後
(repeat: ☆★*,★*,★*)
"""
<$details summary ="pitch">
[[ハーフムーン・セレナーデ|ハーフムーン・セレナーデ-漢字]] b <<b4>>
</$details>
<$details summary ="河合奈保子 live piano+violin">
河合奈保子 <iframe height="10px" width="40px" src="music/20201223halfmoonserenade.m4a" frameborder="0"></iframe> [[live piano+violin|https://m.youtube.com/watch?v=n8KKWqnig6c]]
</$details>
<$details summary ="live">
<iframe height="10px" width="40px" src="music/河合奈保子 ハーフムーン・セレナーデ 月半小夜曲 (Half Moon Serenade).m4a" frameborder="0"></iframe> [[live|https://youtube.com/watch?v=8VDCaldp4qc]]</$details>
<$details summary ="harp">
<iframe height="10px" width="40px" src="music/ハーフムーン・セレナーデ 河合奈保子.m4a" frameborder="0"></iframe> [[harp|https://youtube.com/watch?v=SI0NVTrhVZk]]
</$details>
<$details summary ="jazz piano">
[[jazz piano|https://youtube.com/watch?v=T9duCztOKU8]]
</$details>
<$details summary ="live piano">
<iframe height="10px" width="40px" src="music/『ハーフムーン・セレナーデ』河合奈保子さん作曲【世界中を感動させた日本が誇る永遠の名曲】純白の天使の歌姫.m4a" frameborder="0"></iframe> [[live piano|https://www.youtube.com/watch?v=Hd4ImyAbXdI]]
</$details>
"""
あなたのもとへ 届くなら
水面(みなも)に散った 琥珀(きん)の枯れ葉を
風つまびく音符にして 想い伝える
月の雫を 左手に
涙でそっと ひとつにつなぐ
好きな人と結ばれたい…深く祈るわ
青春の雲が消れる 年頃(きせつ)抱きしめ
誰もみんな ひとりぼっちだから
優しさを 愛おしむのね
抱きしめて永遠(とお)く あなたの胸の
命の響きに 満ちる夢
ふたりでいても 切なくて
あなたの指を ぎゅっとかんだの
恋をしても男の人 迷わないのね
流れ落ちた 星の輪が
胸の泉に 波を立てれば
欠けた月は淋しさに似て 心痛むの
美しい瞳のまま どうぞ愛して
幸福(しあわせ)をさがす 幸福(しあわせ)ふたり
抱きしめて生きてゆけたら
離さないで ああ 時の銀河に
流され 大人になろうとも
青春の雲が消れる 年頃(きせつ)抱きしめ
誰もみんな ひとりぼっちだから
優しさを 愛おしむのね
抱きしめて永遠(とお)く あなたの胸の
命の響きに 満ちる夢
"""
[[simone weber|https://m.youtube.com/watch?v=5H8UrTRWuvI]] <iframe height="10px" width="40px" src="music/20210729 ムーンライト伝説 luz de luna simone weber.m4a" frameborder="0"></iframe>
[[寺下真理子×SUGURU(TSUKEMEN)|https://m.youtube.com/watch?v=8f0g62F1oXs]] <iframe height="10px" width="40px" src="music/20210729 ムーンライト伝説 寺下真理子×SUGURU(TSUKEMEN) violin piano.m4a" frameborder="0"></iframe>
[[aya mishima|https://m.youtube.com/watch?v=1h4A00J5yXg]] <iframe height="10px" width="40px" src="music/20210729 ムーンライト伝説 aya mishima violin.m4a" frameborder="0"></iframe>
ゆずれない願い
yuzurenaiNEGAi
田村直美
"""
止まらない未来を目指して ゆずれない願いを抱きしめて
海の色が紅く染まってゆく 無重力状態
このまま風にさらわれたい
いつも跳べないハードルを
負けない気持ちで クリアしてきたけど
出し切れない実力は 誰のせい?
止まらない未来を目指して ゆずれない願いを抱きしめて
色褪せない心の地図 光にかざそう
どれだけ泣けば 朝に出逢えるの
孤独な夜 初めて限界を感じた日
きっと恋に落ちるのは
まばたきみたいな 一瞬の情熱だけど
愛に続く坂道で 強さ覚えたい
止まらない未来を夢見て
口を閉し 瞳を光らせてきたけれど
もっと大きな 優しさが見えた
跳べないハードルを
負けない気持ちで クリアしてきたけど
スタートラインに立つたびに 怯えていた
止まらない未来を描いて 腕を伸ばし心を開いて
止まらない未来を目指して ゆずれない願いを抱きしめて
色褪せない心の地図 光にかざそう
"""
"""
makiaea 20030721, 20120121
止まらない未来を目指して ゆずれない願いを抱きしめて
DOmaranaiMI–RAIwoME–ZAshite yuzurenaiNEGAiwoDAkishimete
hold fast to that unyielding wish, as we head for an unstoppable future
海の色が紅く染まってゆく 無重力状態
UMInoiROgaAKAkuSOmatteyuku MU–JUU–RYOKU–JOU–TAI
dyeing red the ocean, falling free
このまま風にさらわれたい
konomamaKAZEnisarawaretai
i want to feel the wind as it is
いつも跳べないハードルを
itsumoTObenaihaadoruwo
those hurdles that seemed always so high
負けない気持ちで クリアしてきたけど
MAkenaiKI–MOchide kuriashitekitakedo
with an unbeatable spirit, we will clear them
出し切れない実力は 誰のせい?
DAshiKIrenaiJITSU–RYOKUwa DAREnosei?
if we don’t do our best, who will?
止まらない未来を目指して ゆずれない願いを抱きしめて
DOmaranaiMI–RAIwoME–ZAshite yuzurenaiNEGAiwoDAkishimete
hold fast to that unyielding wish, as we head for an unstoppable future
色褪せない心の地図 光にかざそう
IRO–AsenaiKOKOROnoCHI–ZU hikarinikazasou
those unfading maps of our hearts, hold them up to the light
どれだけ泣けば 朝に出逢えるの
doredakeNAkeba ASAniDE–Aeruno
however we may cry, dawn meets with
孤独な夜 初めて限界を感じた日
KO–DOKUnaYORU hajimeteGEN–KAIwoKANjitaHI
a lonely night, and marks the first touch of day
きっと恋に落ちるのは
kittoKOIniOchirunowa
falling in love surely
まばたきみたいな 一瞬の情熱だけど
mabatakimitaina ISSHUNnoJOU–NETSUdakedo
feels as quick as the blink of an eye, yet from a moment of passion
愛に続く坂道で 強さ覚えたい
AIniTSUZUkuSAKA–MICHIde TSUYOsaOBOetai
to following love’s steep roads, do we learn strength
止まらない未来を夢見て
DOmaranaiMI–RAIwoYUME–MIte
dream a dream of an unstoppable future
口を閉し 瞳を光らせてきたけれど
GUCHIwoTOzashi HITOMIwoHIKArasetekitakeredo
though speechless, your eyes shine a beacon
もっと大きな 優しさが見えた
mottoOUkina YASAshisagaMIeta
to greater gentleness
跳べないハードルを
TObenaihaadoruwo
those hurdles so high
負けない気持ちで クリアしてきたけど
MAkenaiKI–MOCHIde kuriashitekitakedo
with an unbeatable spirit, we shall clear them
スタートラインに立つたびに 怯えていた
sutaatorainniTAtsutabini OBIeteita
even if at the starting line we were scared
止まらない未来を描いて 腕を伸ばし心を開いて
DOmaranaiMIRAIwoEGAite UDEwoNObashiKOKOROwoHIRAite
reach out your hand, open your heart, and create an unstoppable future
止まらない未来を目指して ゆずれない願いを抱きしめて
DOmaranaiMI–RAIwoME–ZAshite yuzurenaiNEGAIwoDAkishimete
hold fast to that unyielding wish, as we head for an unstoppable future
色褪せない心の地図 光にかざそう
IRO–AsenaiKOKOROnoCHI–ZU hikarinikazasou
these unfading maps of our hearts hold us up to the light
"""
@@.answer
"""
一二 jat^^1^^ji^^6^^
just a little, one or two
一 jat^^1^^ — one, a, same, whole, each, once, a little
二 ji^^6^^ — two
"""
@@
@@.answer
"""
一個二個 jat^^1^^go^^3^^ji^^6^^go^^3^^
粵: each and every one //syn.// 個個
一 jat^^1^^ — one, a, same, whole, each, once, a little
個 go^^3^^ — unit, individual
二 ji^^6^^ — two
個 go^^3^^ — unit, individual
"""
@@
@@.answer
"""
一個人 jat^^1^^go^^3^^jan^^4^^
a person, alone, by oneself
一 jat^^1^^ — one, a, same, whole, each, once, a little
個 go^^3^^ — unit, individual
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
一個碼 jat^^1^^go^^3^^maa^^5^^
a free size (F) //lit.// one size
一 jat^^1^^ — one, a, same, whole, each, once, a little
個 go^^3^^ — unit, individual
碼 maa^^5^^ — numeral, symbol, yard (length)
"""
@@
@@.answer
"""
一共 jat^^1^^gung^^6^^
in total, in all, altogether //syn.// 總共
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
共 gung^^6^^/gong^^4^^ — common, altogether, together
"""
@@
@@.answer
"""
一切事物 jat^^1^^cai^^3^^si^^6^^mat^^6^^
everything
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
切 cit^^3^^ cai^^3^^/qie^^1^^ qie^^4^^ — cut, correspond to, close to, eager, all
事 si^^6^^/shi^^4^^ — matter, affair, job, work, accident
物 mat^^6^^/wu^^4^^ — thing, substance, stuff
"""
@@
@@.answer
"""
一千 jat^^1^^cin^^1^^
one thousand
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
千 cin^^1^^/qian^^1^^ — a thousand, many
"""
@@
@@.answer
"""
一句講晒 jat^^1^^geoi^^3^^gong^^2^^saai^^3^^
“spit it out!”, “get on with it”, “don’t beat about the bush!” an instruction for someone to get to the main point, to clarify what they want to say
to be brief, to speak directly to the point
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
句 geoi^^3^^ ngau^^1^^/ju^^4^^ gou^^1^^ — sentence
講 gong^^2^^/jiang^^3^^ — say, speak
晒 saai^^3^^/shai^^4^^ — 粵: entirely, very much, show off
"""
@@
@@.answer
"""
一啲啲 jat^^1^^di^^1^^ di^^1^^
粵: a little, a few, some; 華: 一點點, 一些些
一 jat^^1^^ — one, a, same, whole, each, once, a little
啲 di^^1^^ dit^^1^^ — some, those, a few
"""
@@
@@.answer
"""
一夜情 jat^^1^^je^^6^^cing^^4^^
a one–night–stand, a one–time casual sexual encounter
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
夜 je^^6^^/ye^^4^^ yi^^4^^ — night, dark, darkness
情 cing^^4^^/qing^^2^^ — emotion, love, sentiment
"""
@@
@@.answer
"""
一套 jat^^1^^tou^^3^^
a suit
a set
一 jat^^1^^ — one, a, same, whole, each, once, a little
套 tou^^3^^ — cover, set, convention, copy, knot, trick
"""
@@
@@.answer
"""
一家大細 jat^^1^^gaa^^1^^daai^^6^^sai^^3^^ — all members of the family, both old and young //lit.// one family, big small
一 jat^^1^^ — one, a, same, whole, each, once, a little
家 gaa^^1^^ — home, family, specialist
大 daai^^6^^ — big
細 sai^^3^^ — small
"""
@@
@@.answer
"""
一實 jat^^1^^sat^^6^^
粵: certainly, definitely
一 jat^^1^^ — one, a, same, whole, each, once, a little
實 sat^^6^^ — solid, true
"""
@@
@@.answer
"""
一年一度 jat^^1^^nin^^4^^jat^^1^^dou^^6^^
once a year (every year)
一 jat^^1^^ — one, a, same, whole, each, once, a little
年 nin^^4^^ — year
度 dou^^6^^ dok^^6^^ dou^^2^^ — measure, rules, estimate, roughly
"""
@@
@@.answer
"""
一年中 jat^^1^^nin^^4^^zung^^1^^
within a year
一 jat^^1^^ — one, a, same, whole, each, once, a little
年 nin^^4^^ — year
中 zung^^1^^ zung^^3^^ — centre, middle, during, average, affected by
"""
@@
@@.answer
"""
一成 jat^^1^^sing^^4^^
ten percent
一 jat^^1^^ — one, a, same, whole, each, once, a little
成 sing^^4^^ seng^^4^^ — succeed, achieve, grow, one tenth, whole
"""
@@
@@.answer
"""
一手一腳 jat^^1^^sau^^2^^jat^^1^^goek^^3^^
to work alone, to be on one’s own, //lit.// one hand one foot
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
手 sau^^2^^/shou^^3^^ — hand
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
腳 goek^^3^^/jiao^^3^^ — foot, feet
"""
@@
@@.answer
"""
一把 jat^^1^^baa^^2^^
a handful
一 jat^^1^^ — one, a, same, whole, each, once, a little
把 baa^^2^^ — grasp, handle, bundle
"""
@@
@@.answer
"""
一把火 jat^^1^^baa^^2^^fo^^2^^
extremely angry, filled with rage
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
把 baa^^2^^/ba^^3^^ — grasp, handle, bundle
火 fo^^2^^/huo^^3^^ — fire
"""
@@
@@.answer
"""
一早就 jat^^1^^zou^^2^^zau^^6^^
earlier on, from the beginning, from the past //alt.// 早先
一 jat^^1^^ — one, a, same, whole, each, once, a little
早 zou^^2^^ — early
就 zau^^6^^ — right away, only, approach, comply with
"""
@@
@@.answer
"""
一月 jat^^1^^jyut^^6^^
January
一 jat^^1^^ — one, a, same, whole, each, once, a little
月 jyut^^6^^ — moon, month
"""
@@
@@.answer
"""
一條一條 jat^^1^^tiu^^4^^jat^^1^^tiu^^4^^
strip by strip
一 jat^^1^^ — one, a, same, whole, each, once, a little
條 tiu^^4^^ — long narrow piece
"""
@@
@@.answer
"""
一樓 jat^^1^^lau^^4*2^^
the ground floor (UK), first floor (US). In Hong Kong, offices or shops on the ground floor are said to be at 地下 dei^^6^^haa^^2^^ which may confuse Mandarin–speakers as “地下” in addresses in China means basement or underground
一 jat^^1^^ — one, a, same, whole, each, once, a little
樓 lau^^4^^ — multi–storey building
"""
@@
@@.answer
"""
一次 jat^^1^^ci^^3^^
once, the first, the first time
一 jat^^1^^ — one, a, same, whole, each, once, a little
次 ci^^3^^ — order, second, second–rate, time
"""
@@
@@.answer
"""
一次生兩次熟 jat^^1^^ci^^3^^saang^^1^^loeng^^5^^ci^^3^^suk^^6^^
//lit.// first raw second cooked
people get used to things quickly
things that are hard at first become easier people gain experience quickly
"""
@@
@@.answer
"""
一步 jat^^1^^bou^^6^^
one single step, a pace
一 jat^^1^^ — one, a, same, whole, each, once, a little
步 bou^^6^^ — step, pace, fortune
"""
@@
<<tabs "一番の宝物-漢字 一番の宝物-english" "[[一番の宝物-漢字]]" explicitState:"$:/state/tab/一番の宝物" retain:"yes">>
"""
一番の宝物 (yui final version)
ichibannotakaramono
my most precious treasure
顔を合わしたら喧嘩してばかり
KAOwoAwashitaraKENKAshitebakari
if we see each other’s faces, we always fight
それもいい思い出だった
soremoiiOMOiDEdatta
that’s a good memory too
きみが教えてくれたんだ もう恐くない
kimigaOSHIetekuretanda mouKOWAkunai
you taught me that; i’m not afraid anymore
どんな不自由でも幸せは掴める だから
donnaFUJIYUUdemoSHIAWAsewaTSUKAmeru dakara
no matter what kind of impairment i may have, i can grasp happiness. that’s why…
ひとりでもゆくよ 例え辛くても
hitoridemoyukuyo TATOeTSURAkutemo
even if i’m alone, i’ll go, even if it’s difficult
きみと見た夢は 必ず持ってくよ
kimitoMItaYUMEwa KANARAzumottekuyo
i’ll definitely bring the dream i had with you
きみとがよかった ほかの誰でもない
kimitogayokatta hokanoDAREdemonai
i’m glad it was with you, and nobody else
でも目覚めた朝 きみは居ないんだね
demoMEZAmetASA kimiwaInaindane
but when i woke up in the morning, you weren’t there
ずっと遊んでれる そんな気がしてた
zuttoASOndereru sonnaKIgashiteta
i was always playing; that’s the feeling i got
気がしていただけ わかってる
KIgashiteitadake wakatteru
that was just a feeling i got, that was it, i know
生まれてきたこともう後悔はしない
UmaretekitakotomouKOUKAIwashinai
i don’t regret that i was born anymore
祭りの後みたい 寂しいけどそろそろ行こう
MATSUrinoATOmitai SAMIshiikedosorosoroIkou
like the end of a festival, it’s lonely, but we’ve got to go pretty soon
どこまでもゆくよ ここで知ったこと
dokomademoyukuyo kokodeSHIttakoto
i’ll go anywhere with the things i learned here
幸せという夢を叶えてみせるよ
SHIAWAsetoiuYUMEwoKANAetemiseruyo
i’ll show you that i can make the dream called happiness come true
きみと離れても どんなに遠くなっても
kimitoHANAretemo donnaniTOOkunattemo
even if i’m separated from you, no matter how far away we go
新しい朝に あたしは生きるよ
ATARAshiiASAni atashiwaIkiruyo
i’m going to live in a new morning
ひとりでもゆくよ 死にたくなっても
hitoridemoyukuyo SHInitakunattemo
even if i’m alone, i’ll go, even if i want to die
声が聞こえるよ 死んではいけないと
KOEgaKIkoeruyo SHIndewaikenaito
i can hear your voice, saying i shouldn’t die
例え辛くても 寂しさに泣いても
TATOeTSURAkutemo SAMIshisaniNAitemo
even if it’s difficult, even if i cry from loneliness
心の奥には 温もりを感じるよ
KOKOROnoOKUniwa NUKUmoriwoKANjiruyo
i can feel warmth from deep inside my heart
巡って流れて 時は移ろいだ
MEGUtteNAGArete TOKIwaUTSUroida
going round-and-round and flowing, time is ever-changing
もう何があったか 思い出せないけど
mouNANIgaattaka OMOiDAsenaikedo
i can’t remember what happened anymore, but
目を閉じてみれば 誰かの笑い声
MEwoTOjitemireba DAREkanoWARAiGOE
if i try and close my eyes, i can hear someone’s laughing voice
なぜかそれが今一番の宝物
nazekasoregaIMAICHIBANnoTAKARAMONO
for some reason, now, that is my most precious treasure
"""
"""
[[一番の宝物|一番の宝物-漢字]] <<a4>>
顔を合わしたら喧嘩してばかり
それもいい思い出だった
きみが教えてくれたんだ もう恐くない
どんな不自由でも幸せは掴める だから
ひとりでもゆくよ 例え辛くても
きみと見た夢は 必ず持ってくよ
きみとがよかった ほかの誰でもない
でも目覚めた朝 きみは居ないんだね
ずっと遊んでれる そんな気がしてた
気がしていただけ わかってる
生まれてきたこともう後悔はしない
祭りの後みたい 寂しいけどそろそろ行こう
どこまでもゆくよ ここで知ったこと
幸せという夢を叶えてみせるよ
きみと離れても どんなに遠くなっても
新しい朝に あたしは生きるよ
ひとりでもゆくよ 死にたくなっても
声が聞こえるよ 死んではいけないと
例え辛くても 寂しさに泣いても
心の奥には 温もりを感じるよ
巡って流れて 時は移ろいだ
もう何があったか 思い出せないけど
目を閉じてみれば 誰かの笑い声
なぜかそれが今一番の宝物
"""
@@.answer
"""
一百 jat^^1^^baak^^3^^
one hundred
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
百 baak^^3^^/bai^^3^^ bo^^2^^ mo^^4^^ — hundred
"""
@@
@@.answer
"""
一直 jat^^1^^zik^^6^^
always, all the way, all along; 粵: 不留
straight
continue to
一 jat^^1^^ — one, a, same, whole, each, once, a little
直 zik^^6^^ — straight, vertical, upright, outspoken
"""
@@
@@.answer
"""
一筆 jat^^1^^bat^^1^^
a brushstroke
一 jat^^1^^ — one, a, same, whole, each, once, a little
筆 bat^^1^^ — pen, pencil, writing brush
"""
@@
@@.answer
"""
一腳踢 jat^^1^^goek^^3^^tek^^3^^
someone who gets things done on their own
a one–person operation, a “jack–of–all trades” //lit.// one leg kick
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
腳 goek^^3^^/jiao^^3^^ — foot, feet
踢 tek^^3^^/ti^^1^^ — kick
"""
@@
@@.answer
"""
一連 jat^^1^^lin^^4^^
in a row, in a line, in succession, running; 粵: also 連氣
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
連 lin^^4^^/lian^^2^^ — link, continuously, including, even
"""
@@
@@.answer
"""
一陣風 jat^^1^^zan^^6^^fung^^1^^
a gust of wind
一 jat^^1^^ — one, a, same, whole, each, once, a little
陣 zan^^6^^ — battle formation, period of time
風 fung^^1^^ fung^^3^^ — wind
"""
@@
@@.answer
"""
一雙鞋 jat^^1^^soeng^^1^^haai^^4^^
a pair of shoes
一 jat^^1^^ — one, a, same, whole, each, once, a little
雙 soeng^^1^^ — two, pair, double
鞋 haai^^4^^ — shoes
"""
@@
@@.answer
"""
一雞死一雞鳴 jat^^1^^gai^^1^^sei^^2^^jat^^1^^gai^^1^^ming^^4^^
when one person leaves a business or an occupation, another will take it up //lit.// one cock dies, another crows
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
雞 gai^^1^^/ji^^1^^ — chicken
死 sei^^2^^/si^^3^^ — die, death, dead
鳴 ming^^4^^/ming^^2^^ — call, cry, make sound, express
"""
@@
@@.answer
"""
一頭煙 jat^^1^^tau^^4^^jin^^1^^
at loose ends, not know what to do, confused
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
頭 tau^^4^^/tou^^2^^ tou^^5^^ — head, first, chief
煙 jin^^1^^/yan^^1^^ — smoke, cigarette
"""
@@
@@.answer
"""
一頸血 jat^^1^^geng^^2^^hyut^^3^^
to lose a lot of money //lit.// a neck of blood
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
頸 geng^^2^^/jing^^3^^ geng^^3^^ — neck
血 hyut^^3^^/xue^^4^^ xie^^3^^ — blood, blood relationship
"""
@@
@@.answer
"""
一點正 jat^^1^^dim^^2^^zing^^3^^
one o’clock exactly
一 jat^^1^^ — one, a, same, whole, each, once, a little
點 dim^^2^^ — dot, point, drop, select, touch, instruct
正 zing^^3^^ zing^^1^^ zeng^^3^^ — upright, standard, pure, main
"""
@@
@@.answer
"""
一齊 jat^^1^^cai^^4^^
all together; 華: 一起
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
齊 cai^^4^^/qi^^2^^ — even, neat, uniform
"""
@@
@@.answer
"""
三三兩兩 saam^^1^^saam^^1^^loeng^^5^^loeng^^5^^
in twos and threes
三 saam^^1^^ saam^^3^^ — three, several
兩 loeng^^5^^ loeng^^2^^ — two, pair
"""
@@
@@.answer
"""
三人一條心, 黃土變成金 saam^^1^^jan^^4^^jat^^1^^tiu^^4^^sam^^1^^wong^^4^^tou^^2^^bin^^3^^sing^^4^^gam^^1^^
united, we do great things //lit.// three people of one heart can transform yellow earth into gold
三 saam^^1^^ saam^^3^^ — three, several
人 jan^^4^^ — person, human being
一 jat^^1^^ — one, a, same, whole, each, once, a little
條 tiu^^4^^ — long narrow piece
心 sam^^1^^ — heart
黃 wong^^4^^ — yellow
土 tou^^2^^ — soil, earth
變 bin^^3^^ — change, alter, accident, uncommon
成 sing^^4^^ seng^^4^^ — succeed, achieve, grow, one tenth, whole
金 gam^^1^^ — gold
"""
@@
@@.answer
"""
三份 saam^^1^^fan^^6^^
triplicate
三 saam^^1^^ saam^^3^^ — three, several
份 fan^^6^^ — portion, part, share
"""
@@
@@.answer
"""
三份之一 saam^^1^^fan^^6^^zi^^1^^jat^^1^^
a third
三 saam^^1^^ saam^^3^^ — three, several
份 fan^^6^^ — portion, part, share
之 zi^^1^^ — ‘s, of, it, this, go to, to
一 jat^^1^^ — one, a, same, whole, each, once, a little
"""
@@
@@.answer
"""
三分 saam^^1^^fan^^1^^
to trisection
三 saam^^1^^ saam^^3^^ — three, several
分 fan^^1^^ fan^^6^^ — divide, distribute, distinguish, point
"""
@@
@@.answer
"""
三扒兩撥 saam^^1^^paa^^4^^loeng^^5^^but^^6^^
very quickly, in no time at all
三 saam^^1^^ saam^^3^^ — three, several
扒 paa^^2^^ paa^^4^^ paa^^1^^ — steak, steal, hold on to
兩 loeng^^5^^ loeng^^2^^ — two, pair
撥 but^^6^^ put^^3^^ — move, poke, set aside, allocate
"""
@@
@@.answer
"""
三文治 saam^^1^^man^^4^^zi^^6^^
粵: a sandwich, transliteration of “sandwich”; 華: 三明治
三 saam^^1^^ saam^^3^^ — three, several
文 man^^4^^ man^^4*1^^ man^^6^^ — written language, literary, civilian
治 zi^^6^^ — rule, govern, stable, treat, punish, study
"""
@@
@@.answer
"""
三更窮五更富 saam^^1^^gaang^^1^^kung^^4^^ng^^5^^gaang^^1^^fu^^3^^
uncertain, insecure (life, fate) //lit.// poor at midnight rich at dawn
"""
@@
@@.answer
"""
上一個 soeng^^6^^jat^^1^^go^^3^^
the last, the previous
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
一 jat^^1^^ — one, a, same, whole, each, once, a little
個 go^^3^^ — unit, individual
"""
@@
@@.answer
"""
上一個嘅 soeng^^6^^jat^^1^^go^^3^^ge^^3^^
粵: the previous one
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
一 jat^^1^^ — one, a, same, whole, each, once, a little
個 go^^3^^ — unit, individual
嘅 ge^^3^^ ge^^2^^ — adjective suffix, possessive/final particle
"""
@@
@@.answer
"""
上上 soeng^^5^^soeng^^5^^
before last, the very best
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
"""
@@
@@.answer
"""
上品 soeng^^6^^ban^^2^^
a top grade, top of the line
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
品 ban^^2^^ — product, commodity
"""
@@
@@.answer
"""
上啲 soeng^^5^^di^^1^^
粵: higher up
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
啲 di^^1^^ dit^^1^^ — some, those, a few
"""
@@
@@.answer
"""
上天 soeng^^6^^tin^^1^^
heaven
上天 soeng^^5^^tin^^1^^
to go up into the sky
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
天 tin^^1^^ — sky, heaven
"""
@@
@@.answer
"""
上契 soeng^^5^^kai^^3^^
a formal ceremony establishing honorary parenthood. when a family has only one child for generations, a child may be 契’ed to a large family in order to benefit from the luck, or to a very poor family in order to avoid jealousy of gods, or just to maintain a good relationship between two families. Nowadays, 上契 is common in entertainment industry to fostering mutual assistance. In classical literature, or today in gangs, 契 is a formal ceremony to swear fidelity, becoming sworn brothers. The relevant terms of address for father, mother, son and daughter are 契爺, 契媽, 契仔, 契女 respectively. In 粵:, the same kinship terms are used by Christians, when godparents are appointed during the rite of baptism (契神)
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
契 kai^^3^^ kit^^3^^ sit^^3^^ — contract, adopt
"""
@@
@@.answer
"""
上帝 soeng^^6^^dai^^3^^
god
上 soeng^^6^^ soeng^^5^^/shang^^4^^ — upper, superior, preceding, up, on
帝 dai^^3^^/di^^4^^ — emperor, god
"""
@@
@@.answer
"""
上年 soeng^^6^^nin^^4*2^^
past year
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
年 nin^^4^^ — year
"""
@@
@@.answer
"""
上星期 soeng^^6^^sing^^1^^kei^^4^^
last week, the previous week; also 上個星期
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
星 sing^^1^^ — star
期 kei^^4^^ — period of time, phase, expect
"""
@@
@@.answer
"""
上朝 soeng^^5^^ciu^^4^^
to go to court, hold court
上 soeng^^6^^ soeng^^5^^/shang^^4^^ — upper, superior, preceding, up, on
朝 ziu^^1^^ ciu^^4^^/zhao^^1^^ chao^^2^^ — morning, face towards, dynasty
"""
@@
@@.answer
"""
上當 soeng^^5^^dong^^3^^
to be fooled, to be taken in, to be duped //lit.// to go up to the stall
上 soeng^^6^^ soeng^^5^^/shang^^4^^ — upper, superior, preceding, up, on
當 dong^^1^^ dong^^3^^/dang^^1^^ dang^^4^^ — work as, in charge, appropriate, regard as
"""
@@
@@.answer
"""
上相 soeng^^6^^soeng^^3^^
to come out well in photograph, be photographic, be photogenic
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
相 soeng^^1^^ soeng^^3^^ soeng^^3*2^^ — mutually, appearance, photo
"""
@@
@@.answer
"""
上網 soeng^^5^^mong^^5^^
to go on the Internet
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
網 mong^^5^^ — net, web, network
"""
@@
@@.answer
"""
上陣不離父子兵 soeng^^5^^zan^^6^^bat^^1^^lei^^4^^fu^^6^^zi^^2^^bing^^1^^
cooperation between a father and son against adversity, good relationship between son and father, blood is thicker than water //lit.// when going to war, father and son must stand together
上 soeng^^6^^ soeng^^5^^/shang^^4^^ — upper, superior, preceding, up, on
陣 zan^^6^^/zhen^^4^^ — battle formation, period of time
不 bat^^1^^/bu^^4^^ — not, no, un–
離 lei^^4^^/li^^2^^ — leave, away from
父 fu^^6^^ fu^^2^^/fu^^4^^ fu^^3^^ — father
子 zi^^2^^/zi^^3^^ zi^^5^^ — son, person, egg, young, subsidiary
兵 bing^^1^^/bing^^1^^ — weapons, soldier, troops, military
"""
@@
@@.answer
"""
下一個 haa^^6^^jat^^1^^go^^3^^
next, the next one
下 haa^^6^^ haa^^5^^ — under, lower, next, go down
一 jat^^1^^ — one, a, same, whole, each, once, a little
個 go^^3^^ — unit, individual
"""
@@
@@.answer
"""
下低 haa^^6^^dai^^1^^
粵: below, at the bottom; 華: 下面, 底下, 下邊
下 haa^^6^^ haa^^5^^ — under, lower, next, go down
低 dai^^1^^ — lower, bend, low
"""
@@
@@.answer
"""
下個星期 haa^^6^^go^^3^^sing^^1^^kei^^4^^
next week; spoken //syn.// 下個禮拜
下 haa^^6^^ haa^^5^^ — under, lower, next, go down
個 go^^3^^ — unit, individual
星 sing^^1^^ — star
期 kei^^4^^ — period of time, phase, expect
"""
@@
@@.answer
"""
下午 haa^^6^^ng^^5^^
華: the afternoon; 粵: 下晏, 下晝, 晏晝
<small>P.M.</small> //post meridien//
下 haa^^6^^ haa^^5^^ — under, lower, next, go down
午 ng^^5^^ — noon
"""
@@
@@.answer
"""
下星期見 haa^^6^^sing^^1^^kei^^4^^gin^^3^^
see you next week
下 haa^^6^^ haa^^5^^ — under, lower, next, go down
星 sing^^1^^ — star
期 kei^^4^^ — period of time, phase, expect
見 gin^^3^^ jin^^6^^ — see, meet, view, show evidence of
"""
@@
@@.answer
"""
下水 haa^^6^^seoi^^2^^
to enter the water, launch, offal, fall into evil ways
下 haa^^6^^ haa^^5^^ — under, lower, next, go down
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
下酒 haa^^5^^zau^^2^^
to go with wine
下 haa^^6^^ haa^^5^^ — under, lower, next, go down
酒 zau^^2^^ — wine, spirits
"""
@@
@@.answer
"""
不准 bat^^1^^zeon^^2^^
華: to not allow, to forbid, to prohibit, prohibited, not allowed, forbidden; 粵: 唔准
不 bat^^1^^ — not, no, un–
准 zeon^^2^^ — allow, grant, permit
"""
@@
@@.answer
"""
不可能 bat^^1^^ho^^2^^nang^^4^^
impossible, cannot; 粵: 冇可能
不 bat^^1^^ — not, no, un–
可 ho^^2^^ hak^^1^^ — can, approve, need, but
能 nang^^4^^ — can, may, able to, ability, energy
"""
@@
@@.answer
"""
不同 bat^^1^^tung^^4^^
not the same, different, distinct, not alike; 粵: 唔同
不 bat^^1^^ — not, no, un–
同 tung^^4^^ — same, together, for
"""
@@
@@.answer
"""
不大 bat^^1^^daai^^6^^
not very, not too, not often; 粵: 唔多
不 bat^^1^^ — not, no, un–
大 daai^^6^^ — big
"""
@@
@@.answer
"""
不大不小 bat^^1^^daai^^6^^bat^^1^^siu^^2^^
華: just the right size
不 bat^^1^^ — not, no, un–
大 daai^^6^^ — big
小 siu^^2^^ — small, tiny, little
"""
@@
@@.answer
"""
不妥 bat^^1^^to^^5^^
inappropriate, not proper, not right; 粵: 唔妥
不 bat^^1^^/bu^^4^^ — not, no, un–
妥 to^^5^^/tuo^^3^^ — appropriate, ready
"""
@@
@@.answer
"""
不安 bat^^1^^on^^1^^
anxious, anxiety
不 bat^^1^^ — not, no, un–
安 on^^1^^ — peaceful, stabilise, install, fabricate
"""
@@
@@.answer
"""
不安全 bat^^1^^on^^1^^cyun^^4^^
insecurity, lack of safety
不 bat^^1^^ — not, no, un–
安 on^^1^^ — peaceful, stabilise, install, fabricate
全 cyun^^4^^ — perfect, whole, total
"""
@@
@@.answer
"""
不對 bat^^1^^deoi^^3^^
華: no, incorrect; 粵: 唔啱 or 唔係
不 bat^^1^^ — not, no, un–
對 deoi^^3^^ — correct, answer, counter, face, opposite
"""
@@
@@.answer
"""
不小心 bat^^1^^siu^^2^^sam^^1^^
華: careless
不 bat^^1^^ — not, no, un–
小 siu^^2^^ — small, tiny, little
心 sam^^1^^ — heart
"""
@@
@@.answer
"""
不得 bat^^1^^dak^^1^^
cannot, not able to; 粵: 唔可以, 唔可, 唔可能, 唔得 //syn.// 不可以, 不能, 不可能, 不能夠, 不行
不 bat^^1^^ — not, no, un–
得 dak^^1^^ — get, obtain, fit, finished, able to, must
"""
@@
@@.answer
"""
不得了 bat^^1^^dak^^1^^liu^^5^^
desperately serious, disastrous, extremely, exceedingly
不 bat^^1^^/bu^^4^^ — not, no, un–
得 dak^^1^^/de^^2^^ de^^5^^ dei^^3^^ — get, obtain, fit, finished, able to, must
了 liu^^5^^/le^^5^^ liao^^3^^ — completed, change, finish
"""
@@
@@.answer
"""
不愧 bat^^1^^kwai^^5^^
to be worthy, be deserving, have proved oneself
不 bat^^1^^/bu^^4^^ — not, no, un–
愧 kwai^^5^^ kwai^^3^^/kui^^4^^ — ashamed, conscience–stricken
"""
@@
@@.answer
"""
不懂 bat^^1^^dung^^2^^
華: ignorant of, incomprehension
to not understand; 粵: 唔明
不 bat^^1^^ — not, no, un–
懂 dung^^2^^ — understand
"""
@@
@@.answer
"""
不成 bat^^1^^sing^^4^^
華: not completed, unfinished, won’t do
不 bat^^1^^ — not, no, un–
成 sing^^4^^ seng^^4^^ — succeed, achieve, grow, one tenth, whole
"""
@@
@@.answer
"""
不是的 bat^^1^^si^^6^^dik^^1^^
華: no, that’s not so
不 bat^^1^^ — not, no, un–
是 si^^6^^ — is
的 dik^^1^^ — possessive suffix
"""
@@
@@.answer
"""
不正 bat^^1^^zing^^3^^
華: fraudulency, unrighteousness
不 bat^^1^^ — not, no, un–
正 zing^^3^^ zing^^1^^ zeng^^3^^ — upright, standard, pure, main
"""
@@
@@.answer
"""
不比 bat^^1^^bei^^2^^
unlike
不 bat^^1^^ — not, no, un–
比 bei^^2^^ bei^^3^^ bei^^6^^ — compare with, liken to, than
"""
@@
@@.answer
"""
不測 bat^^1^^cak^^1^^
an accident, mishap, contingency
不 bat^^1^^/bu^^4^^ — not, no, un–
測 cak^^1^^ caak^^1^^/ce^^4^^ — measure, conjecture
"""
@@
@@.answer
"""
不用謝 bat^^1^^jung^^6^^ze^^6^^
華: you’re welcome, don’t mention it
粵: 唔使多謝 (for goods received) and 唔使唔該 (for services rendered)
不 bat^^1^^ — not, no, un–
用 jung^^6^^ — use, operate
謝 ze^^6^^ — thank, thanks
"""
@@
@@.answer
"""
不當 bat^^1^^dong^^3^^
not suitable, not fitting, inappropriate; 粵: 唔啱 //syn.// 不適當, 不適合
不 bat^^1^^ — not, no, un–
當 dong^^1^^ dong^^3^^ — work as, in charge, appropriate, regard as
"""
@@
@@.answer
"""
不知所謂 bat^^1^^zi^^1^^so^^2^^wai^^6^^
to not know what one is doing, to not know (simple/common) things
不 bat^^1^^/bu^^4^^ — not, no, un–
知 zi^^1^^ zi^^3^^/zhi^^1^^ zhi^^4^^ — know, knowledge, inform
所 so^^2^^/suo^^3^^ — location, position, building, office
謂 wai^^6^^/wei^^4^^ — say, call
"""
@@
@@.answer
"""
不能 bat^^1^^nang^^4^^
華: cannot, should not, must not
不 bat^^1^^ — not, no, un–
能 nang^^4^^ — can, may, able to, ability, energy
"""
@@
@@.answer
"""
不行 bat^^1^^hang^^4^^
華: no, not okay, do not, will not; 粵: 唔得
不 bat^^1^^ — not, no, un–
行 hang^^4^^ haang^^4^^ hong^^4^^ hang^^6^^ — walk, circulate, line, trade, shop, conduct
"""
@@
@@.answer
"""
不軌 bat^^1^^gwai^^2^^
against the law or discipline
不 bat^^1^^/bu^^4^^ — not, no, un–
軌 gwai^^2^^/gui^^3^^ — track, rail
"""
@@
@@.answer
"""
不需 bat^^1^^seoi^^1^^
華: not needed
不 bat^^1^^ — not, no, un–
需 seoi^^1^^ — need, require
"""
@@
@@.answer
"""
世代 sai^^3^^doi^^6^^
a generation, (for) generations
世 sai^^3^^ — generation, lifespan
代 doi^^6^^ — substitute, era, dynasty, generation
"""
@@
@@.answer
"""
世侄 sai^^3^^zat^^6^^
the younger generation
世 sai^^3^^ — generation, lifespan
侄 zat^^6^^ — nephew
"""
@@
@@.answer
"""
丟疏咗 diu^^1^^so^^1^^zo^^2^^
to have lost the ability to do something, to have one’s skills go rusty, “to be out of touch”
丟 diu^^1^^ — to lose, to throw, to put aside
疏 so^^1^^ so^^3^^ — sparse, distant, scatter, dredge, hollow
咗 zo^^2^^ — already
"""
@@
@@.answer
"""
並 bing^^6^^ bing^^3^^
to be side by side, be on the same level with
simultaneously, together, at the same time
(used before a negative for emphasis) actually, definitely, really
[conj] (used to join two verbs, etc) and, and then, furthermore
粵: bing^^6^^ is the standard reading, bing^^3^^ is variant
并 is the simplified form for both 並 and 併
"""
@@
@@.answer
"""
並不 bing^^6^^bat^^1^^
absolutely not
並 bing^^6^^ bing^^3^^ — side by side, together, actually, and then
不 bat^^1^^ — not, no, un–
"""
@@
@@.answer
"""
並且 bing^^6^^ce^^2^^
furthermore, besides, moreover, in addition //syn.// 況且
並 bing^^6^^ bing^^3^^ — side by side, together, actually, and then
且 ce^^2^^ zeoi^^1^^ — just, for the time being, moreover, even
"""
@@
@@.answer
"""
並存 bing^^6^^cyun^^4^^
to coexist, exist side by side
concurrent
並 bing^^6^^ bing^^3^^ — side by side, together, actually, and then
存 cyun^^4^^ — exist, live, store, cherish, stock
"""
@@
@@.answer
"""
中國 zung^^1^^gwok^^3^^
China
中 zung^^1^^ zung^^3^^/zhong^^1^^ zhong^^4^^ — centre, middle, during, average, affected by
國 gwok^^3^^/guo^^2^^ — nation, country, state
"""
@@
@@.answer
"""
中型 zung^^1^^jing^^4^^
medium–sized
中 zung^^1^^ zung^^3^^ — centre, middle, during, average, affected by
型 jing^^4^^ — pattern, model, type, standard, stylish
"""
@@
@@.answer
"""
中場 zung^^1^^coeng^^4^^
[soccer] midfield
中 zung^^1^^ zung^^3^^ — centre, middle, during, average, affected by
場 coeng^^4^^ — sports arena, open space, field, show
"""
@@
@@.answer
"""
中學 zung^^1^^hok^^6^^
a secondary school
中 zung^^1^^ zung^^3^^ — centre, middle, during, average, affected by
學 hok^^6^^ — learn, learning, school
"""
@@
@@.answer
"""
中指 zung^^1^^zi^^2^^
//medius//, an anatomical structure that is between two other similar structures
a middle finger, toe, etc. //lit.// middle finger
中 zung^^1^^ zung^^3^^ — centre, middle, during, average, affected by
指 zi^^2^^ — finger, point to, refer to, depend on
"""
@@
@@.answer
"""
中東 zung^^1^^dung^^1^^
the middle east
中 zung^^1^^ zung^^3^^ — centre, middle, during, average, affected by
東 dung^^1^^ — east , host, master, owner, family name
"""
@@
@@.answer
"""
中的 zung^^3^^dik^^1^^
within / in
to hit a target
中 zung^^1^^ zung^^3^^ — centre, middle, during, average, affected by
的 dik^^1^^ — possessive suffix
"""
@@
@@.answer
"""
中立 zung^^1^^laap^^6^^
neutrality, the state of being neutral
中 zung^^1^^ zung^^3^^ — centre, middle, during, average, affected by
立 laap^^6^^ lap^^6^^ — stand, erect, upright, appoint
"""
@@
@@.answer
"""
中華 zung^^1^^waa^^4^^
China, Chinese
中 zung^^1^^ zung^^3^^ — centre, middle, during, average, affected by
華 waa^^4^^ waa^^6^^ faa^^1^^ — magnificent, prosperous, flashy, your, China
"""
@@
@@.answer
"""
中間 zung^^1^^gaan^^1^^
the middle, centre
among, between
中 zung^^1^^ zung^^3^^ — centre, middle, during, average, affected by
間 gaan^^1^^ gaan^^3^^ — interval of time or space
"""
@@
@@.answer
"""
丹 daan^^1^^ / dan^^1^^
vermilion, red, scarlet
a pellet, pill, powder
"""
@@
@@.answer
"""
主張 zyu^^2^^zoeng^^1^^
to advocate, to stand for
a view, viewpoint, position, proposition, stand, assertion
主 zyu^^2^^/zhu^^3^^ zhu^^4^^ — master, chief, leader
張 zoeng^^1^^/zhang^^1^^ — stretch, tense
"""
@@
@@.answer
"""
之上 zi^^1^^soeng^^6^^
above
之 zi^^1^^ — ’s, of, it, this, go to, to
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
"""
@@
@@.answer
"""
之下 zi^^1^^haa^^6^^
below
之 zi^^1^^/zhi^^1^^ — ’s, of, it, this, go to, to
下 haa^^6^^ haa^^5^^/xia^^4^^ — under, lower, next, go down
"""
@@
@@.answer
"""
之嘛 zi^^1^^maa^^3^^
only, that’s all, nothing much (modal particle) (indicator of limit at the end of a sentence when making a point) e.g. 佢當然唔識揸車;佢係十四之嘛。Of course he doesn’t know how to drive a car, he’s only fourteen; 華: 罷了
之 zi^^1^^/zhi^^1^^ — ’s, of, it, this, go to, to
嘛 maa^^3^^ maa^^5^^ maa^^4^^/ma^^5^^ — of course, do you?
"""
@@
@@.answer
"""
乘機 sing^^4^^gei^^1^^
to seize the opportunity
乘 sing^^4^^ sing^^6^^/cheng^^2^^ sheng^^4^^ — take a ride, take advantage of, multiply
機 gei^^1^^/ji^^1^^ — machine
"""
@@
@@.answer
"""
乜人 mat^^1^^jan^^6^^
粵: who? whom? whose? anyone? //syn.// 邊個, 邊位, 乜誰
乜 mat^^1^^ me^^1^^ — 粵: what
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
乜嘢 mat^^1^^/mi^^1^^/me^^1^^je^^5^^
what? 書: 甚麼, 什麼; 文: 何; 咩 can be used as a contraction of 乜嘢
乜 mat^^1^^ me^^1^^/mie^^1^^ — 粵: what
嘢 je^^5^^/ye^^3^^ — 粵: thing; articles
"""
@@
@@.answer
"""
乜野 mat^^1^^je^^5^^
粵: what (question word)
乜 mat^^1^^ me^^1^^ — 粵: what
野 je^^5^^ — open country, uncultivated, rude
"""
@@
@@.answer
"""
乞嗤 hat^^1^^ci^^1^^
a sneeze (onomatopoeia); 華: 噴嚏
乞 hat^^1^^ hei^^3^^/qi^^3^^ qi^^4^^ — beg, give
嗤 ci^^1^^/chi^^1^^ — sneer at, ridicule
"""
@@
@@.answer
"""
乳名 jyu^^5^^meng^^4^^
a birth name, petname, infant name
乳 jyu^^5^^ — breast, milk, newborn
名 ming^^4^^ meng^^2^^ — name, fame
"""
@@
@@.answer
"""
乳溝 jyu^^5^^kau^^1^^
a woman’s cleavage //lit.// breast gorge
乳 jyu^^5^^ — breast, milk, newborn
溝 kau^^1^^ gau^^1^^ — ditch, groove; 粵: mix together, pick up
"""
@@
@@.answer
"""
亂咁舂 lyun^^6^^gam^^3^^zung^^1^^
to do something pointless or in an aimless fashion, to have no fixed aim or intention for an action
亂 lyun^^6^^/luan^^4^^ — disorderly, upset, indiscriminately
咁 gam^^3^^ — so, –ly
舂 zung^^1^^/chong^^1^^ — pound, punch, dash
"""
@@
@@.answer
"""
亂噏 lyun^^6*2^^ngap^^1^^
to talk nonsense; 華: 胡說; also: 發噏風
亂 lyun^^6^^/luan^^4^^ — disorderly, upset, indiscriminately
噏 ngap^^1^^ ap^^1^^/xi^^1^^ — babble, prattle, gossip
"""
@@
@@.answer
"""
亂籠 lyun^^6*2^^lung^^4^^
chaotic, to make a mess of something
亂 lyun^^6^^/luan^^4^^ — disorderly, upset, indiscriminately
籠 lung^^4^^ lung^^5^^/long^^2^^ long^^3^^ — cage, bamboo steamer, envelop, large box
"""
@@
@@.answer
"""
事 si^^6^^ / shi^^4^^
a matter, affair, thing, business
a job, work, occupation, undertaking
an accident, trouble, incident
to be engaged in, go in for
to wait upon, serve, attend
"""
@@
@@.answer
"""
事事 si^^6^^si^^6^^
everything
事 si^^6^^ — matter, affair, job, work, accident
"""
@@
@@.answer
"""
事後 si^^6^^hau^^6^^
after, afterwards
事 si^^6^^ — matter, affair, job, work, accident
後 hau^^6^^ — behind, come after
"""
@@
@@.answer
"""
二年生 ji^^6^^nin^^4^^saang^^1^^
[botany] biennial
二 ji^^6^^ — two
年 nin^^4^^ — year
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
"""
@@
@@.answer
"""
互助 wu^^6^^zo^^6^^
to help each other, to mutually aid
互 wu^^6^^ — mutually, each other
助 zo^^6^^ — help, aid, assist
"""
@@
@@.answer
"""
五花八門 ng^^5^^faa^^1^^baat^^3^^mun^^4^^
myriad, all kinds of, all sorts of
五 ng^^5^^ — five, fifth
花 faa^^1^^ — flower
八 baat^^3^^ — eight
門 mun^^4^^ — gate, door, entrance
"""
@@
@@.answer
"""
些少 se^^1^^siu^^2^^
a little, a bit //syn.// 一啲, 一啲咁多, 少少; 華: 一點點, 一點兒, 一些, 少許, 少量
些 se^^1^^/xie^^1^^ — some, a bit
少 siu^^2^^ siu^^3^^/shao^^3^^ shao^^4^^ — few, lack, be missing, young
"""
@@
@@.answer
"""
亞太 aa^^3^^taai^^3^^
the Asia Pacific region, short for 亞洲太平洋, comprises East Asia (NE Asia and SE Asia), Oceania (Australasia) and, depending on who you ask, South Asia (the Indian Subcontinent) and Central Asia. West Asia (Middle East) is not included
亞 aa^^3^^ — second, Asia
太 taai^^3^^ — highest, great–grand, excessively
"""
@@
@@.answer
"""
交吉 gaau^^1^^gat^^1^^
粵: to deliver vacant possession of a residential flat or shop premises
空 hung^^1^^ means “vacant”, but shares the pronounciation of 凶 “ominous”, 吉, meaning “lucky”, replaces 空
交 gaau^^1^^ — transfer, submit, join, intersect, exchange
吉 gat^^1^^ — lucky, auspicious; 粵: vacant
"""
@@
@@.answer
"""
交水費 gaau^^1^^seoi^^2^^fai^^3^^
to pay the water bill, to urinate
交 gaau^^1^^ — transfer, submit, join, intersect, exchange
水 seoi^^2^^ — water, liquid, dough (money)
費 fai^^3^^ bei^^3^^ — fee, expenses, cost, spend, wasteful
"""
@@
@@.answer
"""
交涉 gaau^^1^^sip^^3^^
to negotiate, to discuss matters, to make representations
交 gaau^^1^^/jiao^^1^^ — transfer, submit, join, intersect, exchange
涉 sip^^3^^/she^^4^^ — wade, undergo, involve
"""
@@
@@.answer
"""
交誼 gaau^^1^^ji^^4^^
friendship, amity, friendly relations
交 gaau^^1^^/jiao^^1^^ — transfer, submit, join, intersect, exchange
誼 ji^^4^^ ji^^6^^/yi^^4^^ — friendship, adoptive
"""
@@
@@.answer
"""
亦 jik^^6^^
also, too
"""
@@
@@.answer
"""
享樂 hoeng^^2^^lok^^6^^
to seek pleasure
享 hoeng^^2^^/xiang^^3^^ — enjoy
樂 lok^^6^^ ngok^^6^^ ngaau^^6^^/le^^4^^ yue^^4^^ yao^^4^^ — joy, music, be fond of
"""
@@
@@.answer
"""
亮晶晶 loeng^^6^^zing^^1^^zing^^1^^
glittering, sparkling
亮 loeng^^6^^ — bright, brilliant
晶 zing^^1^^ — crystal, bright, glittering
"""
@@
@@.answer
"""
人一 jan^^4^^jat^^1^^
a congregation
人 jan^^4^^ — person, human being
一 jat^^1^^ — one, a, same, whole, each, once, a little
"""
@@
@@.answer
"""
人們 jan^^4^^mun^^4^^
華: people, folk; 粵: 人, 人人, or 啲人
人 jan^^4^^ — person, human being
們 mun^^4^^ — indicates plurality
"""
@@
@@.answer
"""
jan^^4^^lik^^6^^
human strength
manpower
人 jan^^4^^ — person, human being
力 lik^^6^^ — strength, force, power
"""
@@
@@.answer
"""
人力車 jan^^4^^lik^^6^^ce^^1^^
a rickshaw; also 粵: 車仔 //lit.// human power vehicle
人 jan^^4^^ — person, human being
力 lik^^6^^ — strength, force, power
車 ce^^1^^ geoi^^1^^ — cart, vehicle, car
"""
@@
@@.answer
"""
人參 jan^^4^^sam^^1^^ — ginseng, //Panax//
人 jan^^4^^ — person, human being
參 caam^^1^^ sam^^1^^ — join, refer, call on, uneven, ginseng
"""
@@
@@.answer
"""
人哋 jan^^4^^dei^^6^^
other people, others, everybody else
he, she, they, him, her, them
(often used playfully) I, me
//var.// 人地 //syn.// 人家, 別人, 他人
人 jan^^4^^ — person, human being
哋 dei^^6^^ dei^^6*2^^ — somewhat, (plural/adverb suffix)
"""
@@
@@.answer
"""
人哋嘅 jan^^4^^dei^^6^^ge^^3^^
粵: other people’s, belonging to another person; 華: 別人的, 他人的
人 jan^^4^^ — person, human being
哋 dei^^6^^ dei^^6*2^^ — somewhat, (plural/adverb suffix)
嘅 ge^^3^^ ge^^2^^ — adjective suffix, possessive/final particle
"""
@@
@@.answer
"""
人在江湖, 身不由己 jan^^4^^zoi^^6^^gong^^1^^wu^^4^^, san^^1^^bat^^1^^yau^^4^^gei^^2^^
a saying which implies that one’s life is bound by rules, that one does not have freedom to act, to have little control over one’s fate due to social constraints; 粵: 人在江湖身不由主
人 jan^^4^^ — person, human being
在 zoi^^6^^ — at, in, on
江 gong^^1^^ — large river, Chinese surname
湖 wu^^4^^ — lake
身 san^^1^^ — body, life, oneself
不 bat^^1^^ — not, no, un–
由 jau^^4^^ — cause, reason, from
己 gei^^2^^ — oneself, one’s own
"""
@@
@@.answer
"""
人地 jan^^4^^dei^^6^^
variant of 人哋
人 jan^^4^^ — person, human being
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
"""
@@
@@.answer
"""
人壽保險 jan^^4^^sau^^6^^bou^^2^^him^^2^^
life insurance
人 jan^^4^^/ren^^2^^ — person, human being
壽 sau^^6^^/shou^^4^^ — longevity, birthday, funerary
保 bou^^2^^/bao^^3^^ — protect, guard, shelter
險 him^^2^^/xian^^3^^ — dangerous, danger, sinister, nearly
"""
@@
@@.answer
"""
人情紙咁薄 jan^^4^^cing^^4^^zi^^2^^gam^^3^^bok^^6^^
(idiom) human decency is rare in relationships between people //lit.// human decency is as thin as paper
人 jan^^4^^ — person, human being
情 cing^^4^^ — emotion, love, sentiment
紙 zi^^2^^ — paper
咁 gam^^3^^ — so, –ly
薄 bok^^6^^ — thin, slight
"""
@@
@@.answer
"""
人才 jan^^4^^coi^^4^^
a talented person, human resources
人 jan^^4^^ — person, human being
才 coi^^4^^ — talent, natural abilities
"""
@@
@@.answer
"""
人有三急 jan^^4^^jau^^5^^saam^^1^^gap^^1^^
to need to go to the toilet
人 jan^^4^^ — person, human being
有 jau^^5^^ jau^^6^^ — have, there is
三 saam^^1^^ saam^^3^^ — three, several
急 gap^^1^^ — urgent, desperate
"""
@@
@@.answer
"""
人次 jan^^4^^ci^^3^^
person–count, attendance count
人 jan^^4^^ — person, human being
次 ci^^3^^ — order, second, second–rate, time
"""
@@
@@.answer
"""
人比人, 比死人 jan^^4^^bei^^2^^jan^^4^^bei^^2^^sei^^2^^jan^^4^^
used to suggest that it is harmful to compare oneself with others (e.g. in terms of wealth) //lit.// it is fatal to compare a person with another
人 jan^^4^^/ren^^2^^ — person, human being
比 bei^^2^^ bei^^3^^ bei^^6^^/bi^^3^^ bi^^4^^ — compare with, liken to, than
死 sei^^2^^/si^^3^^ — die, death, dead
"""
@@
@@.answer
"""
人氣 jan^^4^^hei^^3^^
popularity (from japanese 人気, にんき, //ninki//)
人 jan^^4^^/ren^^2^^ — person, human being
氣 hei^^3^^/qi^^4^^ — gas, air, breath, anger
"""
@@
[[aya mishima|https://m.youtube.com/watch?v=LDqbYbnVJxY]] <iframe height="10px" width="40px" src="music/20210729 人生のメリーゴーランド aya mishima violin.m4a" frameborder="0"></iframe>
@@.answer
"""
人細鬼大 jan^^4^^sai^^3^^gwai^^2^^daai^^6^^
a young boy or girl with the mind and maturity of an adult, to be precocious, though young of age is skilled or experienced //syn.// 人小鬼大 //lit.// human small, ghost big)
人 jan^^4^^ — person, human being
細 sai^^3^^ — small
鬼 gwai^^2^^ — ghost, devil, dishonest, terrible
大 daai^^6^^ — big
"""
@@
@@.answer
"""
人言可畏 jan^^4^^jin^^4^^ho^^2^^wai^^3^^
criticisms should be feared, gossip is a fearful thing
人 jan^^4^^/ren^^2^^ — person, human being
言 jin^^4^^/yan^^2^^ yan^^4^^ yin^^2^^ — words, speech
可 ho^^2^^ hak^^1^^/ke^^3^^ ke^^4^^ — can, approve, need, but
畏 wai^^3^^/wei^^4^^ — fear, dread, admire
"""
@@
@@.answer
"""
人講你又講 jan^^4^^gong^^2^^nei^^5^^jau^^6^^gong^^2^^
to repeat mindlessly what other people say, to “parrot” //lit.// people say, you also say
"""
@@
@@.answer
"""
人造黃油 jan^^4^^zou^^6^^wong^^4^^jau^^4^^
華: margarine //syn.// 麥淇淋; 粵: 人造牛油 , 植物牛油
人 jan^^4^^ — person, human being
造 zou^^6^^ cou^^3^^ — make, create, build, construct
黃 wong^^4^^ — yellow
油 jau^^4^^ — oil, fat, grease, petroleum
"""
@@
@@.answer
"""
人頭豬腦 jan^^4^^tau^^4^^zyu^^1^^nou^^5^^
stupid, idiotic //lit.// human head pig’s brain
人 jan^^4^^/ren^^2^^ — person, human being
頭 tau^^4^^/tou^^2^^ tou^^5^^ — head, first, chief
豬 zyu^^1^^/zhu^^1^^ — pig
腦 nou^^5^^/nao^^3^^ nao^^4^^ — the brain
"""
@@
@@.answer
"""
什物 zaap^^6^^mat^^6^^
miscellaneous goods
什 sap^^6^^ sam^^6^^ zaap^^6^^ — ten, what, assorted
物 mat^^6^^ — thing, substance, stuff
"""
@@
@@.answer
"""
什麼 sam^^6^^mo^^1^^
華: what, also written 甚麼; 粵: 乜嘢, 乜
什 sap^^6^^ sam^^6^^ zaap^^6^^ — ten, what, assorted
麼 mo^^1^^ — (suffix)
"""
@@
@@.answer
"""
什麼時間 sam^^6^^mo^^1^^si^^4^^gaan^^1*3^^
華: when? what time?; 粵: 幾時, 幾點鐘
什 sap^^6^^ sam^^6^^ zaap^^6^^ — ten, what, assorted
麼 mo^^1^^ — (suffix)
時 si^^4^^ — time
間 gaan^^1^^ gaan^^3^^ — interval of time or space
"""
@@
@@.answer
"""
仇 sau^^4^^ cau^^4^^ kau^^4^^/chou^^2^^,qiu^^2^^
粵: sau^^4^^ cau^^4^^; 華: chou^^2^^
hatred, enmity, animosity
enemy, foe, rival
讎 is sometimes used as a variant form. 粵: sau^^4^^ is standard, cau^^4^^ is variant
粵: kau^^4^^; 華: qiu^^2^^
a Chinese family name
"""
@@
@@.answer
"""
今後 gam^^1^^hau^^6^^
henceforth
今 gam^^1^^/jin^^1^^ — current, now
後 hau^^6^^/hou^^4^^ — behind, come after
"""
@@
@@.answer
"""
今期 gam^^1^^kei^^4^^
a current issue, term
今 gam^^1^^ — current, now
期 kei^^4^^ — period of time, phase, expect
"""
@@
@@.answer
"""
他人 taa^^1^^jan^^4^^
other people
他 taa^^1^^ — other
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
他們的 taa^^1^^mun^^4^^dik^^1^^
their, theirs (masculine, mixed or undetermined gender); 粵: 佢哋嘅
他 taa^^1^^ — other
們 mun^^4^^ — indicates plurality
的 dik^^1^^ — possessive suffix
"""
@@
@@.answer
"""
他們都 taa^^1^^mun^^4^^dou^^1^^
華: all of them
他 taa^^1^^ — other
們 mun^^4^^ — indicates plurality
都 dou^^1^^ — all, both, even, already, also, capital
"""
@@
@@.answer
"""
仗 zoeng^^3^^ zoeng^^6^^ / zhang^^4^^
粵: zoeng^^3^^; 華: zhang^^4^^
a battle, war, fight
粵: zoeng^^6^^; 華: zhang^^4^^
a weapons, weaponry
to hold (a weapon), uphold
to rely on, depend on
"""
@@
@@.answer
"""
仙女 sin^^1^^neoi^^5*2^^
a fairy, a woman of divine beauty, female celestial
仙 sin^^1^^ — god, immortal, fairy, divine
女 neoi^^5^^ neoi^^2^^ — woman, daughter
"""
@@
@@.answer
"""
令郎 ling^^6^^long^^4^^
your son [polite]
令 ling^^6^^/ling^^4^^ ling^^3^^ — order, cause, season
郎 long^^4^^/lang^^2^^ — young man, husband
"""
@@
@@.answer
"""
以外 ji^^5^^ngoi^^6^^
outside of, beyond
以 ji^^5^^ — by means of, because of
外 ngoi^^6^^ — outside, foreign, additional, unofficial
"""
@@
@@.answer
"""
仰慕 joeng^^5^^mou^^6^^
to admire
仰 joeng^^5^^ ngong^^5^^/yang^^3^^ — face upward, admire
慕 mou^^6^^/mu^^4^^ — admire, yearn for
"""
@@
@@.answer
"""
企 kei^^5^^ kei^^5*2^^ / qi^^3^^
粵: kei^^5^^; 華: qi^^3^^
to stand on tiptoe
to look forward to, anxiously expect
粵: kei^^5^^ — 粵: only
to stand //var.// 徛
粵: kei^^5*2^^ — 粵: only
a home (often in compound form 屋企)
"""
@@
@@.answer
"""
企堂 kei^^5^^tong^^4*2^^
a waiter/waitress in a restaurant or a small–food stall //lit.// to stand in the hall
企 kei^^5^^ kei^^5*2^^ — stand, look forward to
堂 tong^^4^^ — hall, room, cousins, period, class
"""
@@
@@.answer
"""
伏 buk^^6^^ fuk^^6^^ / fu^^2^^
to lie prostrate, lie prone on
to lean over, bend over, stoop over
to hide, lie in ambush
to subside, go down
a hot season, dog days
to yield, surrender, admit defeat
to force to surrender, subdue, vanquish
a volt
buk^^6^^, colloquial; fuk^^6^^, literary
"""
@@
@@.answer
"""
伏匿匿 buk^^6^^nei^^1^^nei^^1^^
粵: hide and seek
伏 fuk^^6^^ buk^^6^^ — to lie prostate, to lean over, to hide
匿 nei^^1^^ nik^^1^^ — hide, conceal
"""
@@
@@.answer
"""
伙計 fo^^2^^gei^^3^^
a buddy, companion, shop clerk, waiter, waitress
伙 fo^^2^^/huo^^3^^ — companion, waiter, group, household, home
計 gai^^3^^/ji^^4^^ — count, compute, plan, scheme, idea, meter
"""
@@
@@.answer
"""
伯伯 baak^^3^^baak^^3^^
a father’s elder brother, uncle (direct address & informal); 伯伯 is more northern Chinese in nature, southern Chinese tend to use 阿伯
伯 baak^^3^^ — uncle, father’s elder brother
"""
@@
@@.answer
"""
估計 gu^^2^^gai^^3^^
to estimate, guess
估 gu^^2^^ gu^^3^^/gu^^1^^ gu^^4^^ — estimate, appraise, assess
計 gai^^3^^/ji^^4^^ — count, compute, plan, scheme, idea, meter
"""
@@
@@.answer
"""
似 ci^^5^^ / shi^^4^^,si^^4^^
粵: ci^^5^^ 華: si^^4^^
to resemble, be similar to
seemingly, apparently
[prep] by (used after some adjectives)
華: shi^^4^^
used only in compound 似的 (seem to be)
"""
@@
@@.answer
"""
似樣 ci^^5^^joeng^^6*2^^
presentable, acceptable, decent, up to the mark; 華: 像樣, 像話
likeness, strong resemblance; 華: 相像, 像
似 ci^^5^^/si^^4^^ shi^^4^^ — resemble, similar to, seemingly
樣 joeng^^6^^ joeng^^6*2^^/yang^^4^^ — shape, sample, type
"""
@@
@@.answer
"""
但是 daan^^6^^si^^6^^
華: still (adv), but (conj), yet, however //syn.// 可是, 不過, 然而; 粵: 但係
但 daan^^6^^ — but, however, yet
是 si^^6^^ — is
"""
@@
@@.answer
"""
但求 daan^^6^^kau^^4^^
seek only to
但 daan^^6^^/dan^^4^^ — but, however, yet
求 kau^^4^^/qiu^^2^^ — request, seek, demand
"""
@@
@@.answer
"""
佈告 bou^^3^^gou^^3^^
a notice, a bulletin
佈 bou^^3^^ — to announce, to arrange
告 gou^^3^^ guk^^1^^ — inform, proclaim, prosecute, ask for
"""
@@
@@.answer
"""
位於 wai^^6^^jyu^^1^^
be at, be in, be situated (in, at)
位 wai^^6^^ wai^^6*2^^ — position, rank, seat
於 jyu^^1^^ — in, at, on, with, from, by, than, concerning
"""
@@
@@.answer
"""
位置 wai^^6^^zi^^3^^
a position, location, seat, place, job, post
位 wai^^6^^ wai^^6*2^^ — position, rank, seat
置 zi^^3^^ — put, set up, procure
"""
@@
@@.answer
"""
低脂牛奶 dai^^1^^zi^^1^^ngau^^4^^naai^^5^^
low fat milk
低 dai^^1^^ — lower, bend, low
脂 zi^^1^^ — grease, fat, rouge
牛 ngau^^4^^ — cow, ox, cattle
奶 naai^^5^^ — milk
"""
@@
@@.answer
"""
住口 zyu^^6^^hau^^2^^
華: to shut up, stop talking
住 zyu^^6^^ — live, reside, stay
口 hau^^2^^ — mouth
"""
@@
@@.answer
"""
住客會所 zyu^^6^^haak^^3^^wui^^6^^so^^2^^
a residents’ club house
住 zyu^^6^^/zhu^^4^^ — live, reside, stay
客 haak^^3^^/ke^^4^^ — guest, visitor, customer, passenger
會 wui^^5^^ wui^^6^^ kui^^2^^/hui^^4^^ kuai^^4^^ — will, would, get together, meet, city
所 so^^2^^/suo^^3^^ — location, position, building, office
"""
@@
@@.answer
"""
住手 zyu^^6^^sau^^2^^
華: to stop, to stay one’s hand
住 zyu^^6^^ — live, reside, stay
手 sau^^2^^ — hand
"""
@@
@@.answer
"""
佔 zim^^3^^
to forcibly occupy, seize, take possession of
to constitute, hold, account for
"""
@@
@@.answer
"""
何況 ho^^4^^fong^^3^^
let alone, much less, not to mention
moreover, besides, what’s more
何 ho^^4^^/he^^2^^ — what, why, where, when, how
況 fong^^3^^/kuang^^4^^ — condition, moreover, much less
"""
@@
@@.answer
"""
佛 fat^^6^^ / fo^^2^^
a buddha, buddhist, buddhism, image/statue of buddha, buddhist scripture
"""
@@
@@.answer
"""
作假 zok^^3^^gaa^^2^^
to counterfeit, falsify, cheat, play tricks, behave affectedly; 粵: 裝假狗, 詐戇
作 zok^^3^^ — make, write, regard as
假 gaa^^2^^ gaa^^3^^ — false, fake, suppose, if, borrow, holiday
"""
@@
@@.answer
"""
作弄 zok^^3^^lung^^6^^
to make a fool of
作 zok^^3^^/zuo^^4^^ zuo^^1^^ — make, write, regard as
弄 lung^^6^^/nong^^4^^ long^^4^^ — play with, manage, make fun of, alley, lane
"""
@@
@@.answer
"""
你們 nei^^5^^mun^^4^^
you (plural); 粵: 你哋
你 nei^^5^^ — you
們 mun^^4^^ — indicates plurality
"""
@@
@@.answer
"""
你們自己 nei^^5^^mun^^4^^zi^^6^^gei^^2/1^^
華: yourselves; 粵: 你哋自己
你 nei^^5^^ — you
們 mun^^4^^ — indicates plurality
自 zi^^6^^ — self, private, personal
己 gei^^2^^ — oneself, one’s own
"""
@@
@@.answer
"""
你做初一我做十五 nei^^5^^zou^^6^^co^^1^^jat^^1^^ngo^^5^^zou^^6^^sap^^6^^ng^^5^^
do me harm and I will return the favour, an eye for an eye, a tooth for a tooth, give as good as you get, tit for tat //syn.// 還治其身 //lit.// you do the first day of the month, I’ll do the fifteenth
你 nei^^5^^ — you
做 zou^^6^^ — do, make
初 co^^1^^ — first, original, early
一 jat^^1^^ — one, a, same, whole, each, once, a little
我 ngo^^5^^ — I, me, my
做 zou^^6^^ — do, make
十 sap^^6^^ — ten
五 ng^^5^^ — five, fifth
"""
@@
@@.answer
"""
你呢 nei^^5^^ne^^1^^
you (in a question form): equivalent to “you?”, if used as a single–sentence question alone, or if it marks the end of a question
you: “呢” serves as a modal particle. Mostly followed by a short pause or a comma before the rest of the sentence
你呢 turned into “nei^^5^^nei^^1^^: you this…” if it’s followed by a classifier and/or a noun.
e.g. 你呢隻手 [this hand of you(rs)]; 你呢種性格 [This type of personality of you(rs)/ your (this–specific) personality]
你 nei^^5^^ — you
呢 ni^^1^^ ne^^1^^ nei^^1^^ nei^^4^^ — final particle; 粵: this
"""
@@
@@.answer
"""
你哋嘅 nei^^5^^dei^^6^^ge^^3^^
粵: your, yours (plural); 華: 你們的
你 nei^^5^^ — you
哋 dei^^6^^ dei^^6*2^^ — somewhat, (plural/adverb suffix)
嘅 ge^^3^^ ge^^2^^ — adjective suffix, possessive/final particle
"""
@@
@@.answer
"""
你哋自己 nei^^5^^dei^^6^^zi^^6^^gei^^2/1^^
粵: yourselves
你 nei^^5^^ — you
哋 dei^^6^^ dei^^6*2^^ — somewhat, (plural/adverb suffix)
自 zi^^6^^ — self, private, personal
己 gei^^2^^ — oneself, one’s own
"""
@@
@@.answer
"""
你唔係呀嘛 nei^^5^^m^^4^^hai^^6^^aa^^3/1^^maa^^3^^
an exclamation of surprise or irritation, “you can’t be serious!”, “you must be kidding!”, “why did you do something so stupid?”
"""
@@
@@.answer
"""
你嘅 nei^^5^^ge^^3^^
粵: your, yours (singular); 華: 你的
你 nei^^5^^ — you
嘅 ge^^3^^ ge^^2^^ — adjective suffix, possessive/final particle
"""
@@
@@.answer
"""
你就想 nei^^5^^zau^^6^^soeng^^2^^
“you wish”, no way, “in your dreams”
你 nei^^5^^ — you
就 zau^^6^^ — right away, only, approach, comply with
想 soeng^^2^^ — want, wish
"""
@@
@@.answer
"""
你自己 nei^^5^^zi^^6^^gei^^2^^
yourself
你 nei^^5^^ — you
自 zi^^6^^ — self, private, personal
己 gei^^2^^ — oneself, one’s own
"""
@@
@@.answer
"""
佢哋嘅 keoi^^5^^dei^^6^^ge^^3^^
粵: their, theirs; 華: 他們的 (m or general), 她們的 (f), 它們的 (n)
佢 keoi^^5^^ — he, him, his, she, her, hers, it
哋 dei^^6^^ dei^^6*2^^ — somewhat, (plural/adverb suffix)
嘅 ge^^3^^ ge^^2^^ — adjective suffix, possessive/final particle
"""
@@
@@.answer
"""
佳偶 gaai^^1^^ngau^^5^^
an excellent idol, a happily married couple
佳 gaai^^1^^/jia^^1^^ — good, fine
偶 ngau^^5^^/ou^^3^^ — idol, coincidentally
"""
@@
@@.answer
"""
使唔使 sai^^2^^m^^4^^sai^^2^^
粵: is there a need? , should sth. …?; 華: 用不用, 要不要
使 sai^^2^^ si^^2^^ si^^3^^ — send, enable, use, envoy
唔 m^^4^^ — not, no
"""
@@
@@.answer
"""
使生氣 sai^^2^^saang^^1^^hei^^3^^
to displease
使 sai^^2^^ si^^2^^ si^^3^^ — send, enable, use, envoy
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
氣 hei^^3^^ — gas, air, breath, anger
"""
@@
@@.answer
"""
使用手冊 si^^2^^jung^^6^^sau^^2^^caak^^3^^
a user manual, operation instructions //syn.// 使用說明書, 使用須知
使 sai^^2^^ si^^2^^ si^^3^^ — send, enable, use, envoy
用 jung^^6^^ — use, operate
手 sau^^2^^ — hand
冊 caak^^3^^ — volume, book, copy
"""
@@
@@.answer
"""
來到 loi^^4^^dou^^3^^
to come, to arrive
來 loi^^4^^ — come, arrive, future
到 dou^^3^^ dou^^3*2^^ — arrive, go to
"""
@@
@@.answer
"""
來年 loi^^4^^nin^^4^^
next year, the following year
來 loi^^4^^ — come, arrive, future
年 nin^^4^^ — year
"""
@@
@@.answer
"""
來自 loi^^4^^zi^^6^^
華: to come from, for example, when talking about your country of origin
來 loi^^4^^ — come, arrive, future
自 zi^^6^^ — self, private, personal
"""
@@
@@.answer
"""
例餐 lai^^6^^caan^^1^^
粵: the meals of the day (on a menu, or in a restaurant)
例 lai^^6^^ — example, precedent, regulation, routine
餐 caan^^1^^ — meal, dine
"""
@@
@@.answer
"""
供樓 gung^^1^^lau^^4*2^^
to mortgage; e.g. on a contract, 供樓支出 would be the term for a mortgage loan payment
供 gung^^1^^ gung^^3^^/gong^^1^^ gong^^4^^ — supply, confess
樓 lau^^4^^/lou^^2^^ — multi–storey building
"""
@@
@@.answer
"""
係咩 hai^^6^^me^^1^^
粵: really? is that true? (咩 is a final question particle indicating surprise)
係 hai^^6^^ — yes, it is, indeed, right, positive, to be
咩 me^^1^^ — Cantonese question particle
"""
@@
@@.answer
"""
係唔係 hai^^6^^m^^4^^hai^^6^^
is it or is it not?, to be or not to be; 華: 是不是
(rhetorical — pronounced hai^^6^^m^^4^^hai^^6*2^^ or hai^^6^^mai^^6*2^^) isn’t it?, is it?; 華: 不是嗎
often contracted to 係咪
係 hai^^6^^ — yes, it is, indeed, right, positive, to be
唔 m^^4^^ — not, no
"""
@@
@@.answer
"""
係噉先 hai^^6^^gam^^2^^sin^^1^^
粵: that’s it for now, that’s all for now; implies: I have to go, see you later, bye; 華: 就這樣吧
係 hai^^6^^ — yes, it is, indeed, right, positive, to be
噉 gam^^2^^ — such, like this, this way, in that case
先 sin^^1^^ — first, before, temporarily
"""
@@
@@.answer
"""
係噉啦 hai^^6^^gam^^2^^laa^^1^^
粵: so be it, let it be this way, it’s a deal
係 hai^^6^^ — yes, it is, indeed, right, positive, to be
噉 gam^^2^^ — such, like this, this way, in that case
啦 laa^^1^^ laa^^3^^ laa^^4^^ — [final particle] now
"""
@@
@@.answer
"""
俗名 zuk^^6^^meng^^4*2^^
a common name, local name, popular name
俗 zuk^^6^^ — custom, vulgar, common
名 ming^^4^^ meng^^2^^ — name, fame
"""
@@
@@.answer
"""
保守行為 bou^^2^^sau^^2^^hang^^6^^wai^^4^^
to be on probation
保 bou^^2^^/bao^^3^^ — protect, guard, shelter
守 sau^^2^^ sau^^3^^/shou^^3^^ shou^^4^^ — guard, look after, observe, remain
行 hang^^4^^ haang^^4^^ hong^^4^^ hang^^6^^/xing^^2^^ hang^^2^^ — walk, circulate, line, trade, shop, conduct
為 wai^^4^^ wai^^6^^/wei^^2^^ wei^^4^^ — do, act, serve as, be, for
"""
@@
@@.answer
"""
保護費 bou^^2^^wu^^6^^fai^^3^^
money extorted by gangs from shopkeepers etc. for “protection” from harassment //lit.// protection money
保 bou^^2^^/bao^^3^^ — protect, guard, shelter
護 wu^^6^^/hu^^4^^ — protect, guard, defend
費 fai^^3^^ bei^^3^^/fei^^4^^ bi^^4^^ — fee, expenses, cost, spend, wasteful
"""
@@
@@.answer
"""
俠盜 hap^^6^^dou^^6^^
a chivalrous bandit, heroic outlaw (who robs the rich only to help the poor)
俠 hap^^6^^ haap^^6^^ — chivalry, knight–errand
盜 dou^^6^^ — steal, thief
"""
@@
@@.answer
"""
信用卡號碼 seon^^3^^jung^^6^^kaat^^1^^hou^^6^^maa^^5^^
a credit card number
信 seon^^3^^ — honest, trust, letter, believe
用 jung^^6^^ — use, operate
卡 kaa^^1^^ — calorie, lorry, checkpoint, card
號 hou^^6^^ hou^^4^^ — title, store, mark, number
碼 maa^^5^^ — numeral, symbol, yard (length)
"""
@@
@@.answer
"""
信用咭 seon^^3^^jung^^6^^kaat^^1^^
粵: a credit card; 華: 信用卡
信 seon^^3^^ — honest, trust, letter, believe
用 jung^^6^^ — use, operate
咭 kaat^^1^^ — card
"""
@@
@@.answer
"""
信箱 seon^^3^^soeng^^1^^
a post office box, P.O.B.
a mailbox
信 seon^^3^^ — honest, trust, letter, believe
箱 soeng^^1^^ — chest, box, suitcase
"""
@@
@@.answer
"""
修整 sau^^1^^zing^^2^^
to nap, prune, repair and maintain, trim
修 sau^^1^^/xiu^^1^^ — decorate, repair, build, write, study, trim
整 zing^^2^^/zheng^^3^^ — neat, tidy, whole, complete
"""
@@
@@.answer
"""
俾心機 bei^^2^^sam^^1^^gei^^1^^
to devote one’s effort to, to be wholly absorbed in; 華: 用心, 下功夫
畀 bei^^2^^/bi^^4^^ — give to, confer, bestow
心 sam^^1^^/xin^^1^^ — heart
機 gei^^1^^/ji^^1^^ — machine
"""
@@
@@.answer
"""
俾面 bei^^2^^min^^6*2^^
to give face to, to do somebody a favour //var.// 畀面
俾 bei^^2^^/bi^^3^^ — enable, cause, so that, by
面 min^^6^^/mian^^4^^ — face, surface, top, side, aspect, extent
"""
@@
@@.answer
"""
倉猝 cong^^1^^cyut^^3^^
hurried, hasty, pressing, in a hurry //var.// 倉促
倉 cong^^1^^/cang^^1^^ — storehouse
猝 cyut^^3^^/cu^^4^^ — suddenly, abruptly
"""
@@
@@.answer
"""
個子 go^^3^^zi^^2^^
華: stature, build, size, height
個 go^^3^^ — unit, individual
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
個體 go^^3^^tai^^2^^
an individual
個 go^^3^^ — unit, individual
體 tai^^2^^ — shape, form, essence
"""
@@
@@.answer
"""
倒入 dou^^2^^jap^^6^^
to pour in, to pour into, to empty into, to discharge, to dispense, to decant, to fill
倒 dou^^2^^ dou^^3^^ — fall over, pour out, turn upside down
入 jap^^6^^ — enter
"""
@@
@@.answer
"""
倒米 dou^^2^^mai^^5^^
to ruin a business //lit.// throw away rice
倒 dou^^2^^ dou^^3^^ — fall over, pour out, turn upside down
米 mai^^5^^ — uncooked rice
"""
@@
@@.answer
"""
倔強 gwat^^6^^goeng^^6^^
stubborn
倔 gwat^^6^^/jue^^2^^ jue^^4^^ — stubborn, blunt, glare
強 koeng^^4^^ koeng^^5^^ goeng^^6^^/qiang^^2^^ qiang^^3^^ jiang^^4^^ — strong, compel, stubborn
"""
@@
@@.answer
"""
倚 ji^^2^^ / yi^^3^^
to lean on/against, rest on/against
to rely on, count on, depend on
biased, partial, slanting
"""
@@
@@.answer
"""
借助 ze^^3^^zo^^6^^
to enlist help, to get help
借 ze^^3^^/jie^^4^^ — borrow, lend
助 zo^^6^^/zhu^^4^^ — help, aid, assist
"""
@@
@@.answer
"""
借問 ze^^3^^man^^6^^
may i ask…, also 借問聲
借 ze^^3^^/jie^^4^^ — borrow, lend
問 man^^6^^/wen^^4^^ — ask
"""
@@
@@.answer
"""
借宿 ze^^3^^suk^^1^^
to stay overnight at someone’s place, sleep over, put up for the night
借 ze^^3^^/jie^^4^^ — borrow, lend
宿 suk^^1^^ sau^^3^^/su^^4^^ xiu^^3^^ xiu^^4^^ — stay overnight, long–standing, veteran
"""
@@
@@.answer
"""
倩影 sin^^6^^jing^^2^^
a beautiful image (of a woman), photo (of a beautiful woman)
倩 sin^^6^^/qian^^4^^ — pretty, beautiful, ask sb to do sth
影 jing^^2^^/ying^^3^^ — shadow, image, reflection
"""
@@
@@.answer
"""
倫敦 leon^^4^^deon^^1^^
London
倫 leon^^4^^ — human relationships
敦 deon^^1^^ deoi^^3^^ — honest, promote, grain container
"""
@@
@@.answer
"""
假日 gaa^^3^^jat^^6^^
a holiday
假 gaa^^2^^ gaa^^3^^ — false, fake, suppose, if, borrow, holiday
日 jat^^6^^ — sun, day
"""
@@
@@.answer
"""
偈 gai^^2^^ gai^^6^^ git^^6^^ / ji^^4^^,jie^^2^^
粵: gai^^2^^ — 粵: only
a talk, chat
an engine
粵: gai^^2/6^^ 華: ji^^4^^
a libretto in Buddhist scripture
粵: git^^6^^ 華: jie^^2^^
brave, valiant (literary)
"""
@@
@@.answer
"""
偉 wai^^5^^ / wei^^3^^
great, big, gigantic, extraordinary
"""
@@
@@.answer
"""
做咗 zou^^6^^zo^^2^^
粵: to become, became
to have done, have performed
做 zou^^6^^ — do, make
咗 zo^^2^^ — already
"""
@@
@@.answer
"""
做生日 zou^^6^^saang^^1^^jat^^6^^
to celebrate a birthday, to hold a birthday party/banquet and so on (and make a big deal out of it)
做 zou^^6^^ — do, make
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
日 jat^^6^^ — sun, day
"""
@@
@@.answer
"""
做騷 zou^^6^^sou^^1^^
to do a show, to perform (e.g. a concert)
做 zou^^6^^ — do, make
騷 sou^^1^^ — disturb, coquettish
"""
@@
@@.answer
"""
停火 ting^^4^^fo^^2^^
cease fire
停 ting^^4^^ — stop, cease
火 fo^^2^^ — fire
"""
@@
@@.answer
"""
停車 ting^^4^^ce^^1^^
to stop a vehicle, to bring a vehicle to a halt; 粵: 慢車
to park a vehicle; 粵: 泊車
停 ting^^4^^ — stop, cease
車 ce^^1^^ geoi^^1^^ — cart, vehicle, car
"""
@@
@@.answer
"""
側 zak^^1^^
粵: zak^^1^^, 華: ce^^4^^
a side, sideways, sidelong
to incline to one side, lean
粵: zak^^1^^, 華: zhai^^1^^
to slant, tilt, slope
"""
@@
@@.answer
"""
側側膊 zak^^1^^zak^^1^^bok^^3^^
to shirk responsibility, shift the blame
to get around the rules or avoid responsiblity without it being obvious to the observer
側 zak^^1^^/ce^^4^^ zhai^^1^^ — side, incline, slant
膊 bok^^3^^/bo^^2^^ — upper arm, shoulder
"""
@@
@@.answer
"""
側邊 zak^^1^^bin^^1^^
粵: a side, at the side; 華: 旁邊
側 zak^^1^^ — side, incline, slant
邊 bin^^1^^ — edge, nearby, border, side; 粵: which
"""
@@
@@.answer
"""
側面 zak^^1^^min^^6^^
a side, profile, flank
側 zak^^1^^ — side, incline, slant
面 min^^6^^ — face, surface, top, side, aspect, extent
"""
@@
@@.answer
"""
偵探 zing^^1^^taam^^3^^
a detective
偵 zing^^1^^/zhen^^1^^ — detect, detective
探 taam^^3^^/tan^^4^^ — find, visit, spy
"""
@@
@@.answer
"""
偷偷摸摸 tau^^1^^tau^^1^^mo^^2^^mo^^2^^
furtively, surreptitiously
偷 tau^^1^^ — steal, burgle, sneak
摸 mo^^2^^ — touch, fish for, feel out, grope
"""
@@
@@.answer
"""
偷呃拐騙 tau^^1^^aak^^1^^gwaai^^2^^pin^^3^^
to steal, to cheat, to kidnap, and to swindle (used to characterise a hardened criminal)
偷 tau^^1^^ — steal, burgle, sneak
呃 aak^^1^^ ngaak^^1^^ aak^^3^^ ak^^1^^ — cheat, deceive, hiccup, hiccough
拐 gwaai^^2^^ — abduct, swindle, limp, walking stick
騙 pin^^3^^ — deceive
"""
@@
@@.answer
"""
偷生 tau^^1^^sang^^1^^
to live without purpose
偷 tau^^1^^/tou^^1^^ — steal, burgle, sneak
生 saang^^1^^sang^^1^^/sheng^^1^^ — born, grow, life, alive, unripe
"""
@@
@@.answer
"""
偷看 tau^^1^^hon^^3^^
華: to sneak a peek, to steal a glance, to spy on; 粵: 偷睇
偷 tau^^1^^ — steal, burgle, sneak
看 hon^^3^^ hon^^1^^ — see, read, watch, judge, guard, regard as
"""
@@
@@.answer
"""
偷睇 tau^^1^^tai^^2^^
粵: to peep or to sneak a peek, to steal a glance, to spy on; 華: 偷看
偷 tau^^1^^ — steal, burgle, sneak
睇 tai^^2^^ — see, look, read, watch, believe
"""
@@
@@.answer
"""
傍晚 pong^^4^^maan^^5^^
the early evening, dusk
傍 bong^^6^^ pong^^4^^ — approach, adjacent, hang out with
晚 maan^^5^^ — night, late
"""
@@
@@.answer
"""
傑 git^^6^^ / jie^^2^^
outstanding, prominent, remarkable
a hero, outstanding person
"""
@@
@@.answer
"""
傳奇 cyun^^4^^kei^^4^^
a legend, romance, saga //syn.// 傳說
傳奇 has a standard reading of cyun^^4^^kei^^4^^, literally meaning to hand down from the past some sort of drama or romantic stories with strange and miraculous plots. However, the variant reading of zyun^^6^^kei^^4^^ is also popular due to confusion with 傳記 zyun^^6^^gei^^3^^ which means biography
傳 cyun^^4^^ zyun^^6^^ — pass, spread, biography, story
奇 kei^^4^^ gei^^1^^ — strange, rare, unexpected, surprise, odd
"""
@@
@@.answer
"""
傷 soeng^^1^^ / shang^^1^^
a cut, wound, injury
to cut, injure
grief, to grieve, distressed
to impede, an impediment
to hurt (feelings)
to make sick
"""
@@
@@.answer
"""
傻妹 so^^4^^mui^^6*1^^
a silly girl
傻 so^^4^^ — foolish, silly, imbecile, fool
妹 mui^^6^^ mui^^6*2^^ mui^^6*1^^ — younger sister
"""
@@
@@.answer
"""
優 jau^^1^^ / you^^1^^
good, superior, excellent
abundant, plenty
players (as in an opera), actor
victory, winning
soft
a Chinese family name
粵: to pull
"""
@@
@@.answer
"""
元蹄 jyun^^4^^tai^^4^^
a pig trotter
元 jyun^^4^^/yuan^^2^^ — beginning, first, original, dollar
蹄 tai^^4^^/ti^^2^^ — hoof
"""
@@
@@.answer
"""
先到先得 sin^^1^^dou^^3^^sin^^1^^dak^^1^^
first come, first served //lit.// first arrive first get
"""
@@
@@.answer
"""
先祖 sin^^1^^zou^^2^^
a deceased grandfather, ancestry, ancestor
先 sin^^1^^ — first, before, temporarily
祖 zou^^2^^ — ancestor, forefather, founder
"""
@@
@@.answer
"""
光束 gwong^^1^^cuk^^1^^
a beam of light
光 gwong^^1^^ — light, shine
束 cuk^^1^^ — bind, tie, bundle, bunch, restrain
"""
@@
@@.answer
"""
光盤 gwong^^1^^pun^^4^^
a compact disc, CD
光 gwong^^1^^ — light, shine
盤 pun^^4^^ pun^^4*2^^ — course, dish, tray, game
"""
@@
@@.answer
"""
光脫脫 gwong^^1^^tyut^^3*1^^tyut^^3*1^^
nude, bare
光 gwong^^1^^/guang^^1^^ guang^^2^^ guang^^4^^ — light, shine
脫 tyut^^3^^/tuo^^1^^ — take off, remove, leave, omit
"""
@@
@@.answer
"""
兌現 deoi^^3^^jin^^6^^
to cash a cheque, to honour a contract
兌 deoi^^3^^/dui^^4^^ — to exchange, to cash, to dilute
現 jin^^6^^/xian^^4^^ — appear, emerge, now, available
"""
@@
@@.answer
"""
兒嬉 ji^^4^^hei^^1^^
child’s play
兒 ji^^4^^ — child, son
嬉 hei^^1^^ — to play, sport, frolic
"""
@@
@@.answer
"""
兔 tou^^3^^ / tu^^4^^
a rabbit
"""
@@
@@.answer
"""
兔仔 tou^^3^^zai^^2^^
a rabbit, hare, bunny; 華: 兔子
兔 tou^^3^^ — rabbit
仔 zai^^2^^ zi^^2^^ — son, child
"""
@@
@@.answer
"""
兜 dau^^1^^ / dou^^1^^
to make a detour, move round, take an indirect route
to go for a (leisurely) stroll/drive/jaunt
to canvass, solicit (business); 粵: scout around for customers
to wrap up with a pouch, hold up
粵: to help out (in conversation)
to take upon oneself, take all the responsibility (for sth.)
pouch, pocket, bag, ladle
粵: container for rice, pet food or coins
粵: direct at, right on
"""
@@
@@.answer
"""
入 jap^^6^^ / ru^^4^^
to enter, come/go in(to)
to join, come into the company of
to arrive at, reach
to put in
receipts, income
to get out of sight, disappear
to get (inside, picked, elected, etc.)
to agree with, conform to
one of the four tones of a character
"""
@@
@@.answer
"""
入來 jap^^6^^lei^^4^^/lai^^4^^
粵: to come in; 華: 進來
入 jap^^6^^ — enter
來 loi^^4^^ — come, arrive, future
"""
@@
@@.answer
"""
入到 jap^^6^^dou^^3/2^^
粵: to enter, to have entered, to have gained entry
入 jap^^6^^ — enter
到 dou^^3^^ dou^^3*2^^ — arrive, go to
"""
@@
@@.answer
"""
入啲 jap^^6^^di^^1^^
粵: further in
入 jap^^6^^ — enter
啲 di^^1^^ dit^^1^^ — some, those, a few
"""
@@
@@.answer
"""
入屋叫人, 入廟拜神 jap^^6^^uk^^1^^giu^^3^^jan^^4^^, jan^^4^^miu^^6*2^^baai^^3^^san^^4^^
to follow local customs, “when in Rome, do as the Romans do” //lit.// on entering a house, one greets people, on entering a temple, one prays to the gods
入 jap^^6^^ — enter
屋 uk^^1^^ — house
叫 giu^^3^^ — called, be known as
人 jan^^4^^ — person, human being
廟 miu^^6^^ miu^^6*2^^ — temple, shrine
拜 baai^^3^^ — visit, salute
神 san^^4^^ — god, divinity, spirit, supernatural, weird
"""
@@
@@.answer
"""
入廠大修 jap^^6^^cong^^2^^daai^^6^^sau^^1^^
to go to hospital for surgery
to go to an auto repair shop/factory for major fixing, complete overhaul
入 jap^^6^^/ru^^4^^ — enter
廠 cong^^2^^/chang^^3^^ — factory
大 daai^^6^^/da^^4^^ dai^^4^^ — big
修 sau^^1^^/xiu^^1^^ — decorate, repair, build, write, study, trim
"""
@@
@@.answer
"""
入得嘅 jap^^6^^dak^^1^^ge^^3^^
粵: possible to enter
入 jap^^6^^ — enter
得 dak^^1^^ — get, obtain, fit, finished, able to, must
嘅 ge^^3^^ ge^^2^^ — adjective suffix, possessive/final particle
"""
@@
@@.answer
"""
入會 jap^^6^^wui^^6*2^^
to admit or be admitted to a club or civil organisation as a member, initiate, initiation
入 jap^^6^^/ru^^4^^ — enter
會 wui^^5^^ wui^^6^^ kui^^2^^/hui^^4^^ kuai^^4^^ — will, would, get together, meet, city
"""
@@
@@.answer
"""
入油 jap^^6^^jau^^4*2^^
粵: to refuel; 華: 加油
入 jap^^6^^ — enter
油 jau^^4^^ — oil, fat, grease, petroleum
"""
@@
@@.answer
"""
入眼 jap^^6^^ngaan^^5^^
pleasing to the eye, good to look at, visually attractive, eye–catching
入 jap^^6^^ — enter
眼 ngaan^^5^^ — eye
"""
@@
@@.answer
"""
入面 jap^^6^^min^^6^^
the inside, indoors
入 jap^^6^^ — enter
面 min^^6^^ — face, surface, top, side, aspect, extent
"""
@@
@@.answer
"""
內疚 noi^^6^^gau^^3^^
a guilty conscience, to feel guilty about, compunction
內 noi^^6^^ — inside, within
疚 gau^^3^^ — feel guilty
"""
@@
@@.answer
"""
全國 cyun^^4^^gwok^^3^^
national, the entire country
全 cyun^^4^^ — perfect, whole, total
國 gwok^^3^^ — nation, country, state
"""
@@
@@.answer
"""
全數 cyun^^4^^sou^^3^^
a total number
全 cyun^^4^^ — perfect, whole, total
數 sou^^3^^ sou^^2^^ sok^^3^^ — number, figure, several, count
"""
@@
@@.answer
"""
全面 cyun^^4^^min^^6^^
overall, all–round, entire, comprehensive
全 cyun^^4^^ — perfect, whole, total
面 min^^6^^ — face, surface, top, side, aspect, extent
"""
@@
@@.answer
"""
兩分 loeng^^5^^fan^^1^^
a dichotomy
兩 loeng^^5^^ loeng^^2^^ — two, pair
分 fan^^1^^ fan^^6^^ — divide, distribute, distinguish, point
"""
@@
@@.answer
"""
兩口子 loeng^^5^^hau^^2^^zi^^2^^
華: husband and wife, a (married) couple
兩 loeng^^5^^ loeng^^2^^ — two, pair
口 hau^^2^^ — mouth
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
兩可 loeng^^5^^ho^^2^^
both will do
兩 loeng^^5^^ loeng^^2^^ — two, pair
可 ho^^2^^ hak^^1^^ — can, approve, need, but
"""
@@
@@.answer
"""
兩性 loeng^^5^^sing^^3^^
the two sexes — male and female
ambisexuality
兩 loeng^^5^^ loeng^^2^^ — two, pair
性 sing^^3^^ — nature, character, sex
"""
@@
@@.answer
"""
兩次 loeng^^5^^ci^^3^^
twice, variant of 二次
兩 loeng^^5^^ loeng^^2^^ — two, pair
次 ci^^3^^ — order, second, second–rate, time
"""
@@
@@.answer
"""
兩者 loeng^^5^^ze^^2^^
both sides
兩 loeng^^5^^ loeng^^2^^ — two, pair
者 ze^^2^^ — he who, those who
"""
@@
@@.answer
"""
八 baat^^3^^ / ba^^1^^
eight
捌 is a variant of 八 used in certain formal settings
"""
@@
@@.answer
"""
八十年代 baat^^3^^sap^^6^^nin^^4^^doi^^6^^
in the 80’s
八 baat^^3^^ — eight
十 sap^^6^^ — ten
年 nin^^4^^ — year
代 doi^^6^^ — substitute, era, dynasty, generation
"""
@@
@@.answer
"""
八卦 baat^^3^^gwaa^^3^^
the eight trigrams:
☰ 乾, ☴ 巽, ☵ 坎, ☶ 艮, ☷ 坤, ☳ 震, ☲ 離, ☱ 兌
(slang) gossip, gossipy
superstitious
八 baat^^3^^ — eight
卦 gwaa^^3^^ — divinatory symbols
"""
@@
@@.answer
"""
八卦公 baat^^3^^gwaa^^3^^gung^^1^^
a gossip (used of a man)
八 baat^^3^^ — eight
卦 gwaa^^3^^ — divinatory symbols
公 gung^^1^^ — public, common, international, impartial
"""
@@
@@.answer
"""
八卦妹 baat^^3^^gwaa^^3^^mui^^6*1^^
a nosy girl, a gossipy girl
八 baat^^3^^ — eight
卦 gwaa^^3^^ — divinatory symbols
妹 mui^^6^^ mui^^6*2^^ mui^^6*1^^ — younger sister
"""
@@
@@.answer
"""
八卦婆 baat^^3^^gwaa^^3^^po^^4*2^^
a gossip (said of a woman)
八 baat^^3^^ — eight
卦 gwaa^^3^^ — divinatory symbols
婆 po^^4^^ po^^4*2^^ — old woman, grandmother
"""
@@
@@.answer
"""
八卦週刊 baat^^3^^gwaa^^3^^zau^^1^^hon^^1^^
a weekly tabloid–type magazine
八 baat^^3^^ — eight
卦 gwaa^^3^^ — divinatory symbols
週 zau^^1^^ — week, period
刊 hon^^1^^ hon^^2^^ — print, publish, periodical
"""
@@
@@.answer
"""
八妹 baat^^3^^mui^^6*1^^
a gossip (female, short for 八卦妹)
八 baat^^3^^ — eight
妹 mui^^6^^ mui^^6*2^^ mui^^6*1^^ — younger sister
"""
@@
@@.answer
"""
八婆 baat^^3^^po^^4^^
an interfering old woman, typically prone to excessive complaining
a despicable female person, bitch
八 baat^^3^^ — eight
婆 po^^4^^ po^^4*2^^ — old woman, grandmother
"""
@@
@@.answer
"""
八方 baat^^3^^fong^^1^^
the eight points of the compass, all directions
八 baat^^3^^ — eight
方 fong^^1^^ — direction, angle
"""
@@
@@.answer
"""
公主 gung^^1^^zyu^^2^^
a princess
公 gung^^1^^ — public, common, international, impartial
主 zyu^^2^^ — master, chief, leader
"""
@@
@@.answer
"""
公仔麵 gung^^1^^zai^^2^^min^^6^^
粵: instant noodles, a common brand has an image of a doll on the packet
公 gung^^1^^ — public, common, international, impartial
仔 zai^^2^^ zi^^2^^ — son, child
麵 min^^6^^ — noodles, flour, dough
"""
@@
@@.answer
"""
公共 gung^^1^^gung^^6^^
public, e.g. 公共汽車 public vehicle (bus)
公 gung^^1^^ — public, common, international, impartial
共 gung^^6^^ — common, altogether, together
"""
@@
@@.answer
"""
公務 gung^^1^^mou^^6^^
official business
公 gung^^1^^ — public, common, international, impartial
務 mou^^6^^ — be engaged in, task, affair, definitely
"""
@@
@@.answer
"""
公斤 gung^^1^^gan^^1^^
a kilogram (kg) = 1000 grams (g) 克
公 gung^^1^^ — public, common, international, impartial
斤 gan^^1^^ — catty
"""
@@
@@.answer
"""
公牛 gung^^1^^ngau^^4^^
a bull; 粵: 牛公, 牛牯
公 gung^^1^^ — public, common, international, impartial
牛 ngau^^4^^ — cow, ox, cattle
"""
@@
@@.answer
"""
公用 gung^^1^^jung^^6^^
for public use, for general use
公 gung^^1^^ — public, common, international, impartial
用 jung^^6^^ — use, operate
"""
@@
@@.answer
"""
公認 gung^^1^^jing^^6^^
publically known (to be), generally accepted (as), etc.
公 gung^^1^^ — public, common, international, impartial
認 jing^^6^^ — recognise, admit, accept, undertake
"""
@@
@@.answer
"""
公豬 gung^^1^^zyu^^1^^
a boar; 粵: 豬公, 豬郎
公 gung^^1^^ — public, common, international, impartial
豬 zyu^^1^^ — pig
"""
@@
@@.answer
"""
公路 gung^^1^^lou^^6^^
a public road, highway
公 gung^^1^^ — public, common, international, impartial
路 lou^^6^^ — road, path, way, means, line
"""
@@
@@.answer
"""
公雞 gung^^1^^gai^^1^^
a cock, rooster 粵: 雞公
公 gung^^1^^ — public, common, international, impartial
雞 gai^^1^^ — chicken
"""
@@
@@.answer
"""
共同 gung^^6^^tung^^4^^
common, joint(ly), together, collaborative; 粵: also 一齊
共 gung^^6^^ — common, altogether, together
同 tung^^4^^ — same, together, for
"""
@@
@@.answer
"""
共和 gung^^6^^wo^^4^^
republican, republicanism, republic
共 gung^^6^^ — common, altogether, together
和 wo^^4^^ wo^^6^^ wu^^2^^ — gentle, harmony, peace, draw, and, sum
"""
@@
@@.answer
"""
共和國 gung^^6^^wo^^4^^gwok^^3^^
a republic
共 gung^^6^^ — common, altogether, together
和 wo^^4^^ wo^^6^^ wu^^2^^ — gentle, harmony, peace, draw, and, sum
國 gwok^^3^^ — nation, country, state
"""
@@
@@.answer
"""
共產 gung^^6^^caan^^2^^
communist
共 gung^^6^^ — common, altogether, together
產 caan^^2^^ — bear offspring, produce, property
"""
@@
@@.answer
"""
其他 kei^^4^^taa^^1^^
other, else
其 kei^^4^^ gei^^1^^/qi^^2^^ ji^^1^^ — that, such, his, her
他 taa^^1^^/ta^^1^^ — other
"""
@@
@@.answer
"""
其他人 kei^^4^^taa^^1^^jan^^4^^
other people
其 kei^^4^^ gei^^1^^ — that, such, his, her
他 taa^^1^^ — other
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
其它 kei^^4^^taa^^1^^
other (referring to things)
其 kei^^4^^ gei^^1^^ — that, such, his, her
它 taa^^1^^ — it (an object)
"""
@@
@@.answer
"""
其等 keoi^^5^^dei^^6^^
they, them; commonly 佢哋
其 kei^^4^^ gei^^1^^ — that, such, his, her
等 dang^^2^^ ting^^3^^ ting^^2^^ dei^^6^^ — wait, allow, rank, equal, etc., plur., type
"""
@@
@@.answer
"""
典 din^^2^^ / dian^^3^^
a rule, statute, law, canon
a tale or story from the classics, an allusion
to pawn, mortgage
to take charge of
"""
@@
@@.answer
"""
冇可能 mou^^5^^ho^^2^^nang^^4^^
粵: impossible, cannot; 華: 不可能
冇 mou^^5^^ — don’t have
可 ho^^2^^ hak^^1^^ — can, approve, need, but
能 nang^^4^^ — can, may, able to, ability, energy
"""
@@
@@.answer
"""
冇得 mou^^5^^dak^^1^^
粵: unavailable, can’t have; 冇得+verb; 華: 沒有得+v.
冇 mou^^5^^ — don’t have
得 dak^^1^^ — get, obtain, fit, finished, able to, must
"""
@@
@@.answer
"""
冇得彈 mou^^5^^dak^^1^^taan^^4^^
perfect, excellent, impeccable //lit.// nothing to complain about
冇 mou^^5^^ — don’t have
得 dak^^1^^ — get, obtain, fit, finished, able to, must
彈 daan^^2^^ daan^^6^^ taan^^4^^ — pellet, catapult, bounce, pluck, impeach
"""
@@
@@.answer
"""
冇得找 mou^^5^^dak^^1^^ zaau^^2^^
粵: can’t give back the change; 華: 找不開
冇 mou^^5^^ — don’t have
得 dak^^1^^ — get, obtain, fit, finished, able to, must
找 zaau^^2^^ — search for, give change
"""
@@
@@.answer
"""
冇本心 mou^^5^^bun^^2^^sam^^1^^
粵: to have no conscience, unconscionable; 華: 沒良心
冇 mou^^5^^ — don’t have
本 bun^^2^^ — basis, original, copy
心 sam^^1^^ — heart
"""
@@
@@.answer
"""
冇符 mou^^5^^fu^^4^^
there’s no way of dealing with this, it’s hopeless! at one’s wits’ end //lit.// no charm
冇 mou^^5^^ — don’t have
符 fu^^4^^ — symbol, charm, tally with
"""
@@
@@.answer
"""
冇解 mou^^5^^gaai^^2^^
for no apparent reason, for no reason at all (used to comment on behavior) //lit.// no explanation
冇 mou^^5^^ — don’t have
解 gaai^^2^^ gaai^^3^^ haai^^6^^ — untie, relieve, explain, escort, understand
"""
@@
@@.answer
"""
再入 zoi^^3^^jap^^6^^
re–entry
再 zoi^^3^^ — again, repeated
入 jap^^6^^ — enter
"""
@@
@@.answer
"""
再加上 zoi^^3^^gaa^^1^^soeng^^5^^
to add over and above
to annex
再 zoi^^3^^ — again, repeated
加 gaa^^1^^ — plus, add to, increase, append
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
"""
@@
@@.answer
"""
再嚟過 zoi^^3^^lei^^4^^gwo^^3^^
粵: come again, visit again
再 zoi^^3^^ — again, repeated
嚟 lai^^4^^ lei^^4^^ — come
過 gwo^^3^^ — pass through, across
"""
@@
@@.answer
"""
再抵押 zoi^^3^^dai^^2^^aat^^3^^
to remortgage
再 zoi^^3^^/zai^^4^^ ji^^4^^ — again, repeated
抵 dai^^2^^/di^^3^^ — resist, offset, reach
押 aat^^3^^ aap^^3^^/ya^^1^^ — mortgage, detain, escort
"""
@@
@@.answer
"""
再會 zoi^^3^^wui^^6^^
華: ‘see you soon’
再 zoi^^3^^ — again, repeated
會 wui^^5^^ wui^^6^^ kui^^2^^ — will, would, get together, meet, city
"""
@@
@@.answer
"""
再買 zoi^^3^^maai^^5^^
to repurchase
再 zoi^^3^^ — again, repeated
買 maai^^5^^ — buy, purchase
"""
@@
@@.answer
"""
最大 zeoi^^3^^daai^^6^^
the biggest
最 zeoi^^3^^ — most, extremely, exceedingly
大 daai^^6^^ — big
"""
@@
@@.answer
"""
最尾 zeoi^^3^^mei^^5*1^^ — final; last place
最 zeoi^^3^^ — most; extremely; exceedingly
尾 mei^^5^^ — tail; rear; end; remnant
"""
@@
@@.answer
"""
最早 zeoi^^3^^zou^^2^^
at the earliest
最 zeoi^^3^^ — most, extremely, exceedingly
早 zou^^2^^ — early
"""
@@
@@.answer
"""
最高 zeoi^^3^^gou^^1^^
tallest, highest
最 zeoi^^3^^ — most, extremely, exceedingly
高 gou^^1^^ — tall, high
"""
@@
@@.answer
"""
冚檔 kam^^2^^dong^^3^^
to go bankrupt, to raid (especially in places where illegal activities occur)
冚 ham^^6^^ kam^^2^^ — all, raid, cover, slap
檔 dong^^3^^ dong^^2^^ — files, shelves, crosspiece, grade, stall
"""
@@
@@.answer
"""
冚竇 kam^^2^^dau^^3^^
(of a shady business) to be raided by the police and be forced to shut down
to go out of business, shut down
冚 ham^^6^^ kam^^2^^/kan^^3^^ — all, raid, cover, slap
竇 dau^^6^^ dau^^3^^/dou^^4^^ — hole, sinus, den
"""
@@
@@.answer
"""
冠軍 gun^^3^^gwan^^1^^
a champion, a championship
冠 gun^^3^^ gun^^1^^ — rank first, hat, cap
軍 gwan^^1^^ — army, military, soldiers
"""
@@
@@.answer
"""
冤 jyun^^1^^/ yuan^^1^^
to accuse falsely, treat unjustly, to wrong
a grievance, injustice, a wrong
a feeling of bitterness, hatred, enmity
worthless, waste of money
to cheat, kid, fool, pull sb’s legs
//var.// 寃
"""
@@
@@.answer
"""
冤崩爛臭 jyun^^1^^bang^^1^^laan^^6^^cau^^3^^
stinking, smelly, variant of 葾崩爛臭
冤 jyun^^1^^/yuan^^1^^ — accuse falsely, grievance
崩 bang^^1^^/beng^^1^^ — collapse, broken
爛 laan^^6^^/lan^^4^^ — rotten, worn–out
臭 cau^^3^^/chou^^4^^ xiu^^4^^ — stinking, disgusting
"""
@@
@@.answer
"""
冤枉 jyun^^1^^wong^^2^^
to treat unjustly, wrongfully accuse, do sb injustice; 粵: 冤戾
to suffer loss, come to grief, not worthwhile
冤 jyun^^1^^/yuan^^1^^ — accuse falsely, grievance
枉 wong^^2^^/wang^^3^^ — unjust, in vain, distort
"""
@@
@@.answer
"""
冧 lam^^3^^ lam^^1^^/lin^^2^^
lam^^3^^
to collapse, tumble, topple
to [slang] kill sb
lam^^1^^
to sweet–talk, coax, have a way with [nasal–stop alternant] 笠 lap^^1^^ //syn.// 哄
delighted, pleased, sentimental
a flower bud
"""
@@
@@.answer
"""
冧巴溫 lam^^1^^baa^^1*2^^wan^^1^^
粵: number one (loanword): 華: 第一
supervisor, foreman; 華: 領班
冧 lam^^3^^ lam^^1^^ — collapse, sweet–talk
巴 baa^^1^^ — bus, hope earnestly, cling to, crust
溫 wan^^1^^ — warm, temperature, to review
"""
@@
@@.answer
"""
冬季 dung^^1^^gwai^^3^^
winter, winter season, wintertime, winter time
冬 dung^^1^^/dong^^1^^ — winter
季 gwai^^3^^/ji^^4^^ — quarter of a year, season
"""
@@
@@.answer
"""
冬瓜 dung^^1^^gwaa^^1^^
a winter melon, wax gourd
冬 dung^^1^^ — winter
瓜 gwaa^^1^^ — gourd, melon
"""
@@
@@.answer
"""
冬瓜豆腐 dung^^1^^gwaa^^1^^dau^^6^^fu^^6^^
an emergency or crisis such as death; also 衫長褲短; //lit.// winter melon and tofu; an expanded expression from the original 瓜豆 gwaa^^1^^dau^^6*2^^, which is itself an euphemism for 歸竇 gwai^^1^^dau^^3^^, “return to one’s den”, i.e. pass away
冬 dung^^1^^ — winter
瓜 gwaa^^1^^ — gourd, melon
豆 dau^^6^^ dau^^6*2^^ — beans, peas
腐 fu^^6^^ — rot, stale, bean curd
"""
@@
@@.answer
"""
冬青 dung^^1^^cing^^1^^
a holly
冬 dung^^1^^ — winter
青 ceng^^1^^ cing^^1^^ — green, young
"""
@@
@@.answer
"""
冰 bing^^1^^ / bing^^1^^ ning^^2^^
ice, icicles
cold, frost
"""
@@
@@.answer
"""
冰天雪地 bing^^1^^tin^^1^^syut^^3^^dei^^6^^
snow– and ice–bound — a bleak terrain covered in ice and snow
冰 bing^^1^^ — ice
天 tin^^1^^ — sky, heaven
雪 syut^^3^^ — snow
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
"""
@@
@@.answer
"""
冰屋 bing^^1^^uk^^1^^
an igloo
冰 bing^^1^^ — ice
屋 uk^^1^^ — house
"""
@@
@@.answer
"""
冰晶 bing^^1^^zing^^1^^
ice crystals
冰 bing^^1^^ — ice
晶 zing^^1^^ — crystal, bright, glittering
"""
@@
@@.answer
"""
冷帽 laang^^5*1^^mou^^6*2^^
a wool hat, a winter cap
冷 laang^^5^^ laang^^5*1^^ — cold, cool, chilly
帽 mou^^6*2^^ mou^^6^^ — hat
"""
@@
@@.answer
"""
冷靜 laang^^5^^zing^^6^^
calm (temperament)
冷 laang^^5^^ laang^^5*1^^ — cold, cool, chilly
靜 zing^^6^^ — still, calm, silent, quiet, serene, composed
"""
@@
@@.answer
"""
凡 faan^^4^^ / fan^^2^^
ordinary, commonplace, common
secular, mortal, earthly
every, any, altogether, whenever
a general idea, outline, abstract
"""
@@
@@.answer
"""
凳子 dang^^3^^zi^^2^^
華: a stool, seat, chair; 粵: 凳, 凳仔
凳 dang^^3^^/deng^^4^^ — chair (oral)
子 zi^^2^^/zi^^3^^ zi^^5^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
凹凸 nap^^1^^dat^^6^^
bumpy, uneven, a rabbet in woodworking
凹 nap^^1^^ nip^^1^^ aau^^3^^ — concave, sunken, indented
凸 dat^^6^^ gu^^2^^ — protruding, convex, raised
"""
@@
@@.answer
"""
出事 ceot^^1^^si^^6^^
to have something happen, usually bad, like an accident or a mishap
出 ceot^^1^^ — go out, show up, exceed, put up, produce
事 si^^6^^ — matter, affair, job, work, accident
"""
@@
@@.answer
"""
出入平安 ceot^^1^^jap^^6^^ping^^4^^on^^1^^
“may you be safe wherever you go” (a chinese new year greeting)
出 ceot^^1^^ — go out, show up, exceed, put up, produce
入 jap^^6^^ — enter
平 ping^^4^^ peng^^4^^ — peaceful, level
安 on^^1^^ — peaceful, stabilise, install, fabricate
"""
@@
@@.answer
"""
出力 ceot^^1^^lik^^6^^
to contribute (of labour), exert oneself
出 ceot^^1^^ / chu^^1^^ — go out, show up, exceed, put up, produce
力 lik^^6^^ / li^^4^^ — strength, force, power
"""
@@
@@.answer
"""
出啲 ceot^^1^^di^^1^^
粵: farther out
出 ceot^^1^^ — go out, show up, exceed, put up, produce
啲 di^^1^^ dit^^1^^ — some, those, a few
"""
@@
@@.answer
"""
出國 ceot^^1^^gwok^^3^^
to exit the country, go abroad
出 ceot^^1^^ — go out, show up, exceed, put up, produce
國 gwok^^3^^ — nation, country, state
"""
@@
@@.answer
"""
出生 ceot^^1^^saang^^1^^
to be born, birth 粵: 出, 出世
出 ceot^^1^^ — go out, show up, exceed, put up, produce
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
"""
@@
@@.answer
"""
出納 ceot^^1^^naap^^6^^
a cashier, to receive and hand over payment, to lend and borrow books
出 ceot^^1^^/chu^^1^^ — go out, show up, exceed, put up, produce
納 naap^^6^^/na^^4^^ — admit, accept, pay
"""
@@
@@.answer
"""
出走 ceot^^1^^zau^^2^^
華: to leave in a hurry
出 ceot^^1^^ — go out, show up, exceed, put up, produce
走 zau^^2^^ — run, walk
"""
@@
@@.answer
"""
出路 ceot^^1^^lou^^6^^
a way out, an escape route, an exit
出 ceot^^1^^ — go out, show up, exceed, put up, produce
路 lou^^6^^ — road, path, way, means, line
"""
@@
@@.answer
"""
出車 ceot^^1^^ce^^1^^
to dispatch a vehicle, to be out driving, to be out with the car
出 ceot^^1^^ — go out, show up, exceed, put up, produce
車 ce^^1^^ geoi^^1^^ — cart, vehicle, car
"""
@@
@@.answer
"""
刀子 dou^^1^^zi^^2^^
華: knife; 粵: 刀, 刀仔
刀 dou^^1^^ — knife, sword
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
刁 diu^^1^^ / diao^^1^^
tricky, sly, crafty, cunning, wicked, artful, knavish
(of an eater) choosy, picky
a Chinese family name
"""
@@
@@.answer
"""
刁司 diu^^1^^si^^1*2^^
deuce (loanword) also 刁士, 丟士, 刁時
刁 diu^^1^^ — tricky, sly, crafty
司 si^^1^^ — department, manage, control
"""
@@
@@.answer
"""
刁士 diu^^1^^si^^6*2^^
a deuce (loanword) also 刁司, 丟士, 刁時
刁 diu^^1^^ — tricky, sly, crafty
士 si^^6^^ — commendable person
"""
@@
@@.answer
"""
刁時 diu^^1^^si^^4^^
粵: a deuce (loanword)
刁 diu^^1^^ — tricky, sly, crafty
時 si^^4^^ — time
"""
@@
@@.answer
"""
刁蠻 diu^^1^^maan^^4^^
obstinate, unruly
刁 diu^^1^^/diao^^1^^ — tricky, sly, crafty
蠻 maan^^4^^/man^^2^^ — rude, quite
"""
@@
@@.answer
"""
分享 fan^^1^^hoeng^^2^^
to share in (happiness, experiences, profits, etc, sth to be enjoyed), partake of //ant.// 分擔
分 fan^^1^^ fan^^6^^ — divide, distribute, distinguish, point
享 hoeng^^2^^ — enjoy
"""
@@
@@.answer
"""
分支 fan^^1^^zi^^1^^
offshoot
分 fan^^1^^ fan^^6^^ — divide, distribute, distinguish, point
支 zi^^1^^ — prop up, sustain, protrude, pay (money)
"""
@@
@@.answer
"""
分析 fan^^1^^sik^^1^^
to analyse, analysis
分 fan^^1^^ fan^^6^^/fen^^1^^ fen^^4^^ — divide, distribute, distinguish, point
析 sik^^1^^/xi^^1^^ — divide, analyse
"""
@@
@@.answer
"""
分配 fan^^1^^pui^^3^^
to distribute, to assign
分 fan^^1^^ fan^^6^^/fen^^1^^ fen^^4^^ — divide, distribute, distinguish, point
配 pui^^3^^/pei^^4^^ — join in marriage, harmonise, distribute
"""
@@
@@.answer
"""
列車 lit^^6^^ce^^1^^
trains that run above ground may be called 列車 or 火車, but subway trains that run underground can only be called 列車
列 lit^^6^^ laat^^6^^ — arrange, row, all, category
車 ce^^1^^ geoi^^1^^ — cart, vehicle, car
"""
@@
@@.answer
"""
初一 co^^1^^jat^^1^^
the first day of a month in the lunar calendar
初 co^^1^^ — first, original, early
一 jat^^1^^ — one, a, same, whole, each, once, a little
"""
@@
@@.answer
"""
初中 co^^1^^zung^^1^^
a lower secondary school, junior high school
初 co^^1^^ — first, original, early
中 zung^^1^^ zung^^3^^ — centre, middle, during, average, affected by
"""
@@
@@.answer
"""
刨 paau^^4^^ paau^^4*2^^ / bao^^4^^,pao^^2^^
paau^^4*2^^ & bao^^4^^
a carpenter’s plane, planer, planing machine
(fruit) peeler, (hair) shaver, (pencil) sharpener
paau^^4^^ & bao^^4^^
to plane away/down/off, shave
粵: to read (a book) expending great effort
paau^^4^^ & pao^^2^^
to dig, excavate
to deduct, exclude, subtract
"""
@@
@@.answer
"""
刨書 paau^^4^^syu^^1^^
to cram/mug (before an exam) //lit.// to scrape books
刨 paau^^4^^paau^^4*2^^ — carpenter’s plane, peeler, to read
書 syu^^1^^ — book, writings
"""
@@
@@.answer
"""
利市 lai^^6^^si^^5*6^^
a red paper envelope containing money, given as a gift, red packet, lucky money; popularly written as 利是 or 利事; classifier: 封; 華: 紅包
利 lei^^6^^, lai^^6^^ — profit, gains, benefit, serve
市 si^^5^^ — market, fair, city, metropolis, trade
"""
@@
@@.answer
"""
刮友 gwaat^^3^^jau^^5*2^^
to be on the lookout for someone
to be hunting someone (for revenge)
刮 gwaat^^3^^/gua^^1^^ — scrape, extort, blow
友 jau^^5^^/you^^3^^ — friend, friendship
"""
@@
@@.answer
"""
到來 dou^^3^^lei^^4^^/lai^^4^^/loi^^4^^
to arrive, to reach, to have arrived, arrival, advent
到 dou^^3^^ dou^^3*2^^/dao^^4^^ — arrive, go to
來 loi^^4^^/lai^^2^^ — come, arrive, future
"""
@@
@@.answer
"""
制 zai^^3^^ / zhi^^4^^
to establish, institute, set up
to prevail, overpower, control
system
used before the signature in letter writing to indicate the writer is in mourning
a Chinese family name
"""
@@
@@.answer
"""
制止 zai^^3^^zi^^2^^
to curb, to put a stop to, to stop, to check, to limit
制 zai^^3^^ — establish, set up, control
止 zi^^2^^ — stop, halt
"""
@@
@@.answer
"""
刷牙 caat^^3^^ngaa^^4^^
to brush one’s teeth
刷 caat^^3^^ saat^^3^^ — brush, scrub, clean
牙 ngaa^^4^^ — teeth, tooth
"""
@@
@@.answer
"""
刷牙洗面 caat^^3^^ngaa^^4^^sai^^2^^min^^6^^
粵: to brush one’s teeth and wash one’s face, to wash up (esp. after waking up or before going to bed); 華: 刷牙洗臉
刷 caat^^3^^ saat^^3^^ — brush, scrub, clean
牙 ngaa^^4^^ — teeth, tooth
洗 sai^^2^^ — wash, clear, sack, develop, shuffle
面 min^^6^^ — face, surface, top, side, aspect, extent
"""
@@
@@.answer
"""
剃鬚膏 tai^^3^^sou^^1^^gou^^1^^
粵: shaving cream
剃 tai^^3^^ — to shave
鬚 sou^^1^^ — beard, moustache, whiskers
膏 gou^^1^^ gou^^3^^ — grease, fat, oil, cream, paste, ointment
"""
@@
@@.answer
"""
則 zak^^1^^
a law, rule, regulation, standard, norm, criterion
a particle indicating consequence (usually used after a supposition) or a reason
a numerary particle used before news reports, etc.
but, however
to imitate, follow
"""
@@
@@.answer
"""
削 soek^^3^^ / xiao^^1^^,xue^^1^^
粵: soek^^3^^ 華: xiao^^1^^
to pare, whittle, peel, scrape
[sports] to chop, cut (the ball)
粵: soek^^3^^ 華: xue^^1^^
to pare, whittle [used in a compound phrase]
to reduce, dwindle, diminish, lessen
to subdue, plunder, exploit, remove
粵: soek^^3^^
soft with some amount of desired elasticity (when applied to cooking meat, fish, wontons, etc.), also seen as 𠸑
"""
@@
@@.answer
"""
前一 cin^^4^^jat^^1^^
before, preceding
前 cin^^4^^ — in front, before
一 jat^^1^^ — one, a, same, whole, each, once, a little
"""
@@
@@.answer
"""
前便 cin^^4^^bin^^6^^
粵: in front; 華: 前面
前 cin^^4^^ — in front, before
便 bin^^6^^ pin^^4^^ — convenient, ordinary, cheap
"""
@@
@@.answer
"""
前夕 cin^^4^^zik^^6^^
eve, the night before //syn.// 前夜
前 cin^^4^^ — in front, before
夕 zik^^6^^ — sunset, evening, night
"""
@@
@@.answer
"""
前夜 cin^^4^^je^^6^^
粵: eve, the night before //syn.// 前夕
前 cin^^4^^ — in front, before
夜 je^^6^^ — night, dark, darkness
"""
@@
@@.answer
"""
前天 cin^^4^^tin^^1^^
華: the day before yesterday; 粵: & literary: 前日
前 cin^^4^^ — in front, before
天 tin^^1^^ — sky, heaven
"""
@@
@@.answer
"""
前年 cin^^4^^nin^^4*2/4^^
the year before last
前 cin^^4^^ — in front, before
年 nin^^4^^ — year
"""
@@
@@.answer
"""
前往 cin^^4^^wong^^5^^
to go to, to leave for, to proceed towards
前 cin^^4^^ — in front, before
往 wong^^5^^ — go, head for, past, previous, toward
"""
@@
@@.answer
"""
剛才 gong^^1^^coi^^4^^
華: just then, just a moment ago, just now //var.// 剛纔; 粵: 正話, 啱啱 //syn.// 剛剛
剛 gong^^1^^ — hard, rigid, just, barely
才 coi^^4^^ — talent, natural abilities
"""
@@
@@.answer
"""
剝 mok^^1^^ / bao^^1^^ bo^^1^^
to skin, to remove, peel, shell, strip, hull, husk
華: bao^^1^^ is the colloquial reading, bo^^1^^ is used only in compound words and idiomatic phrases
"""
@@
@@.answer
"""
剝衫 mok^^1^^saam^^1^^
粵: to undress; 華: 脫衣服
剝 mok^^1^^ — peel, shell, skin, strip
衫 saam^^1^^ — shirt, gown, garment
"""
@@
@@.answer
"""
剪 zin^^2^^ / jian^^3^^
[1] [v] cut off; clip; shear; trim
[2] [n] scissors; shears; clippers
[3] [v] wipe out; exterminate; annihilate
"""
@@
@@.answer
"""
割 got^^3^^ / ge^^1^^
to cut, slice, mow, excise
to separate, divide, sever
to give up, abandon, part with
"""
@@
@@.answer
"""
劇院 kek^^6^^jyun^^6*2^^
a playhouse, theatre //syn.// 劇場
劇 kek^^6^^ — theatrical work, acute
院 jyun^^2^^ jyun^^6^^ — courtyard, government offices, college
"""
@@
@@.answer
"""
劍擊 gim^^3^^gik^^1^^
fencing (sport); 華: jian^^4^^ji^^1^^ mainland China, jian^^4^^ji^^2^^ Taiwan
劍 gim^^3^^/jian^^4^^ — sword
擊 gik^^1^^/ji^^1^^ ji^^2^^ — hit, beat, attack, assault, bump into
"""
@@
@@.answer
"""
劑 zai^^1^^ — [1] [n] medication, medicament, chemical agent
[2] [classifier] dose (of herbal medicine)
[3] [v] prepare, compound (medicine and drugs)
"""
@@
@@.answer
"""
力氣 lik^^6^^hei^^3^^
physical strength; 粵: 力
力 lik^^6^^ — strength, force, power
氣 hei^^3^^ — gas, air, breath, anger
"""
@@
@@.answer
"""
功夫片 gung^^1^^fu^^1^^pin^^3*2^^
martial arts movies; 華: 武打片
功 gung^^1^^ — merit, meritorious service, effect, skill
夫 fu^^1^^ fu^^4^^ — husband, male adult, manual worker
片 pin^^3^^ pin^^2^^ — slice, sheet, fragmentary, film
"""
@@
@@.answer
"""
功效 gung^^1^^haau^^6^^
efficacy, effectiveness, efficiency
功 gung^^1^^ — merit, meritorious service, effect, skill
效 haau^^6^^ — effect, devote
"""
@@
@@.answer
"""
加 gaa^^1^^ / jia^^1^^
plus, to add (to)
to increase, augment
to append
"""
@@
@@.answer
"""
加倫 gaa^^1^^leon^^4*2^^
a gallon (loanword)
加 gaa^^1^^ — plus, add to, increase, append
倫 leon^^4^^ — human relationships
"""
@@
@@.answer
"""
加工 gaa^^1^^gung^^1^^
to process //lit.// to add work
加 gaa^^1^^ — plus, add to, increase, append
工 gung^^1^^ — labour, work
"""
@@
@@.answer
"""
劣質 lyut^^3^^zat^^1^^
inferior, shoddy, substandard, of poor/low quality
劣 lyut^^3^^ — inferior, substandard, bad
質 zat^^1^^ zi^^3^^ — quality, substance, simple, query, pawn
"""
@@
@@.answer
"""
助長 zo^^6^^zoeng^^2^^
to abet, encourage, foster, foment
助 zo^^6^^ — help, aid, assist
長 coeng^^4^^ zoeng^^2^^ — long, length, forte, grow, older, chief
"""
@@
@@.answer
"""
劫 gip^^3^^ / jie^^2^^
to rob, plunder, hijack
to coerce, compel
a calamity, disaster
"""
@@
@@.answer
"""
勁抽 ging^^6^^cau^^1^^
powerful, excellent; also: 勁秋
勁 ging^^6^^ ging^^3^^ — strong, strength, extremely
抽 cau^^1^^ — draw out, bud, pull open
"""
@@
@@.answer
"""
勇敢 jung^^5^^gam^^2^^
courageous, brave; 粵: also 大膽, 夠膽
勇 jung^^5^^ — brave
敢 gam^^2^^ — dare, daring
"""
@@
@@.answer
"""
勉勵 min^^5^^lai^^6^^
to encourage
勉 min^^5^^ — urge, encourage, strive
勵 lai^^6^^ — encourage
"""
@@
@@.answer
"""
勒 lak^^6^^ laak^^6^^ / le^^4^^,lei^^1^^
粵: lak^^6^^, 華: lei^^1^^
to tighten, strap/tie sth tight, strangle
粵: lak^^6^^, 華: le^^4^^
to rein in, halt (the horse)
to force, coerce, compel
to command, lead, control
to carve, engrave, inscribe
a bridle, headstall, halter
粵: lak^^6^^ literary, laak^^6^^ colloquial
"""
@@
@@.answer
"""
動不動 dung^^6^^bat^^1^^dung^^6^^
華: easily, frequently, at every turn; 粵: 喐啲, 喐親
動 dung^^6^^ — move, stir, change, alter
不 bat^^1^^ — not, no, un–
動 dung^^6^^ — move, stir, change, alter
"""
@@
@@.answer
"""
勝 sing^^3^^ sing^^1^^ / sheng^^4^^
粵: sing^^3^^ 華: sheng^^4^^
to win, to defeat, triumph over, victory
to excel, superior to, surpass
a scenic spot, place of natural beauty
粵: sing^^1^^ 華: sheng^^4^^
competent, equal to
completely, entirely, wholly
"""
@@
@@.answer
"""
勞駕 lou^^4^^gaa^^3^^
華: excuse me, sorry to trouble you but if you could…, could you do me a favour?
粵: 唔該…, 麻煩… or 請問… depending on context
勞 lou^^4^^ — labour, hard–working, trouble, reward
駕 gaa^^3^^ — ride, drive, harness
"""
@@
@@.answer
"""
勤勞 kan^^4^^lou^^4^^
hardworking, industrious, diligent
勤 kan^^4^^ — hardworking, duty, frequently
勞 lou^^4^^ — labour, hard–working, trouble, reward
"""
@@
@@.answer
"""
勸告 hyun^^3^^gou^^3^^
to advise, to urge, to exhort, exhortation, advice
勸 hyun^^3^^ — persuade, advise
告 gou^^3^^ guk^^1^^ — inform, proclaim, prosecute, ask for
"""
@@
@@.answer
"""
勻 wan^^4^^
even, equal, uniform
to spare, share
"""
@@
@@.answer
"""
包尾 baau^^1^^mei^^5*1/5^^
to come last, to be at the bottom of the list e.g. in a race, exam
包 baau^^1^^/bao^^1^^ — wrap, package, bun
尾 mei^^5^^/wei^^3^^ yi^^3^^ — tail, rear, end, remnant
"""
@@
@@.answer
"""
包皮 baau^^1^^pei^^4^^
the outer skin — wrapper, also foreskin
包 baau^^1^^/bao^^1^^ — wrap, package, bun
皮 pei^^4^^ pei^^4*2^^/pi^^2^^ — skin, leather, wrapper, naughty, buck
"""
@@
@@.answer
"""
化妝 faa^^3^^zong^^1^^
to put on make–up
化 faa^^3^^/hua^^4^^ — change, melt, –ise, –ify
妝 zong^^1^^/zhuang^^1^^ — apply makeup, dowry, stage makeup
"""
@@
@@.answer
"""
化學 faa^^3^^hok^^6^^
chemistry
粵 slang: flimsy, brittle, weak, not reliable, cheaply made, frail
化 faa^^3^^ — change, melt, –ise, –ify
學 hok^^6^^ — learn, learning, school
"""
@@
@@.answer
"""
化石 faa^^3^^sek^^6^^
a fossil
化 faa^^3^^ — change, melt, –ise, –ify
石 sek^^6^^ daam^^3^^ — stone, rock, stone inscription
"""
@@
@@.answer
"""
化身 faa^^3^^san^^1^^
a incarnation, reincarnation, embodiment (of an abstract idea), personification
化 faa^^3^^ — change, melt, –ise, –ify
身 san^^1^^ — body, life, oneself
"""
@@
@@.answer
"""
化骨龍 faa^^3^^gwat^^1^^lung^^4^^
one’s children who use up a large part of one’s income //lit.// a bone–melting dragon
化 faa^^3^^ — change, melt, –ise, –ify
骨 gwat^^1^^ — bone, skeleton, framework
龍 lung^^4^^ — dragon
"""
@@
@@.answer
"""
北姑 bak^^1^^gu^^1^^ — a mainland woman working in HK as a hostess
北 bak^^1^^/bei^^3^^ — north
姑 gu^^1^^/gu^^1^^ — aunt, sister–in–law
"""
@@
@@.answer
"""
北海 bak^^1^^hoi^^2^^
the North Sea, (placename) Pak Hoi
"""
@@
@@.answer
"""
匙 ci^^4^^ si^^4^^ / chi^^2^^
粵: ci^^4^^; 華: chi^^2^^
a spoon
粵: si^^4^^; 華: shi^^5^^
a key
"""
@@
@@.answer
"""
匹夫 pat^^1^^fu^^1^^
a husband, an ordinary man
匹 pat^^1^^ — (classifier), be equal to, single
夫 fu^^1^^ fu^^4^^ — husband, male adult, manual worker
"""
@@
@@.answer
"""
十一世紀 sap^^6^^jat^^1^^sai^^3^^gei^^3*2^^
the 11th Century
十 sap^^6^^ — ten
一 jat^^1^^ — one, a, same, whole, each, once, a little
世 sai^^3^^ — generation, lifespan
紀 gei^^2^^ — discipline, annals, epoch
"""
@@
@@.answer
"""
十一個字 sap^^6^^jat^^1^^go^^3^^zi^^6^^
fifty–five minutes
eleven characters or words
十 sap^^6^^ — ten
一 jat^^1^^ — one, a, same, whole, each, once, a little
個 go^^3^^ — unit, individual
字 zi^^6^^ — word, glyph
"""
@@
@@.answer
"""
十之八九 sap^^6^^zi^^1^^baat^^3^^gau^^2^^
mostly //lit.// eight or nine tenths
十 sap^^6^^ — ten
之 zi^^1^^ — ’s, of, it, this, go to, to
八 baat^^3^^ — eight
九 gau^^2^^ — nine
"""
@@
@@.answer
"""
十二點鐘 sap^^6^^ji^^6^^dim^^2^^zung^^1^^
12 o’clock
十 sap^^6^^ — ten
二 ji^^6^^ — two
點 dim^^2^^ — dot, point, drop, select, touch, instruct
鐘 zung^^1^^ — clock, time, hour, bell
"""
@@
@@.answer
"""
十分 sap^^6^^fan^^1^^
completely, fully, very, perfect [score]
十 sap^^6^^ — ten
分 fan^^1^^ fan^^6^^ — divide, distribute, distinguish, point
"""
@@
@@.answer
"""
十年 sap^^6^^nin^^4^^
a decade
十 sap^^6^^ — ten
年 nin^^4^^ — year
"""
@@
@@.answer
"""
千 cin^^1^^ / qian^^1^^
a thousand
many, numerous, very
a Chinese family name
粵: [high clipped tone] a card cheat, swindler to cheat at cards, swindle
alternate and formal form used on checks, in accounting and banking: 仟
"""
@@
@@.answer
"""
千篇一律 cin^^1^^pin^^1^^jat^^1^^leot^^6^^
stereotyped, follow the same pattern, all in the same key, once you’ve seen one, you’ve seen them all //lit.// thousand articles, same rule
千 cin^^1^^ — a thousand, many
篇 pin^^1^^ — piece of writing, sheet
一 jat^^1^^ — one, a, same, whole, each, once, a little
律 leot^^6^^ — statute, law, regulation
"""
@@
@@.answer
"""
千米 cin^^1^^mai^^5^^
a kilometre, 1000m; usually used for sport events. in normal circumstances 公里 is used
千 cin^^1^^ — a thousand, many
米 mai^^5^^ — uncooked rice
"""
@@
@@.answer
"""
千辛萬苦 cin^^1^^san^^1^^maan^^6^^fu^^2^^
untold hardships (idiom), countless/untold/innumerable hardships
千 cin^^1^^ — a thousand, many
辛 san^^1^^ — hard, sad, pungent
萬 maan^^6^^ — ten thousand, innumerable
苦 fu^^2^^ — bitter, painful, hard, suffer from
"""
@@
@@.answer
"""
卅 saa^^1^^ / sa^^4^^
thirty //syn.// 三十
"""
@@
@@.answer
"""
卅呀一 saa^^1^^aa^^6^^jat^^1^^
粵: thirty–one //syn.// 三十一
卅 saa^^1^^ — thirty
呀 aa^^3^^ aa^^4^^ aa^^5^^ aa^^1^^ — final particle for softening abruptness
一 jat^^1^^ — one, a, same, whole, each, once, a little
"""
@@
@@.answer
"""
半夜三更 bun^^3^^je^^6^^saam^^1^^gaang^^1^^
in the depths of the night, very late at night //syn.// 三更半夜, 夜半三更, 三更夜半
半 bun^^3^^ — half
夜 je^^6^^ — night, dark, darkness
三 saam^^1^^ saam^^3^^ — three, several
更 gang^^1^^ gaang^^1^^ gang^^3^^ ang^^3^^ — change, shift, further
"""
@@
@@.answer
"""
半天吊 bun^^3^^tin^^1^^diu^^3^^
at a stalemate, in a dilemma, to be suspended in midair //lit.// half–way sky hung
半 bun^^3^^ — half
天 tin^^1^^ — sky, heaven
吊 diu^^3^^ — suspend, lift up, revoke
"""
@@
@@.answer
"""
半小時 bun^^3^^siu^^2^^si^^4^^
a half hour
半 bun^^3^^ — half
小 siu^^2^^ — small, tiny, little
時 si^^4^^ — time
"""
@@
@@.answer
"""
半斤八両 bun^^3^^gan^^1^^baat^^3^^loeng^^2^^
six of one and half of a dozen of the other, swings and roundabouts, much of a muchness //lit.// half catty eight taels (in old China, 1 catty = 16 taels = 600+g, in today’s People’s Republic, 1 catty = 500g = 10 taels)
半 bun^^3^^ — half
斤 gan^^1^^ — catty
八 baat^^3^^ — eight
両 loeng^^2^^ — a unit of weight
"""
@@
@@.answer
"""
半晝 bun^^3^^zau^^3^^
粵: half–day
半 bun^^3^^ — half
晝 zau^^3^^ — daytime, daylight
"""
@@
@@.answer
"""
半桶水 bun^^3^^tung^^2^^seoi^^2^^
to have only a little knowledge, to have knowledge or ability without full comprehension //lit.// half a bucket of water
半 bun^^3^^ — half
桶 tung^^2^^ — pail, bucket, barrel, tub
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
半開 bun^^3^^hoi^^1^^
ajar //lit.// half open
半 bun^^3^^ — half
開 hoi^^1^^ — open
"""
@@
@@.answer
"""
半鹹半淡 bun^^3^^haam^^4^^bun^^3^^taam^^5^^
low quality, indifferent, bad (e.g. mastery of a language) //lit.// half salty half bland
半 bun^^3^^ — half
鹹 haam^^4^^ — salty, obscene
半 bun^^3^^ — half
淡 daam^^6^^ taam^^5^^ — bland, thin, light, indifferent, dull
"""
@@
@@.answer
"""
卑鄙 bei^^1^^pei^^2^^
despicable, mean; 粵: also 衰
卑 bei^^1^^/bei^^1^^ — humble, modest, base, despicable
鄙 pei^^2^^/bi^^3^^ — vulgar, despise
"""
@@
@@.answer
"""
卒 zeot^^1^^ cyut^^3^^ / zu^^2^^ cu^^4^^
粵: zeot^^1^^ 華: zu^^2^^
a soldier, pawn, servant
to finish, end, die
finally, at last
粵: cyut^^3^^ 華: cu^^4^^
suddenly, abruptly, unexpectedly //var.// 猝
"""
@@
@@.answer
"""
協調 hip^^3^^tiu^^4^^
to coordinate, harmonise
協 hip^^3^^/xie^^2^^ — agree, be united, cooperate
調 diu^^6^^ tiu^^4^^/diao^^4^^ tiao^^2^^ — transfer, investigate, harmonious, adjust
"""
@@
@@.answer
"""
南亞 naam^^4^^aa^^3^^
southern Asia
南 naam^^4^^ — south
亞 aa^^3^^ — second, Asia
"""
@@
@@.answer
"""
南海 naam^^4^^hoi^^2^^
//lit.// South Sea; the South China Sea 南中國海
南 naam^^4^^ — south
海 hoi^^2^^ — sea, ocean
"""
@@
@@.answer
"""
南非 naam^^4^^fei^^1^^
south africa
南 naam^^4^^ — south
非 fei^^1^^ — not, non–, wrong
"""
@@
@@.answer
"""
卜 buk^^1^^ / bo^^5^^,bu^^3^^
to tell a fortune, divine, consult the oracle
to foretell, predict, prophesy
[literary] to choose, select (date, dwelling, etc)
卜 is also the simplified form of 蔔
"""
@@
@@.answer
"""
卜卜脆 bok^^1^^bok^^1^^ceoi^^3^^
crispy, brittle //syn.// 脆卜卜
卜 buk^^1^^/bu^^3^^ — tell fortune, foretell, predict
脆 ceoi^^3^^/cui^^4^^ — crisp, brittle
"""
@@
@@.answer
"""
印字機 jan^^3^^zi^^6^^gei^^1^^
a computer printer //syn.// 打印機, 印表機
印 jan^^3^^ — print, stamp, imprint
字 zi^^6^^ — word, glyph
機 gei^^1^^ — machine
"""
@@
@@.answer
"""
危險 ngai^^4^^him^^2^^
a danger, dangerous
危 ngai^^4^^/wei^^1^^ wei^^2^^ — dangerous, endanger, precipitous
險 him^^2^^/xian^^3^^ — dangerous, danger, sinister, nearly
"""
@@
@@.answer
"""
即使 zik^^1^^si^^2^^
although, even though; 粵: 就算
即 zik^^1^^ — promptly, namely, now, approach, assume
使 sai^^2^^ si^^2^^ si^^3^^ — send, enable, use, envoy
"""
@@
@@.answer
"""
卸 se^^3^^ / xie^^4^^
to unload, lay down, remove
to strip, disassemble, dismantle
to get rid of, shirk, retire from
"""
@@
@@.answer
"""
卸膊 se^^3^^bok^^3^^
to deny/shirk responsibility, avoid responsibility for one’s actions; 華: 卸肩
卸 se^^3^^ — unload, strip, get rid of
膊 bok^^3^^ — upper arm, shoulder
"""
@@
@@.answer
"""
卿 hing^^1^^ / qing^^1^^
a minister, senior official
you (a form of address in ancient times)
my dear (a term of endearment used between husband and wife)
"""
@@
@@.answer
"""
厚 hau^^5^^ / hou^^4^^
thick, thickness
deep, depth, profound
generous, substantial, large
kind, magnanimous, virtuous
favour, stress
rich or strong in flavour
"""
@@
@@.answer
"""
去年 heoi^^3^^nin^^4*2^^
華: last year, the year before this year; 粵: 舊年
去 heoi^^3^^ heoi^^2^^ — go, leave, past, remove
年 nin^^4^^ — year
"""
@@
@@.answer
"""
參 caam^^1^^ sam^^1^^ / can^^1^^ cen^^1^^ shen^^1^^
粵: caam^^1^^ 華: can^^1^^
to join, enter, take part in
to refer, consult, search into
to call on, pay respects, visit
to impeach, censure
粵: caam^^1^^ 華: cen^^1^^
uneven, irregular, not uniform
粵: sam^^1^^ 華: shen^^1^^
one of the 28 constellations
ginseng
粵: ransom (loanword)
"""
@@
@@.answer
"""
參加 caam^^1^^gaa^^1^^
to take part, to join, to participate, to attend
參 caam^^1^^ sam^^1^^/can^^1^^ cen^^1^^ shen^^1^^ — join, refer, call on, uneven, ginseng
加 gaa^^1^^/jia^^1^^ — plus, add to, increase, append
"""
@@
@@.answer
"""
又平又靚 jau^^6^^peng^^4^^jau^^6^^leng^^3^^
inexpensive and pretty
又 jau^^6^^/you^^4^^ — and, also, again, furthermore
平 ping^^4^^ peng^^4^^/ping^^2^^ — peaceful, level
又 jau^^6^^/you^^4^^ — and, also, again, furthermore
靚 leng^^3^^ leng^^1^^ zing^^6^^/liang^^4^^ jing^^4^^ — beautiful, pretty, nice, teenager
"""
@@
@@.answer
"""
又是 jau^^6^^si^^6^^
華: again is
又 jau^^6^^ — and, also, again, furthermore
是 si^^6^^ — is
"""
@@
@@.answer
"""
又要 jau^^6^^jiu^^3^^
again must, also wants
又 jau^^6^^ — and, also, again, furthermore
要 jiu^^3^^ jiu^^1^^ — want, must, shall, important, demand, if
"""
@@
@@.answer
"""
叉子 caa^^1^^zi^^2^^
華: a fork; 粵: 叉
叉 caa^^1^^ — fork, pierce
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
叉燒 caa^^1^^siu^^1^^
barbecued pork, Guangdong–style grilled pork [related term] 燒肉
叉 caa^^1^^/cha^^1^^ cha^^2^^ — fork, pierce
燒 siu^^1^^/shao^^1^^ — burn, heat, cook, fever
"""
@@
@@.answer
"""
友情 jau^^5^^cing^^4^^
a friendship, friendly feelings
友 jau^^5^^/you^^3^^ — friend, friendship
情 cing^^4^^/qing^^2^^ — emotion, love, sentiment
"""
@@
@@.answer
"""
反動 faan^^2^^dung^^6^^
reactionary
反 faan^^2^^ — opposite, turn over, combat, counter
動 dung^^6^^ — move, stir, change, alter
"""
@@
@@.answer
"""
反向 faan^^2^^hoeng^^3^^
opposite direction, reverse
反 faan^^2^^ — opposite, turn over, combat, counter
向 hoeng^^3^^ — to face, direction, towards, all along
"""
@@
@@.answer
"""
反胃 faan^^2^^wai^^6^^
nauseating, disgusting //lit.// turn stomach
反 faan^^2^^ — opposite, turn over, combat, counter
胃 wai^^6^^ — stomach
"""
@@
@@.answer
"""
反轉豬肚就係屎 faan^^2^^zyun^^3^^zyu^^1^^tou^^5^^zau^^6^^hai^^6^^si^^2^^
to experience a friend turning into an enemy after a dispute
反 faan^^2^^ — opposite, turn over, combat, counter
轉 zyun^^2^^ zyun^^3^^ — turn, transfer, revolve
豬 zyu^^1^^ — pig
肚 tou^^5^^ — belly, stomach
就 zau^^6^^ — right away, only, approach, comply with
係 hai^^6^^ — yes, it is, indeed, right, positive, to be
屎 si^^2^^ — excrement, no good
"""
@@
@@.answer
"""
取消 ceoi^^2^^siu^^1^^
to cancel
取 ceoi^^2^^/qu^^3^^ — take, get, gain, obtain, choose, select
消 siu^^1^^/xiao^^1^^ — vanish, disperse, quench
"""
@@
@@.answer
"""
受落 sau^^6^^lok^^6^^
to welcome, receive, accept
受 sau^^6^^ — receive, bear, suffer, endure
落 lok^^6^^ laai^^6^^ — to fall
"""
@@
@@.answer
"""
受訓 sau^^6^^fan^^3^^
to receive training
受 sau^^6^^/shou^^4^^ — receive, bear, suffer, endure
訓 fan^^3^^/xun^^4^^ — lecture, teachings, training
"""
@@
@@.answer
"""
受軟唔受硬 sau^^6^^jyun^^5^^m^^4^^sau^^6^^ngaang^^6^^
said of someone who is more easily persuaded than coerced //lit.// takes soft but not hard
"""
@@
@@.answer
"""
口噏噏 hau^^2^^ngap^^1^^ngap^^1^^
to speak incoherently, to stammer, to burble
口 hau^^2^^/kou^^3^^ — mouth
噏 ngap^^1^^ ap^^1^^/xi^^1^^ — babble, prattle, gossip
"""
@@
@@.answer
"""
口寡 hau^^2^^gwaa^^2^^
to have a weak taste, taste bland, tasteless
口 hau^^2^^ — mouth
寡 gwaa^^2^^ — few, tasteless, widowed
"""
@@
@@.answer
"""
口感 hau^^2^^gam^^2^^
how food feels in the mouth, texture or taste of food
口 hau^^2^^/kou^^3^^ — mouth
感 gam^^2^^/gan^^3^^ — feel, perceive, sense, emotion
"""
@@
@@.answer
"""
口語 hau^^2^^jyu^^5^^
a colloquial language, spoken language; cf. written language 書面語
口 hau^^2^^/kou^^3^^ — mouth
語 jyu^^5^^/yu^^3^^ — language, speech, speak
"""
@@
@@.answer
"""
口部 hau^^2^^bou^^6^^
the oral area
口 hau^^2^^ — mouth
部 bou^^6^^ — part, section, department, division, troops
"""
@@
@@.answer
"""
口響 hau^^2^^hoeng^^2^^
to make empty promises, to talk without thinking sth through
口 hau^^2^^ — mouth
響 hoeng^^2^^ — sound, noise
"""
@@
@@.answer
"""
叩頭 kau^^3^^tau^^4^^
to //kowtow// (kneel and press one’s forehead to the ground), also written 磕頭|磕头 ke^^1^^tou^^2^^; see also 稽顙
叩 kau^^3^^ — to knock, to kowtow, to enquire
頭 tau^^4^^ — head, first, chief
"""
@@
@@.answer
"""
只係 zi^^2^^hai^^6^^
粵: only, only that, just, simply, merely //syn.// 淨係; 華: 只是
只 zi^^2^^ — only, merely, just, simplified for 隻
係 hai^^6^^ — yes, it is, indeed, right, positive, to be
"""
@@
@@.answer
"""
zi^^2^^jau^^5^^
only have; 粵: also: 剩係有
只 zi^^2^^ — only, merely, just, simplified for 隻
有 jau^^5^^ jau^^6^^ — have, there is
"""
@@
@@.answer
"""
只要 zi^^2^^jiu^^3^^
so long as, if only; see also 除非
只 zi^^2^^ — only, merely, just, simplified for 隻
要 jiu^^3^^ jiu^^1^^ — want, must, shall, important, demand, if
"""
@@
@@.answer
"""
只需要 zi^^2^^seoi^^1^^jiu^^3^^
華: only needs, only requires
只 zi^^2^^ — only, merely, just, simplified for 隻
需 seoi^^1^^ — need, require
要 jiu^^3^^ jiu^^1^^ — want, must, shall, important, demand, if
"""
@@
@@.answer
"""
叫人 giu^^3^^jan^^4^^
to address a person by title or relationship to you (juniors address seniors); a parent shows their child/children how to address the person they see by their relationship. e.g. 細伯 sai^^3^^baak^^3^^ is used for an older gentleman and 伯母 baak^^3^^mou^^5^^ for an older woman
叫 giu^^3^^ — called, be known as
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
叫作 giu^^3^^zok^^3^^
華: to be called, to be named; 粵: 叫做
叫 giu^^3^^ — called, be known as
作 zok^^3^^ — make, write, regard as
"""
@@
@@.answer
"""
叫好 giu^^3^^hou^^2^^
applaud, cheer
叫 giu^^3^^ — called, be known as
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
"""
@@
@@.answer
"""
叫聲 giu^^3^^seng^^1^^
the call of an animal e.g. a baby’s cry, a bird’s chirp
叫 giu^^3^^ — called, be known as
聲 sing^^1^^ seng^^1^^ — sound, voice, declare, fame
"""
@@
@@.answer
"""
召喚 ziu^^6^^wun^^6^^
to call, summon
召 ziu^^6^^ siu^^6^^ — summon, call together, convene
喚 wun^^6^^ — call out, summon
"""
@@
@@.answer
"""
可心 ho^^2^^sam^^1^^
satisfying, to the satisfaction (or liking) of
可 ho^^2^^ hak^^1^^ — can, approve, need, but
心 sam^^1^^ — heart
"""
@@
@@.answer
"""
可惜 ho^^2^^sik^^1^^
what a waste, what a pity
可 ho^^2^^ hak^^1^^/ke^^3^^ ke^^4^^ — can, approve, need, but
惜 sik^^1^^ sek^^3^^/xi^^1^^ xi^^2^^ — cherish, stint, have pity on, kiss
"""
@@
@@.answer
"""
可樂 ho^^2^^lok^^6^^
a cola, a type of carbonated water (汽水), coca–cola is 可口可樂
可 ho^^2^^ hak^^1^^ — can, approve, need, but
樂 lok^^6^^ ngok^^6^^ ngaau^^6^^ — joy, music, be fond of
"""
@@
@@.answer
"""
可見 ho^^2^^gin^^3^^
it can clearly be seen (that this is the case), it is (thus) clear
clear, visible
可 ho^^2^^ hak^^1^^ — can, approve, need, but
見 gin^^3^^ jin^^6^^ — see, meet, view, show evidence of
"""
@@
@@.answer
"""
台北 toi^^4^^bak^^1^^
Taipei, the capital of Taiwan, also written as 臺北
台 toi^^4^^ — terrace, platform, stand, Taiwan, your
北 bak^^1^^ — north
"""
@@
@@.answer
"""
台灣 toi^^4^^waan^^1^^
Taiwan, also written 臺灣
台 toi^^4^^ — terrace, platform, stand, Taiwan, your
灣 waan^^1^^ — bay, cove, inlet, gulf
"""
@@
@@.answer
"""
右便 jau^^6^^bin^^6^^
粵: the right side; 華: 右面
右 jau^^6^^ — right
便 bin^^6^^ pin^^4^^ — convenient, ordinary, cheap
"""
@@
@@.answer
"""
右手 jau^^6^^sau^^2^^
the right hand
the right hand side
右 jau^^6^^ — right
手 sau^^2^^ — hand
"""
@@
@@.answer
"""
叻女 lek^^1^^neoi^^5*2^^
a clever girl, a clever young woman
叻 lek^^1^^ lik^^1^^ lak^^6^^ — smart, clever, competent
女 neoi^^5^^ neoi^^2^^ — woman, daughter
"""
@@
@@.answer
"""
吃光 hek^^3^^gwong^^1^^
華: to finish eating; 粵: 食晒
吃 hek^^3^^ — eat
光 gwong^^1^^ — light, shine
"""
@@
@@.answer
"""
吃飯 hek^^3^^faan^^6^^
華: to eat a meal
吃 hek^^3^^ — eat
飯 faan^^6^^ — cooked rice
"""
@@
@@.answer
"""
各個 gok^^3^^go^^3^^
華: separately, one by one, each
各 gok^^3^^ — each, every, all
個 go^^3^^ — unit, individual
"""
@@
@@.answer
"""
各國 gok^^3^^gwok^^3^^
華: all nations, every country
各 gok^^3^^ — each, every, all
國 gwok^^3^^ — nation, country, state
"""
@@
@@.answer
"""
合家 hap^^6^^gaa^^1^^
華: the whole family //var.// 闔家
合 hap^^6^^ ho^^4^^ gap^^3^^/he^^2^^ ge^^3^^ — close, join, whole, suit, add up to
家 gaa^^1^^/jia^^1^^ — home, family, specialist
"""
@@
@@.answer
"""
合影 hap^^6^^jing^^2^^
to take a photograph together, group photo
合 hap^^6^^ ho^^4^^ gap^^3^^ — close, join, whole, suit, add up to
影 jing^^2^^ — shadow, image, reflection
"""
@@
@@.answer
"""
合金 hap^^6^^gam^^1^^
a metal alloy
合 hap^^6^^ ho^^4^^ gap^^3^^ — close, join, whole, suit, add up to
金 gam^^1^^ — gold
"""
@@
@@.answer
"""
吉他 gat^^1^^taa^^1^^
華: a guitar //syn.// 吉它; 粵: 結他
吉 gat^^1^^ — lucky, auspicious; 粵: vacant
他 taa^^1^^ — other
"""
@@
@@.answer
"""
吉凶 gat^^1^^hung^^1^^
good and bad luck (in astrology)
吉 gat^^1^^ — lucky, auspicious; 粵: vacant
凶 hung^^1^^ — evil, famine, unlucky, fearsome
"""
@@
@@.answer
"""
吊 diu^^3^^ / diao^^4^^
to suspend, hang, dangle
to lift up, hoist (with a rope/crane)
to revoke, withdraw, cancel
[measure] a string of 1000 copper coins
吊 is also the simplified form of 弔
"""
@@
@@.answer
"""
吊燈 diu^^3^^dang^^1^^
a hanging lantern (may also be written as: 弔燈)
吊 diu^^3^^ — suspend, lift up, revoke
燈 dang^^1^^ — light, lamp
"""
@@
@@.answer
"""
同一 tung^^4^^jat^^1^^
identical, the same
同 tung^^4^^/tong^^2^^ — same, together, for
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
"""
@@
@@.answer
"""
同伴 tung^^4^^bun^^6^^
a companion, mate, comrade 粵: 伴 pun^^5^^
同 tung^^4^^/tong^^2^^ — same, together, for
伴 bun^^6^^ pun^^5^^/ban^^4^^ — companion, partner, accompany
"""
@@
@@.answer
"""
同大 tung^^4^^daai^^6^^
commensurate, of the same size
同 tung^^4^^ — same, together, for
大 daai^^6^^ — big
"""
@@
@@.answer
"""
同姓 tung^^4^^sing^^3^^
of the same surname
同 tung^^4^^ — same, together, for
姓 sing^^3^^ seng^^3^^ — surname
"""
@@
@@.answer
"""
同年 tung^^4^^nin^^4^^
in the same year, of the same age; 粵: 老同 (an old friend)
同 tung^^4^^/tong^^2^^ — same, together, for
年 nin^^4^^/nian^^2^^ — year
"""
@@
@@.answer
"""
同文 tung^^4^^man^^4^^
identical text
同 tung^^4^^ — same, together, for
文 man^^4^^ man^^4*1^^ man^^6^^ — written language, literary, civilian
"""
@@
@@.answer
"""
名譽 ming^^4^^jyu^^6^^
fame, reputation, name
honourary
名 ming^^4^^ meng^^2^^/ming^^2^^ — name, fame
譽 jyu^^6^^/yu^^4^^ — reputation, praise
"""
@@
@@.answer
"""
吓吓 haa^^5^^haa^^5^^
粵: always; all the time
吓 haa^^2^^ haa^^5^^ haa^^1^^ — (question tag)
"""
@@
@@.answer
"""
吖 aa^^1^^ / a^^1^^
a final particle expressing consent and denial, liveliness and irritation, etc. //var.// 呀
"""
@@
[[はいだしょうこ|https://youtube.com/watch?v=zOFT437Z7Ns]] d#
石川綾子 <iframe height="10px" width="40px" src="music/20210606 天空の城ラピュタ laputa - castle in the sky 石川綾子.m4a" frameborder="0"></iframe> (g) to c
nataliya gudziy harp <iframe height="10px" width="40px" src="music/20210606 天空の城 ラピュタ 『君をのせて』 ナターシャ・グジー / carrying you from castle in the sky by nataliya gudziy.m4a" frameborder="0"></iframe> d
[[seannorth|https://youtube.com/watch?v=N8E8N1ePoOk]] <iframe height="10px" width="40px" src="music/20210729 君をのせて seannorth.m4a" frameborder="0"></iframe> e
"""
あの地平線 輝くのは
どこかに君をかくしているから
たくさんの灯がなつかしいのは
あのどれかひとつに 君がいるから
さあ でかけよう ひときれのパン
ナイフ ランプ かばんにつめこんで
☆父さんが残した 熱い想い
母さんがくれた あのまなざし
地球はまわる 君をかくして
輝く瞳 きらめく灯
地球はまわる 君をのせて
いつかきっと出会う ぼくらをのせて
"""
"""
あの地平線 輝くのは
anoCHIHEISEN KAGAYAkunowa
within those glittering lights on the horizon
どこかに君をかくしているから
dokokaniKIMIwokakushiteirukara
you must be hiding somewhere
たくさんの灯がなつかしいのは
takusannoHIganatsukashiinowa
when i see those twinkling stars
あのどれかひとつに 君がいるから
anodorekahitotsuni KIMIgairukara
i feel nostalgic because i know you are in one of them
さあ でかけよう ひときれのパン
saa dekakeyou hitokirenopan
let’s set out, pack a bag with
ナイフ ランプ かばんにつめこんで
naifu ranpu kabannitsumekonde
a piece of bread, a knife, a lamp
☆父さんが残した 熱い想い
TOUsangaNOKOshita ATSUiOMOi
the passion that my father left me
母さんがくれた あのまなざし
KAAsangakureta anomanazashi
that look that my mother gave me
地球はまわる 君をかくして
CHIKYUUwamawaru KIMIwokakushite
the earth is spinning, concealing you
輝く瞳 きらめく灯
KAGAYAkuHITOMI kiramekuTOMOSHIBI
your eyes are shining in the glittering light
地球はまわる 君をのせて
CHIKYUUwamawaru KIMIwonosete
the earth is spinning, carrying you
いつかきっと出会う ぼくらをのせて
itsukakittoDEAU bokurawonosete
carrying us who shall meet someday
☆repeat
"""
[[ヨメトオレ|https://www.youtube.com/watch?v=h50K9txEB4k]] d
[[goose house|https://m.youtube.com/watch?v=J5urSMpUFMc]]
咖啡猫姐妹 <iframe height="10px" width="40px" src="music/20180627 君をのせて 咖啡猫姐妹.m4a" frameborder="0"></iframe> b
"""
l’horizon là–bas scintille
de mille feux, il brille
puisque tu vis en son sein
caché dans le creux de ses mains
si toutes ces lumières sont belles
si elles nous émerveillent
c’est grâce à toi, parce que tu es là
puisque tu es l’une d’entre elles
un bout de pain emballé
tant de choses dans nos bagages
une lame, une lampe pour nous aider dans ce long voyage
mon père déposa en moi ce coeur si chaleureux
mon regard vient de ma mère, elle dort là dans mes yeux
la terre tournera encore, jamais ne s’arrêtera
son regard brillera fort, te cachant dans tout son éclat
la terre tournera toujours, te portant en son sein
je sais qu’un jour, elle nous portera
tous les deux, main dans la main
mon père déposa en moi son coeur si chaleureux
mon regard vient de ma mère, elle dort là dans mes yeux
la terre tournera encore, jamais ne s’arrêtera
son regard brillera fort, te cachant dans son tout éclat
la terre tournera toujours, te portant en son sein
je sais qu’un jour, elle nous portera
tous les deux, main dans la main
"""
[[mioune|https://www.youtube.com/watch?v=TDkwK6QSBOo]] <iframe height="10px" width="40px" src="music/20210731 君をのせて mioune.m4a" frameborder="0"></iframe> d#
[[藤原マリア|https://youtu.be/djYt7Mbr7qQ]] <iframe height="10px" width="40px" src="music/20210731 君をのせて 藤原マリア.m4a" frameborder="0"></iframe>
@@.answer
"""
吟 jam^^4^^ ngam^^4^^ / yin^^2^^
粵: jam^^4^^; 華: yin^^2^^
to chant, recite, sing
to groan, lament, sigh
粵: ngam^^4^^ — 粵: to grumble, mutter, ramble, 吟 ngam^^4^^ and 噏 ngap^^1^^ are nasal–stop alternants
"""
@@
@@.answer
"""
吟詩 jam^^4^^si^^1^^
to recite/chant poems, to hum verse
吟 jam^^4^^ ngam^^4^^/yin^^2^^ — chant, groan, grumble
詩 si^^1^^/shi^^1^^ — poetry, poem, verse, ode
"""
@@
@@.answer
"""
吧 baa^^1^^ baa^^6^^ / ba^^5^^,ba^^1^^
粵: baa^^1^^; 華: ba^^1^^
a bar (loanword)
華: a crack, thud, bump (onomatopoeia)
粵: baa^^6^^; 華: ba^^5^^
softens the tone or shows uncertainty (final particle) //var.// 罷
"""
@@
@@.answer
"""
吩咐 fan^^1^^fu^^3^^
[1] [v] instruct; tell; order
[2] [n] instructions; command; order
吩 fan^^1^^/fen^^1^^ — instruct
咐 fu^^3^^/fu^^4^^ — instruct
"""
@@
@@.answer
"""
含 ham^^4^^ / han^^2^^
to hold/keep in mouth, suck
to contain, embody, include
to endure, bear, cherish, harbour
"""
@@
@@.answer
"""
吸 kap^^1^^ / xi^^1^^
to inhale, breathe/suck/draw in //ant.// 呼
to absorb, soak up, suction
to attract, captivate, draw to oneself
"""
@@
@@.answer
"""
吼 haau^^1^^ hau^^3^^ hau^^1^^ hau^^4^^ / hou^^3^^ — 粵: haau^^1^^ hau^^3^^; 華: hou^^3^^
roar, shout, howl, bellow, boom, cry out; haau^^1^^ is colloquial reading while hau^^3^^ is literary
粵: hau^^1^^ hau^^4^^ — 粵: only
[1] keep an eye on, watch closely //var.// 睺
[2] long for, have an interest in
hau^^1^^ is standard reading while hau^^4^^ is variant reading
"""
@@
@@.answer
"""
吽 ngau^^6^^ hau^^2^^ hung^^1^^ / hou^^3^^ hong^^1^^
粵: ngau^^6^^
listless, inert
dull, boring
hau^^2^^ / hou^^3^^ — (of bull) bellow
hung^^1^^ / hong^^1^^ — a word used in Buddhist incantation
"""
@@
@@.answer
"""
呃秤 aak^^1^^cing^^3^^
a merchant shorting the scale to cheat the customer, “putting one’s thumb on the scale”; also 足秤 //lit.// trick scale
呃 aak^^1^^ ngaak^^1^^ aak^^3^^ ak^^1^^/e^^4^^ — cheat, deceive, hiccup, hiccough
秤 cing^^3^^ ping^^4^^/cheng^^4^^ — steelyard, scales, Libra
"""
@@
@@.answer
"""
呃鬼食豆腐 aak^^1^^gwai^^2^^sik^^6^^dau^^6^^fu^^6^^
to lure someone into a trap, to trick someone
an expression of skepticism — you’re kidding/joking, (that’s a) likely story, “yeah, right”
//lit.// to trick a ghost into eat tofu
呃 aak^^1^^ ngaak^^1^^ aak^^3^^ ak^^1^^/e^^4^^ — cheat, deceive, hiccup, hiccough
鬼 gwai^^2^^/gui^^3^^ — ghost, devil, dishonest, terrible
食 sik^^6^^ zi^^6^^/shi^^2^^ si^^4^^ — eat, food
豆 dau^^6^^ dau^^6*2^^/dou^^4^^ — beans, peas
腐 fu^^6^^/fu^^3^^ — rot, stale, bean curd
"""
@@
@@.answer
"""
呈請 cing^^4^^cing^^2^^
to submit (to superiors)
呈 cing^^4^^/cheng^^2^^ — to submit (a report), a petition, to reveal
請 cing^^2^^ ceng^^2^^/qing^^3^^ — request, invite, hire
"""
@@
@@.answer
"""
告白 gou^^3^^baak^^6^^
粵: an advertisement, ad; 華: 廣告
a public statement (both 粵: and 華)
告 gou^^3^^ guk^^1^^ — inform, proclaim, prosecute, ask for
白 baak^^6^^ — white, clear, pure
"""
@@
@@.answer
"""
呢便 ni^^1^^bin^^6^^ —
[1] here //syn.// 呢邊, 呢度, 呢處; 華: 這裡, 這邊, 這兒 |
[2] this side //syn.// 呢邊; 華: 這邊
呢 ni^^1^^ ne^^1^^ nei^^1^^ nei^^4^^/ne^^5^^ ni^^2^^ — final particle; 粵: this
便 bin^^6^^ pin^^4^^/bian^^4^^ pian^^2^^ — convenient; ordinary; cheap
"""
@@
@@.answer
"""
呢度 ni^^1^^dou^^6^^
粵: here
呢 ni^^1^^ ne^^1^^ nei^^1^^ nei^^4^^ — final particle; 粵: this
度 dou^^6^^ dok^^6^^ dou^^2^^ — measure, rules, estimate, roughly
"""
@@
@@.answer
"""
呢樣 ni^^1^^joeng^^6^^
this type, this kind; 華: 這一種
this way, like this; 華: 這樣
呢 ni^^1^^ ne^^1^^ nei^^1^^ nei^^4^^ — final particle; 粵: this
樣 joeng^^6^^ joeng^^6*2^^ — shape, sample, type
"""
@@
@@.answer
"""
呷 haap^^3^^ / xia^^1^^
to sip, suck, swallow, drink
"""
@@
@@.answer
"""
呼 fu^^1^^ / hu^^1^^
to breathe, sigh, exhale, call, shout 叫器
"""
@@
@@.answer
"""
和尚 wo^^4^^soeng^^6*2^^
a buddhist monk
和 wo^^4^^ wo^^6^^ wu^^2^^/he^^2^^ he^^4^^ hu^^2^^ han^^4^^ — gentle, harmony, peace, draw, and, sum
尚 soeng^^6^^/shang^^4^^ — still, yet, esteem
"""
@@
@@.answer
"""
咒語 zau^^3^^jyu^^5^^
a spell, curse, incantation
咒 zau^^3^^ — curse, magic words
語 jyu^^5^^ — language, speech, speak
"""
@@
@@.answer
"""
咧 le^^4^^ le^^5^^ / lie^^3^^ lie^^5^^ lie^^1^^
le^^4^^ (final particle used to seek consent) okay? / shall we?
le^^5^^ (final particle used to invite agreement) right? / huh! / isn’t it?
"""
@@
@@.answer
"""
咪係 mai^^6^^hai^^6^^/hai^^6*2^^
to be
quite right, exactly, precisely //syn.// 就係; 華: 就是
(rhetorical) mai^^6^^hai^^6*2^^ “Isn’t that so?”, “Didn’t I say so?”, “I told you so!”, “That’s precisely my point!”; 華: 難道不是嗎
咪 mai^^1^^ mai^^5^^ mai^^6^^ — cat’s mew, study hard, don’t
係 hai^^6^^ — yes, it is, indeed, right, positive, to be
"""
@@
@@.answer
"""
咪喐 mai^^5^^juk^^1^^
粵: Don’t move! Freeze! //var.// 咪郁
咪 mai^^1^^ mai^^5^^ mai^^6^^ — cat’s mew, study hard, don’t
喐 juk^^1^^ — to move
"""
@@
@@.answer
"""
咪嘈 mai^^5^^cou^^4^^
粵: shut up //syn.// 冇嘈; 華: 別吵, 不要吵
咪 mai^^1^^ mai^^5^^ mai^^6^^ — cat’s mew, study hard, don’t
嘈 cou^^4^^ — noisy, clamorous
"""
@@
@@.answer
"""
咬 ngaau^^5^^ / yao^^3^^
to bite, gnaw, snap at
to incriminate, implicate, accuse
to articulate, pronounce, be nitpicking on words
"""
@@
@@.answer
"""
咬糧 ngaau^^5^^loeng^^4^^
to live on one’s pension (after retirement from government job), be a pensioner //lit.// bite one’s pension //var.// 食長糧
咬 ngaau^^5^^ — bite, incriminate, articulate
糧 loeng^^4^^ — grain, food, salary
"""
@@
@@.answer
"""
咬耳仔 ngaau^^5^^ji^^5^^zai^^2^^
a secret talk, to talk about something quietly and secretively by whispering into each other’s ears, to talk secretly, to whisper together in a secretive way, to conspire //lit.// to bite ears
咬 ngaau^^5^^/yao^^3^^ — bite, incriminate, articulate
耳 ji^^5^^/er^^3^^ reng^^2^^ reng^^3^^ — ear
仔 zai^^2^^ zi^^2^^/zai^^3^^ zi^^1^^ — son, child
"""
@@
@@.answer
"""
咭數 kaat^^1^^sou^^3^^
粵: credit card bills
咭 kaat^^1^^ — card
數 sou^^3^^ sou^^2^^ sok^^3^^ — number, figure, several, count
"""
@@
@@.answer
"""
品味 ban^^2^^mei^^6^^
a taste, to taste
品 ban^^2^^ — product, commodity
味 mei^^6^^ — taste, flavour, smell, interest, reflect on
"""
@@
@@.answer
"""
哇 waa^^1^^ / wa^^1^^ wa^^5^^
粵: waa^^1^^ 華: wa^^1^^
the sound of crying or vomiting (onomatopoeia)
華: wa^^5^^
used in place of 啊 after a word ending in u or ao (final particle)
"""
@@
@@.answer
"""
哈 haa^^1^^ / ha^^1^^,ha^^3^^
the sound of hearty laughter [onomatopoeia]
to breathe out (with the mouth open)
to bend, stoop
used in transliteration
"""
@@
@@.answer
"""
哉 zoi^^1^^ / zai^^1^^
surprise, admiration, grief, doubt (a phrase–final particle)
a retort, when used with an interrogative word
"""
@@
@@.answer
"""
哥哥 go^^1*4^^go^^1^^
an elder brother; 粵: also 大佬
哥 go^^1^^ go^^1*4^^/ge^^1^^ — elder brother
"""
@@
@@.answer
"""
哨 saau^^3^^ / shao^^4^^
a sentry post, patrol, outpost
a whistle
(of birds) a warble, chirp
"""
@@
@@.answer
"""
哪個 naa^^5^^go^^3^^
華: which one, who //syn.// 哪一個; 粵: 邊個, 邊一個
哪 naa^^5^^ naa^^4^^ — which?, who, what, where?, how?
個 go^^3^^ — unit, individual
"""
@@
@@.answer
"""
哪兒 naa^^5^^ji^^4^^
華: where
哪 naa^^5^^ naa^^4^^ — which?, who, what, where?, how?
兒 ji^^4^^ — child, son
"""
@@
@@.answer
"""
哺 bou^^6^^/ bu^^3^^
to feed (a baby), nurse, rear
food being chewed in one’s mouth
"""
@@
@@.answer
"""
唉 aai^^1^^ oi^^1^^ / ai^^1^^,ai^^4^^
alas (exclamation, sigh in despair)
"""
@@
@@.answer
"""
唐突 tong^^4^^dat^^6^^
rude, brusque, blunt, abrupt, short, unceremonious, curt
唐 tong^^4^^/tang^^2^^ — Tang dynasty, Chinese, a surname
突 dat^^6^^/tu^^1^^ tu^^2^^ — dash forward, abruptly, protrude
"""
@@
@@.answer
"""
唔使多謝 m^^4^^sai^^2^^do^^1^^ze^^6^^
you’re welcome, don’t mention it; 唔使多謝 for goods received and 唔使唔該 for services rendered; 華: 不用謝
唔 m^^4^^ — not, no
使 sai^^2^^ si^^2^^ si^^3^^ — send, enable, use, envoy
多 do^^1^^ — many, much, more, more than
謝 ze^^6^^ — thank, thanks
"""
@@
@@.answer
"""
唔使審 m^^4^^sai^^2^^sam^^2^^
definitely, without doubt, needless to say
//lit.// no need to investigate
//syn.// 唔使問
唔 m^^4^^ — not, no
使 sai^^2^^ si^^2^^ si^^3^^ — send, enable, use, envoy
審 sam^^2^^ — examine, cautious, interrogate
"""
@@
@@.answer
"""
唔係 m^^4^^hai^^6^^
to not be, is not, are not, am not, was not, were not; 華: 不是
used as a conjunctive: otherwise; 華: 不然
唔 m^^4^^/wu^^2^^ — not, no
係 hai^^6^^/xi^^4^^ — yes, it is, indeed, right, positive, to be
"""
@@
@@.answer
"""
唔係呢 m^^4^^hai^^6^^ne^^1^^
粵: otherwise, or else
唔 m^^4^^ — not, no
係 hai^^6^^ — yes, it is, indeed, right, positive, to be
呢 ni^^1^^ ne^^1^^ nei^^1^^ nei^^4^^ — final particle; 粵: this
"""
@@
@@.answer
"""
唔係啊嗎 m^^4^^hai^^6^^aa^^6^^maa^^3*5^^
粵: surely it can’t be
"""
@@
@@.answer
"""
唔係啩 m^^4^^hai^^6^^gwaa^^3^^
粵: “are you kidding?”
唔 m^^4^^ — not, no
係 hai^^6^^ — yes, it is, indeed, right, positive, to be
啩 gwaa^^3^^ — final particle expressing doubt
"""
@@
@@.answer
"""
唔係猛龍唔過江 m^^4^^hai^^6^^maang^^5^^lung^^4^^m^^4^^gwo^^3^^gong^^1^^
one who dares to come is surely brave, a challenger from a far–off land is not to be under–estimated, only a very capable person dares to come for the challenge //lit.// a dragon would not cross the river were it not a fierce one
lesser–known latter part of couplet: 唔係毒蛇唔打霧 ‘A snake would not breathe mist were it not a deadly one’
唔 m^^4^^ — not, no
係 hai^^6^^ — yes, it is, indeed, right, positive, to be
猛 maang^^5^^ — ferocious, energetic, abruptly
龍 lung^^4^^ — dragon
唔 m^^4^^ — not, no
過 gwo^^3^^ — pass through, across
江 gong^^1^^ — large river
"""
@@
@@.answer
"""
唔做嘢 m^^4^^zou^^6^^je^^5^^
粵: not doing anything, not doing sth.
goofing off, slacking, not doing work (when one should be); 華: 不幹活, 不做事
唔 m^^4^^ — not, no
做 zou^^6^^ — do, make
嘢 je^^5^^ — 粵: thing, articles
"""
@@
@@.answer
"""
唔可以 m^^4^^ho^^2^^ji^^5^^
粵: cannot, not possible //syn.// 唔得, 唔可能, 唔可; 華: 不可能, 不可以, 不得 (//literary//)
唔 m^^4^^ — not, no
可 ho^^2^^ hak^^1^^ — can, approve, need, but
以 ji^^5^^ — by means of, because of
"""
@@
@@.answer
"""
唔啱feel m^^4^^ngaam^^1^^feel
does not feel right, bad vibes
唔 m^^4^^/wu^^2^^ — not, no
啱 ngaam^^1^^ aam^^1^^/yan^^2^^ — correct, suitable for, by chance
"""
@@
@@.answer
"""
唔多 m^^4^^do^^1^^
粵: not very, not too, not often; 華: 不大
唔 m^^4^^ — not, no
多 do^^1^^ — many, much, more, more than
"""
@@
@@.answer
"""
唔夠秤 m^^4^^gau^^3^^cing^^3^^
underweight (in cantonese it can also mean ‘underage’)
唔 m^^4^^ — not, no
夠 gau^^3^^ — enough, sufficient
秤 cing^^3^^ ping^^4^^ — steelyard, scales, Libra
"""
@@
@@.answer
"""
唔得 m^^4^^dak^^1^^
粵: cannot, not possible //syn.// 唔可能, 唔可, 唔可以; 華: 不可能, 不可以, 不得 (//lit.//)
唔 m^^4^^ — not, no
得 dak^^1^^ — get, obtain, fit, finished, able to, must
"""
@@
@@.answer
"""
唔撈 m^^4^^lou^^1^^
to not do sth. anymore, to not do a particular job anymore, to resign or quit one’s job; 華: 不做, 不幹, 辭職
唔 m^^4^^ — not, no
撈 lou^^1^^ laau^^4^^ — earn a living, mix, dredge up
"""
@@
@@.answer
"""
唔明 m^^4^^ming^^4^^
粵: ignorant of, not understand; 華: 不懂
唔 m^^4^^ — not, no
明 ming^^4^^ — bright, clear
"""
@@
@@.answer
"""
唔會 m^^4^^wui^^5^^
cannot, not willing
唔 m^^4^^ — not, no
會 wui^^5^^ wui^^6^^ kui^^2^^ — will, would, get together, meet, city
"""
@@
@@.answer
"""
唔生性 m^^4^^saang^^1^^sing^^3^^
粵: unaware, lacking initiative, clueless; 華: 沒出息, 不懂事; see 醒目
唔 m^^4^^ — not, no
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
性 sing^^3^^ — nature, character, sex
"""
@@
@@.answer
"""
唔畀 m^^4^^bei^^2^^
粵: to not allow //var.// 唔; 華: 不讓
唔 m^^4^^ — not, no
畀 bei^^2^^ — give to, confer, bestow
"""
@@
@@.answer
"""
唔瞅唔睬 m^^4^^cau^^2^^m^^4^^coi^^2^^
to ignore sb. //syn.// 愛搭不理, 帶答不理
唔 m^^4^^ — not, no
瞅 cau^^2^^ — look at
唔 m^^4^^ — not, no
睬 coi^^2^^ — give heed to
"""
@@
@@.answer
"""
唔知幾 m^^4^^zi^^1^^gei^^2^^
粵: extremely //lit.// don’t know how; e.g.: 唔知幾高興 it’s extremely joyful //syn.// 不知幾
唔 m^^4^^ — not, no
知 zi^^1^^ zi^^3^^ — know, knowledge, inform
幾 gei^^2^^ gei^^1^^ — how many, a few, –plus, nearly
"""
@@
@@.answer
"""
唔稱 m^^4^^can^^3^^
粵: not matching, not fitting, unsuitable, does not suit, does not go well with, also written as 唔親, 唔襯
唔 m^^4^^ — not, no
稱 cing^^1^^ can^^3^^ cing^^3^^ — call, name, say, praise, fit, match
"""
@@
@@.answer
"""
唔算 m^^4^^syun^^3^^
粵: not considered as
唔 m^^4^^ — not, no
算 syun^^3^^ — calculate, plan, guess, include, consider
"""
@@
@@.answer
"""
唔記得 m^^4^^gei^^3^^dak^^1^^
粵: to forget, not remember
唔 m^^4^^ — not, no
記 gei^^3^^ — keep in mind, remember, record
得 dak^^1^^ — get, obtain, fit, finished, able to, must
"""
@@
@@.answer
"""
唔需要 m^^4^^seoi^^1^^jiu^^3^^
粵: unnecessary
唔 m^^4^^ — not, no
需 seoi^^1^^ — need, require
要 jiu^^3^^ jiu^^1^^ — want, must, shall, important, demand, if
"""
@@
@@.answer
"""
唸書 nim^^6^^syu^^1^^
to read aloud/out, recite
to attend school, be at school //var.// 念書
唸 nim^^6^^ — read out, attend school
書 syu^^1^^ — book, writings
"""
@@
@@.answer
"""
問答 man^^6^^daap^^3^^
questions and answers, Q&A
問 man^^6^^ — ask
答 daap^^3^^ — answer, reply, reciprocate, return
"""
@@
@@.answer
"""
問路 man^^6^^lou^^6^^
to ask for directions
問 man^^6^^ — ask
路 lou^^6^^ — road, path, way, means, line
"""
@@
@@.answer
"""
啖 daam^^6^^ / dan^^4^^
to dine, eat
to feed
to lure with huge profits
[classifier] a mouthful (of drinks, rice, etc), this nasal–ending syllable has a stop–ending synonym in 嗒 daap^^1^^
"""
@@
@@.answer
"""
啤 be^^1^^ bi^^1^^ pe^^1^^ / pi^^2^^
粵: be^^1^^ 華: pi^^2^^
[loanword] a beer, pear, bearing, etc
粵: be^^1^^ — 粵: only
to weld, solder
to stare (aggressively)
粵: bi^^1^^ — 粵: only
[loanword] a baby, etc
[onomatopoeia] a police whistle
粵: pe^^1^^ — 粵: only
[loanword] a pair, poker
"""
@@
@@.answer
"""
啤仔 bi^^1^^zai^^2^^
粵: a baby boy
啤 be^^1^^ bi^^1^^ pe^^1^^ — beer, weld, stare, baby, pair, poker
仔 zai^^2^^ zi^^2^^ — son, child
"""
@@
@@.answer
"""
啤梨 be^^1^^lei^^4*2^^
a pear
啤 be^^1^^ bi^^1^^ pe^^1^^ — beer, weld, stare, baby, pair, poker
梨 lei^^4*2^^ lei^^4^^ — pear
"""
@@
@@.answer
"""
啱啱好 ngaam^^1^^ngaam^^1^^hou^^2^^
just right, just perfect, just great, to perfection, perfectly
啱 ngaam^^1^^ aam^^1^^/yan^^2^^ — correct, suitable for, by chance
好 hou^^2^^ hou^^3^^/hao^^3^^ hao^^4^^ — good, very, friendly, healthy, ready
"""
@@
@@.answer
"""
啱心水 ngaam^^1^^sam^^1^^seoi^^2^^
exactly what is required, to be satisfied with; 華: 稱心如意, 合意
啱 ngaam^^1^^ aam^^1^^/yan^^2^^ — correct, suitable for, by chance
心 sam^^1^^/xin^^1^^ — heart
水 seoi^^2^^/shui^^3^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
啼笑皆非 tai^^4^^siu^^3^^gaai^^1^^fei^^1^^
to not know whether to laugh or cry, find sth both funny and annoying, be in an awkward situation //lit.// between tears and laughter; 粵: 唔知好嬲定係好笑
啼 tai^^4^^ — weep aloud, cry
笑 siu^^3^^ — smile, laugh, grin
皆 gaai^^1^^ — all, every, entire
非 fei^^1^^ — not, non–, wrong
"""
@@
@@.answer
"""
喃 naam^^4^^ / nan^^2^^
to mumble, murmur, mutter
"""
@@
@@.answer
"""
喎 wo^^3^^ wo^^4^^ wo^^5^^ / wai^^1^^
a final particle that works as a casual reminder, connoting a sense of expectation (wo^^3^^) or surprise (wo^^4^^); sometimes used to report second–hand information (wo^^5^^)
"""
@@
@@.answer
"""
喺呢處 hai^^2^^ni^^1^^syu^^3^^
粵: at this place //syn.// 喺度, 响度; 華: 在這裡
喺 hai^^2^^ — be in, be on, be at
呢 ni^^1^^ ne^^1^^ nei^^1^^ nei^^4^^ — final particle; 粵: this
處 cyu^^3^^ cyu^^2^^ syu^^3^^ — place, department, get along with, manage
"""
@@
@@.answer
"""
喺嗰度 hai^^2^^go^^2^^dou^^6^^
粵: at that place
//syn.// 喺度 , 响度
華: 在那裡
喺 hai^^2^^ — be in, be on, be at
嗰 go^^2^^ — that
度 dou^^6^^ dok^^6^^ dou^^2^^ — measure, rules, estimate, roughly
"""
@@
@@.answer
"""
喺嗰處 hai^^2^^go^^2^^syu^^3^^
粵: at that place //syn.// 喺度, 响度; 華: 在那裡
喺 hai^^2^^ — be in, be on, be at
嗰 go^^2^^ — that
處 cyu^^3^^ cyu^^2^^ syu^^3^^ — place, department, get along with, manage
"""
@@
@@.answer
"""
喺埋一齊 hai^^2^^maai^^4^^jat^^1^^cai^^4^^
粵: to be together
喺 hai^^2^^ — be in, be on, be at
埋 maai^^4^^ — bury, conceal, finish up, move closer
一 jat^^1^^ — one, a, same, whole, each, once, a little
齊 cai^^4^^ — even, neat, uniform
"""
@@
@@.answer
"""
㗎喇 gaa^^3^^laa^^3^^
粵: “as a matter of fact”, “as a matter of course” (a final particle with a similar meaning) often used for reminding; with 就, “就…㗎喇” means “or else”
㗎 gaa^^2^^ gaa^^3^^ gaa^^4^^ — strong assertion (final particle)
喇 laa^^3^^ laa^^1^^/la^^3^^ la^^1^^ — trumpet, lama, now
"""
@@
@@.answer
"""
嗌 aai^^3^^ jik^^1^^/ai^^4^^
粵: aai^^3^^, 華: ai^^4^^
粵: to shout, yell, say sth loudly
粵: to order food
to choke
粵: jik^^1^^, 華: yi^^4^^ — throat (archaic)
"""
@@
@@.answer
"""
嗌嘢食 aai^^3^^je^^5^^sik^^6^^
to order something to eat
嗌 aai^^3^^ jik^^1^^/ai^^4^^ yi^^4^^ — shout, yell, order food
嘢 je^^5^^/ye^^3^^ — 粵: thing, articles
食 sik^^6^^ zi^^6^^/shi^^2^^ si^^4^^ — eat, food
"""
@@
@@.answer
"""
嗌霎 aai^^3^^saap^^3^^
to have a serious argument, quarrelling, arguing
嗌 aai^^3^^ jik^^1^^ — shout, yell, order food
霎 saap^^3^^ — instant, argue
"""
@@
@@.answer
"""
嗬 ho^^2^^
hey! (exclamation), i say!
"""
@@
@@.answer
"""
嗰個 go^^2^^go^^3^^
that one; 華: 那個
嗰 go^^2^^ — that
個 go^^3^^ — unit, individual
"""
@@
@@.answer
"""
嗰度 go^^2^^dou^^6^^
there; 華: 那裡
嗰 go^^2^^ — that
度 dou^^6^^ dok^^6^^ dou^^2^^ — measure, rules, estimate, roughly
"""
@@
@@.answer
"""
嗰晚 go^^2^^maan^^5^^
粵: that night, the other night; 華: 那晚
嗰 go^^2^^ — that
晚 maan^^5^^ — night, late
"""
@@
@@.answer
"""
嗰樣 go^^2^^joeng^^6^^
that type, that kind; 華: 那一種
that way, like that; 華: 那樣
嗰 go^^2^^ — that
樣 joeng^^6^^ joeng^^6*2^^ — shape, sample, type
"""
@@
@@.answer
"""
嗰次 go^^2^^ci^^3^^
粵: that time, that instance; 華: 那次
嗰 go^^2^^ — that
次 ci^^3^^ — order, second, second–rate, time
"""
@@
@@.answer
"""
嗰陣 go^^2^^zan^^6^^
at that time, when //syn.// 嗰陣時; 華: 那時, 那時候
嗰 go^^2^^/ge^^4^^ — that
陣 zan^^6^^/zhen^^4^^ — battle formation, period of time
"""
@@
@@.answer
"""
嗱 naa^^4^^ / na^^2^^
there! (interjection) also written 拿
"""
@@
@@.answer
"""
嗱嗱臨 laa^^4^^laa^^4^^lam^^4^^
to hurry up //syn.// 粵: 嗱嗱聲, 啦啦聲, 咋咋臨
嗱 naa^^4^^ — (itj.) there!
臨 lam^^4^^ — overlook, face, arrive, copy
"""
@@
@@.answer
"""
嗲 de^^2^^ de^^1^^ de^^4^^ / dia^^3^^
粵: de^^2^^; 華: dia^^3^^
coquettish, coy, flirtatious
粵: de^^1^^ — 粵: only
to chat, talk, discuss (slang)
粵: de^^4^^ — 粵: only
to drip, dribble, trickle
a dripping sound (onompatopoeia)
The reading de^^1^^ is a phonetic loan from 茶 as pronounced in the Chaozhou dialect. Some dictionaries might use 爹 (instead of 嗲) for all the de^^1^^ compounds on this character page
"""
@@
@@.answer
"""
嘈喧巴閉 cou^^4^^hyun^^1^^baa^^1^^bai^^3^^
noisy, clamorous //syn.// 嘈, 嘈吵, 嘈嘈閉閉; 華: 吵鬧, 吵吵鬧鬧, 鬧哄哄
嘈 cou^^4^^ — noisy, clamorous
喧 hyun^^1^^ — speak loudly, noisy
巴 baa^^1^^ — bus, hope earnestly, cling to, crust
閉 bai^^3^^ — shut, close, obstruct
"""
@@
@@.answer
"""
嘉賓 gaa^^1^^ban^^1^^
an esteemed guest, honoured guest
嘉 gaa^^1^^ — distinguished, praise
賓 ban^^1^^ — guest
"""
@@
@@.answer
"""
嘔 au^^2^^
to vomit
"""
@@
@@.answer
"""
嘔吐 au^^2^^tou^^3^^
to vomit
嘔 au^^2^^ — vomit
吐 tou^^3^^ — to spit, to utter, to send out, to vomit
"""
@@
@@.answer
"""
嘔吐物 au^^2^^tou^^3^^mat^^6^^
(some) vomit
嘔 au^^2^^ — vomit
吐 tou^^3^^ — to spit, to utter, to send out, to vomit
物 mat^^6^^ — thing, substance, stuff
"""
@@
@@.answer
"""
嘥時間 saai^^1^^si^^4^^gaan^^1*3^^
粵: to waste time
嘥 saai^^1^^ — waste, wasteful, miss, debase
時 si^^4^^ — time
間 gaan^^1^^ gaan^^3^^ — interval of time or space
"""
@@
@@.answer
"""
嘥錢 saai^^1^^cin^^4*2^^
粵: to waste money
嘥 saai^^1^^ — waste, wasteful, miss, debase
錢 cin^^4^^ cin^^4*2^^ — cash, money, coins
"""
@@
@@.answer
"""
嘥電 saai^^1^^din^^6^^
粵: to waste electricity
嘥 saai^^1^^ — waste, wasteful, miss, debase
電 din^^6^^ — lightning, electricity
"""
@@
@@.answer
"""
噓 heoi^^1^^ hoe^^1^^ / xu^^1^^ shi^^1^^
粵: heoi^^1^^; 華: xu^^1^^
to exhale slowly, breathe out slowly
to sigh deeply
to heat, scald
粵: hoe^^1^^; 華: xu^^1^^
to hiss and boo, boo sb off
華: shi^^1^^
[interjection] hush, shh, shush
"""
@@
@@.answer
"""
噓聲 hoe^^1^^seng^^1^^
booing, hiss
噓 heoi^^1^^ hoe^^1^^ — exhale, sigh, hiss and boo
聲 sing^^1^^ seng^^1^^ — sound, voice, declare, fame
"""
@@
@@.answer
"""
嘟咭 dut^^1^^kaat^^1^^
粵: swipe/beep a card, usually the Octopus Card; 華: 刷卡
嘟 dut^^1^^ dyut^^1^^ — toot; swipe (card); pout; chubby
咭 kaat^^1^^ — card
"""
@@
@@.answer
"""
嘭 paang^^4^^ / peng^^1^^
bang (onomatopoeia)
the sound of things bumping against each other or of knocking at a door
"""
@@
@@.answer
"""
噏三噏四 ngap^^1^^saam^^1^^ngap^^1^^sei^^3^^
to gossip, to prattle on //lit.// to chat three and four
噏 ngap^^1^^ ap^^1^^ — babble, prattle, gossip
三 saam^^1^^ saam^^3^^ — three, several
噏 ngap^^1^^ ap^^1^^ — babble, prattle, gossip
四 sei^^3^^ — four
"""
@@
@@.answer
"""
噙日 kam^^4^^jat^^6^^
粵: yesterday //var.// 尋日 , 噚日 , 琴日; 華: 昨天, 昨日
噙 kam^^4^^ — hold in mouth, bite
日 jat^^6^^ — sun, day
"""
@@
@@.answer
"""
噙晚 kam^^4^^maan^^5^^
粵: last night, yesterday night, yesterday evening, the previous evening //var.// 噚晚, 尋晚, 琴晚; 華: 昨晚
噙 kam^^4^^ — hold in mouth, bite
晚 maan^^5^^ — night, late
"""
@@
@@.answer
"""
噚 cam^^4^^ / xun^^2^^
粵: yesterday
to fathom
"""
@@
@@.answer
"""
噚日 cam^^4^^jat^^6^^
粵: yesterday; also: 尋日 , 琴日 , 噙日; 華: 昨天, 昨日
噚 cam^^4^^ — yesterday, fathom
日 jat^^6^^ — sun, day
"""
@@
@@.answer
"""
噚晚 cam^^4^^maan^^5^^
粵: last night, yesterday night, yesterday evening //var.// 噙晚, 尋晚, 琴晚; 華: 昨晚
噚 cam^^4^^ — yesterday, fathom
晚 maan^^5^^ — night, late
"""
@@
@@.answer
"""
噬 sai^^6^^ / shi^^4^^
to bite, gnaw, snap at
"""
@@
@@.answer
"""
噱頭 coek^^3^^tau^^4^^
a gimmick, a publicity stunt, claptrap, amusing words/acts, tricks meant to deceive //var.// 綽頭 //syn.// 花招
噱 coek^^3^^ koek^^6^^/jue^^2^^ xue^^2^^ — laugh loudly
頭 tau^^4^^/tou^^2^^ tou^^5^^ — head, first, chief
"""
@@
@@.answer
"""
嚇 haak^^3^^ haa^^1^^
粵: haak^^3^^ 華: xia^^4^^
to frighten, threaten, scare, intimidate, startle
粵: haa^^1^^ 華: he^^4^^
[interjection] tut, tut–tut, humph
"""
@@
@@.answer
"""
嚇人 haak^^3^^jan^^4^^
to scare someone
嚇 haak^^3^^ haa^^1^^ — frighten, threaten
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
嚇窒 haak^^3^^zat^^6^^
to scare, to frighten
嚇 haak^^3^^ haa^^1^^/xia^^4^^, he^^4^^ — frighten, threaten
窒 zat^^6^^/zhi^^4^^ — block, put sb down, be scared of
"""
@@
@@.answer
"""
嚟㗎 lai^^4^^gaa^^3^^
final modal particle to strengthen an assertion or question
嚟 lai^^4^^ lei^^4^^/li^^2^^ — come
㗎 gaa^^2^^ gaa^^3^^ gaa^^4^^ — final particle for making a strong assertion
"""
@@
@@.answer
"""
嚡熠熠 / 鞋拾拾 haai^^4^^sap^^6^^sap^^6^^
rough, coarse, ragged, unpolished
嚡 haai^^4^^/hai^^2^^ — rough, coarse
熠 saap^^6^^ jap^^1^^/yi^^4^^ — boil, sparkling
拾 sap^^6^^ sip^^3^^/shi^^2^^ she^^4^^ — pick up, tidy up, ten, ascend
"""
@@
@@.answer
"""
嚴重 jim^^4^^zung^^6^^
grave, serious, severe, critical
嚴 jim^^4^^/yan^^2^^ — strict, intense, tight
重 cung^^5^^ zung^^6^^ cung^^4^^/zhong^^4^^ chong^^2^^ — heavy, important, furthermore, repeat
"""
@@
@@.answer
"""
囉唆 lo^^1^^so^^1^^
long–winded, wordy, garrulous //syn.// 長氣
troublesome, trivial, inconvenient //var.// 囉嗦
囉 lo^^1^^ lo^^4^^ lo^^3^^/luo^^1^^ luo^^5^^ — repetitious
唆 so^^1^^/suo^^1^^ — incite, instigate
"""
@@
@@.answer
"""
囉噃 lo^^3^^bo^^3^^
to remind, inform, suggest, warn (a final modal particle)
囉 lo^^1^^ lo^^4^^ lo^^3^^/luo^^1^^ luo^^5^^ — repetitious
噃 bo^^3^^/bo^^5^^ — remind (a final particle)
"""
@@
@@.answer
"""
四季 sei^^3^^gwai^^3^^
the four seasons
四 sei^^3^^ — four
季 gwai^^3^^ — quarter of a year, season
"""
@@
@@.answer
"""
四眼仔 sei^^3^^ngaan^^5^^zai^^2^^
粵: a four–eyes (male)
四 sei^^3^^ — four
眼 ngaan^^5^^ — eye
仔 zai^^2^^ zi^^2^^ — son, child
"""
@@
@@.answer
"""
四眼佬 sei^^3^^ngaan^^5^^lou^^2^^
a man wearing glasses //lit.// four–eyed bloke
四 sei^^3^^/si^^4^^ — four
眼 ngaan^^5^^/yan^^3^^ — eye
佬 lou^^2^^/lao^^3^^ liao^^2^^ lu^^4^^ — guy, fellow, bloke, chap
"""
@@
@@.answer
"""
四眼婆 sei^^3^^ngaan^^5^^po^^4*2^^
a woman wearing glasses //lit.// four–eye woman
四 sei^^3^^/si^^4^^ — four
眼 ngaan^^5^^/yan^^3^^ — eye
婆 po^^4^^ po^^4*2^^/po^^2^^ — old woman, grandmother
"""
@@
@@.answer
"""
四級 sei^^3^^kap^^1^^ — pornographic videos distributed illegally in Hong Kong, “category four” pornographic videos (“category three” is the highest classification for adult films permitted in Hong Kong)
四 sei^^3^^/si^^4^^ — four
級 kap^^1^^/ji^^2^^ — level, rank, grade, class
"""
@@
@@.answer
"""
四邊 sei^^3^^bin^^1^^
(on) four sides, all around
四 sei^^3^^ — four
邊 bin^^1^^ — edge, nearby, border, side; 粵: which
"""
@@
@@.answer
"""
四邊兒 sei^^3^^bin^^1^^ji^^4^^
華: (on) four sides, all around
四 sei^^3^^ — four
邊 bin^^1^^ — edge, nearby, border, side; 粵: which
兒 ji^^4^^ — child, son
"""
@@
@@.answer
"""
四面 sei^^3^^min^^6^^
on all sides, all around
四 sei^^3^^ — four
面 min^^6^^ — face, surface, top, side, aspect, extent
"""
@@
@@.answer
"""
回佣 wui^^4^^jung^^2^^
a sales commission, rebate, kickback //syn.// 回扣
回 wui^^4^^ — turn around, return, answer
佣 jung^^2^^ — commission
"""
@@
@@.answer
"""
回答 wui^^4^^daap^^3^^
to answer, to reply, respond (usually just spoken as 答) //syn.// 作答
回 wui^^4^^ — turn around, return, answer
答 daap^^3^^ — answer, reply, reciprocate, return
"""
@@
@@.answer
"""
囡囡 naam^^4*1^^naam^^4*1^^
little darling, baby
囡 naam^^4^^ — daughter, child
"""
@@
@@.answer
"""
國人 gwok^^3^^jan^^4^^
countrymen
國 gwok^^3^^ — nation, country, state
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
國力 gwok^^3^^lik^^6^^
a nation’s power/strength
國 gwok^^3^^ — nation, country, state
力 lik^^6^^ — strength, force, power
"""
@@
@@.answer
"""
國外 gwok^^3^^ngoi^^6^^
external, foreign, overseas, abroad, non–domestic
國 gwok^^3^^ — nation, country, state
外 ngoi^^6^^ — outside, foreign, additional, unofficial
"""
@@
@@.answer
"""
國有 gwok^^3^^jau^^5^^
nationalised, public, government/state owned
國 gwok^^3^^ — nation, country, state
有 jau^^5^^ jau^^6^^ — have, there is
"""
@@
@@.answer
"""
國民教育 gwok^^3^^man^^4^^gaau^^3^^juk^^6^^
national education
國 gwok^^3^^ — nation, country, state
民 man^^4^^ — the people, civilian
教 gaau^^3^^ gaau^^1^^ — teach, religion
育 juk^^6^^ — give birth to, rear, educate
"""
@@
@@.answer
"""
國王 gwok^^3^^wong^^4^^
a king, emperor, monarch
國 gwok^^3^^ — nation, country, state
王 wong^^4^^ wong^^6^^ — king, monarch, duke, surname
"""
@@
@@.answer
"""
園丁 jyun^^4^^ding^^1^^
a gardener
園 jyun^^4^^ jyun^^4*2^^ — garden, park
丁 ding^^1^^ — male adult, manual worker, fourth
"""
@@
@@.answer
"""
圓 jyun^^4^^
round, circular, spherical
perfect, comprehensive, satisfactory
to justify, make plausible, perfect
a //yuan// (monetary unit, often abbreviated as 元)
"""
@@
@@.answer
"""
圖書館 tou^^4^^syu^^1^^gun^^2^^
a library
圖 tou^^4^^ — map, picture, diagram
書 syu^^1^^ — book, writings
館 gun^^2^^ — public building
"""
@@
@@.answer
"""
圖片 tou^^4^^pin^^3/3*2^^
a picture, image
圖 tou^^4^^ — map, picture, diagram
片 pin^^3^^ pin^^2^^ — slice, sheet, fragmentary, film
"""
@@
@@.answer
"""
土人 tou^^2^^jan^^4^^
an aborigine, a native
土 tou^^2^^ — soil, earth
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
地下情 dei^^6^^haa^^6^^cing^^4^^
a secret love affair //lit.// underground love / feelings
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
下 haa^^6^^ haa^^5^^ — under, lower, next, go down
情 cing^^4^^ — emotion, love, sentiment
"""
@@
@@.answer
"""
地下鐵路 dei^^6^^haa^^6^^tit^^3^^lou^^6^^
underground railway, subway, MTR
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
下 haa^^6^^ haa^^5^^ — under, lower, next, go down
鐵 tit^^3^^ — iron, arms, ironclad, strong, cruel
路 lou^^6^^ — road, path, way, means, line
"""
@@
@@.answer
"""
地勤 dei^^6^^kan^^4^^
(airport) ground service
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
勤 kan^^4^^ — hardworking, duty, frequently
"""
@@
@@.answer
"""
地名 dei^^6^^meng^^2^^
a place name
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
名 ming^^4^^ meng^^2^^ — name, fame
"""
@@
@@.answer
"""
地平線 dei^^6^^ping^^4^^sin^^3^^
a horizon
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
平 ping^^4^^ peng^^4^^ — peaceful, level
線 sin^^3^^ — thread, line
"""
@@
@@.answer
"""
地方名 dei^^6^^fong^^1^^meng^^2^^
a placename, place name
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
方 fong^^1^^ — direction, angle
名 ming^^4^^ meng^^2^^ — name, fame
"""
@@
@@.answer
"""
地板 dei^^6^^baan^^2^^
floorboards, floor, flooring
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
板 baan^^2^^ — plank, board
"""
@@
@@.answer
"""
地獄 dei^^6^^juk^^6^^
a hell, underworld
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
獄 juk^^6^^ — prison, criminal case
"""
@@
@@.answer
"""
地球日 dei^^6^^kau^^4^^jat^^6^^
Earth Day
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
球 kau^^4^^ — ball
日 jat^^6^^ — sun, day
"""
@@
@@.answer
"""
地鐵 dei^^6^^tit^^3^^
the underground (railway), subway, MTR, abbreviation for 地下鐵路
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
鐵 tit^^3^^ — iron, arms, ironclad, strong, cruel
"""
@@
@@.answer
"""
地面 dei^^6^^min^^6*2^^
the ground, the surface of the earth
surface of the floor (of a building)
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
面 min^^6^^ — face, surface, top, side, aspect, extent
"""
@@
@@.answer
"""
均等 gwan^^1^^dang^^2^^
equal, even, impartial, fair, well matched
均 gwan^^1^^ — equal, even, all
等 dang^^2^^ ting^^3^^ ting^^2^^ dei^^6^^ — wait, allow, rank, equal, etc., plur., type
"""
@@
@@.answer
"""
坑 haang^^1^^ / keng^^1^^
a pit, hole, hollow
to bury alive
to entrap, cheat, hoodwink
"""
@@
@@.answer
"""
埋伏 maai^^4^^fuk^^6^^
to ambush, lie low
埋 maai^^4^^ — bury, conceal, finish up, move closer
伏 fuk^^6^^ buk^^6^^ — to lie prostate, to lean over, to hide
"""
@@
@@.answer
"""
埋來 maai^^4^^lai^^4^^
粵: come here, come closer
埋 maai^^4^^ — bury, conceal, finish up, move closer
來 loi^^4^^ — come, arrive, future
"""
@@
@@.answer
"""
埋頭 maai^^4^^tau^^4^^
to bury onself in (books, etc.), immerse oneself in (work, etc.)
to lower the head (e.g. to avoid rain)
countersunk (of screws, rivets etc.)
埋 maai^^4^^/mai^^2^^ man^^2^^ — bury, conceal, finish up, move closer
頭 tau^^4^^/tou^^2^^ tou^^5^^ — head, first, chief
"""
@@
@@.answer
"""
埕 cing^^4^^
a pear–shaped earthenware jar without handles
"""
@@
@@.answer
"""
埲 bung^^6^^ / beng^^3^^
a classifier (measure word) for walls
"""
@@
@@.answer
"""
執輸 zap^^1^^syu^^1^^
to miss out (on an alleged great opportunity); 華: 錯過, 吃虧
執 zap^^1^^/zhi^^2^^ — hold, carry out; 粵: pick up
輸 syu^^1^^/shu^^1^^ — lose, be beaten, transport, transmit, donate
"""
@@
@@.answer
"""
基 gei^^1^^ / ji^^1^^
a foundation, base
an origin, basis, root
on the basis of, according to, on the strength of
a group, the base of a chemical compound
粵 slang: gay, male homosexual e.g. 搞基, 基友
"""
@@
@@.answer
"""
基佬 gei^^1^^lou^^2^^ — a gay man
基 gei^^1^^ — foundation, base, origin
佬 lou^^2^^ — guy, fellow, bloke, chap
"""
@@
@@.answer
"""
基金 gei^^1^^gam^^1^^
a fund
基 gei^^1^^/ji^^1^^ — foundation, base, origin
金 gam^^1^^/jin^^1^^ jin^^4^^ — gold
"""
@@
@@.answer
"""
堂口 tong^^4^^hau^^2^^
a //tong//, triad, secret society
堂 tong^^4^^ — hall, room, cousins, period, class
口 hau^^2^^ — mouth
"""
@@
@@.answer
"""
堂課 tong^^4^^fo^^3^^
classwork
堂 tong^^4^^ — hall, room, cousins, period, class
課 fo^^3^^ — class, lesson, course, section, levy
"""
@@
@@.answer
"""
堅 gin^^1^^
hard, solid, strong, firm
steadfastly, staunchly, resolutely
a fortification, stronghold
粵: [slang] real, true, kosher
"""
@@
@@.answer
"""
堆 deoi^^1^^ / dui^^1^^
a pile, a mass, heap, stack
"""
@@
@@.answer
"""
報章 bou^^3^^zoeng^^1^^
a newspaper
報 bou^^3^^ — repay, recompense, reward
章 zoeng^^1^^ — chapter, section, order, rules, seal
"""
@@
@@.answer
"""
填鴨 tin^^4^^aap^^3*2^^
roast duck, Peking duck
填 tin^^4^^ — fill up/in/out
鴨 aap^^3^^ — duck, gigolo
"""
@@
@@.answer
"""
墳墓 fan^^4^^mou^^6^^
a grave, tomb, sepulchre
墳 fan^^4^^/fen^^2^^ — grave, tomb
墓 mou^^6^^/mu^^4^^ — grave, tomb
"""
@@
@@.answer
"""
壓縮 aat^^3^^suk^^1^^
to compress, compression
壓 aat^^3^^/ya^^1^^ ya^^4^^ — press, suppress, control, prevail over
縮 suk^^1^^/suo^^1^^ — shrink, recoil
"""
@@
@@.answer
"""
士的 si^^6^^dik^^1^^
粵: stick, rod, staff; 華: 棍兒, 棍子, 手杖, 拐杖
士 si^^6^^ — commendable person
的 dik^^1^^ — possessive suffix
"""
@@
@@.answer
"""
士鉢恤 si^^6^^but^^3^^seot^^1^^
粵: a sport shirt
士 si^^6^^ — commendable person
鉢 but^^3^^ — earthen bowl; alms bowl
恤 seot^^1^^ — sympathise; relieve; shirt
"""
@@
@@.answer
"""
壹 jat^^1^^ / yi^^1^^
one, used as the numeral “一” on cheques, banknotes, etc to avoid mistakes or alterations
"""
@@
@@.answer
"""
壽 sau^^6^^
longevity, life span, old age
a birthday (usu of elderly people)
funerary, for burial
"""
@@
@@.answer
"""
壽仔 sau^^6^^zai^^2^^
a fool, an idiot
壽 sau^^6^^ — longevity, birthday, funerary
仔 zai^^2^^ zi^^2^^ — son, child
"""
@@
@@.answer
"""
外傭 ngoi^^6^^jung^^4^^
foreign maids/servants, foreign domestic helpers; full form: 外籍女傭 //syn.// 外籍家庭傭工, 外籍家務助理
外 ngoi^^6^^ — outside, foreign, additional, unofficial
傭 jung^^4^^ — employee, employ
"""
@@
@@.answer
"""
外國話 ngoi^^6^^gwok^^3^^waa^^6*2^^
a foreign language
外 ngoi^^6^^ — outside, foreign, additional, unofficial
國 gwok^^3^^ — nation, country, state
話 waa^^6^^ waa^^2^^ — word, talk, speak, language
"""
@@
@@.answer
"""
外賣 ngoi^^6^^maai^^6^^
a takeaway, take out (food); classifier: 份, 個
外 ngoi^^6^^/wai^^4^^ — outside, foreign, additional, unofficial
賣 maai^^6^^/mai^^4^^ — sell
"""
@@
@@.answer
"""
外頭 ngoi^^6^^tau^^4^^
outside
外 ngoi^^6^^ — outside, foreign, additional, unofficial
頭 tau^^4^^ — head, first, chief
"""
@@
@@.answer
"""
多事 do^^1^^si^^6^^
nosy, busybody, meddlesome, interfering
to do unnecessary things //syn.// 粵: 多事幹, 八卦; 華: 好管閒事
多 do^^1^^ — many, much, more, more than
事 si^^6^^ — matter, affair, job, work, accident
"""
@@
@@.answer
"""
多啲 do^^1^^di^^1^^
粵: more; 華: 多一點, 更多
多 do^^1^^ — many, much, more, more than
啲 di^^1^^ dit^^1^^ — some, those, a few
"""
@@
@@.answer
"""
多嘴 do^^1^^zeoi^^2^^
to speak out of turn, to shoot off one’s mouth, to talk too much or out of place, gossip
多 do^^1^^ — many, much, more, more than
嘴 zeoi^^2^^ — mouth
"""
@@
@@.answer
"""
多大 do^^1^^daai^^6^^
how big, how much, how old, etc.
多 do^^1^^ — many, much, more, more than
大 daai^^6^^ — big
"""
@@
@@.answer
"""
多年 do^^1^^nin^^4^^
many years
多 do^^1^^ — many, much, more, more than
年 nin^^4^^ — year
"""
@@
@@.answer
"""
多年以來 do^^1^^nin^^4^^ji^^5^^loi^^4^^
for many years (in the past)
多 do^^1^^ — many, much, more, more than
年 nin^^4^^ — year
以 ji^^5^^ — by means of, because of
來 loi^^4^^ — come, arrive, future
"""
@@
@@.answer
"""
多年來 do^^1^^nin^^4^^loi^^4^^
for the past many years
多 do^^1^^ — many, much, more, more than
年 nin^^4^^ — year
來 loi^^4^^ — come, arrive, future
"""
@@
@@.answer
"""
多得你唔少 do^^1^^dak^^1^^nei^^5^^m^^4^^siu^^2^^
used to tell somebody that they have been a nuisance, that they have caused lots of trouble to the speaker, “Thanks for nothing!” //lit.// thank you for not a little
多 do^^1^^ — many, much, more, more than
得 dak^^1^^ — get, obtain, fit, finished, able to, must
你 nei^^5^^ — you
唔 m^^4^^ — not, no
少 siu^^2^^ siu^^3^^ — few, lack, be missing, young
"""
@@
@@.answer
"""
多手 do^^1^^sau^^2^^
fiddling, touching things, e.g. said of a naughty child //lit.// many hands
多 do^^1^^ — many, much, more, more than
手 sau^^2^^ — hand
"""
@@
@@.answer
"""
多次 do^^1^^ci^^3^^
many times, repeatedly
多 do^^1^^ — many, much, more, more than
次 ci^^3^^ — order, second, second–rate, time
"""
@@
@@.answer
"""
多舊魚 do^^1^^gau^^6^^jyu^^4*2^^
meaningless, superfluous //lit.// another piece of fish, a euphemistic variant of 多鳩魚
多 do^^1^^ — many, much, more, more than
舊 gau^^6^^ — worn, old, past, bygone
魚 jyu^^4^^ — fish
"""
@@
@@.answer
"""
多謝你咁好介紹 do^^1^^ze^^6^^nei^^5^^gam^^3^^hou^^2^^gaai^^3^^siu^^6^^
thanks for the suggestion! (often used sarcastically)
"""
@@
@@.answer
"""
多謝嗮 do^^1^^ze^^6^^saai^^3^^
粵: thank you very much (for things provided) //var.// 多謝晒 //syn.// 好多謝
多 do^^1^^ — many, much, more, more than
謝 ze^^6^^ — thank, thanks
嗮 saai^^3^^ — variant of 晒
"""
@@
@@.answer
"""
多謝嗮你 do^^1^^ze^^6^^saai^^3^^nei^^5^^
粵: thank you very much (for things provided)
多 do^^1^^ — many, much, more, more than
謝 ze^^6^^ — thank, thanks
嗮 saai^^3^^ — variant of 晒
你 nei^^5^^ — you
"""
@@
@@.answer
"""
多謝晒 do^^1^^ze^^6^^saai^^3^^
粵: thank you very much (for things provided) //var.// 多謝嗮 //syn.// 好多謝
多 do^^1^^ — many, much, more, more than
謝 ze^^6^^ — thank, thanks
晒 saai^^3^^ — 粵: entirely, very much, show off
"""
@@
@@.answer
"""
多麼 do^^1^^mo^^1^^
華: how (wonderful, etc.), what (a good idea, etc.), so (beautiful, etc.); 粵: 咁, 幾, 幾咁
however (difficult, etc.), (no matter) how; 粵: 幾
多 do^^1^^/duo^^1^^ — many, much, more, more than
麼 mo^^1^^/me^^5^^ — (suffix)
"""
@@
@@.answer
"""
夜學 je^^6^^hok^^6^^
a night school
夜 je^^6^^ — night, dark, darkness
學 hok^^6^^ — learn, learning, school
"""
@@
@@.answer
"""
夜校 je^^6^^haau^^6^^
a night school
夜 je^^6^^ — night, dark, darkness
校 haau^^6^^ gaau^^3^^ — school, field officer, check
"""
@@
@@.answer
"""
夜總會 je^^6^^zung^^2^^wui^^6*2^^
a night club, a nightclub
夜 je^^6^^/ye^^4^^ yi^^4^^ — night, dark, darkness
總 zung^^2^^/zong^^3^^ — general, chief, assemble, always, anyway
會 wui^^5^^ wui^^6^^ kui^^2^^/hui^^4^^ kuai^^4^^ — will, would, get together, meet, city
"""
@@
@@.answer
"""
大事 daai^^6^^si^^6^^
a major event
(to do something) in a big way
大 daai^^6^^/da^^4^^ dai^^4^^ — big
事 si^^6^^/shi^^4^^ — matter, affair, job, work, accident
"""
@@
@@.answer
"""
大便 daai^^6^^bin^^6^^
to defecate, stool, to empty the bowel (formal), equivalent to the less formal 屙屎 o^^1^^si^^2^^
大 daai^^6^^ — big
便 bin^^6^^ pin^^4^^ — convenient, ordinary, cheap
"""
@@
@@.answer
"""
大刀 daai^^6^^dou^^1^^
a big knife, sword, bolo, glaive
大 daai^^6^^ — big
刀 dou^^1^^ — knife, sword
"""
@@
@@.answer
"""
大問題 daai^^6^^man^^6^^tai^^4^^
a great problem
大 daai^^6^^ — big
問 man^^6^^ — ask
題 tai^^4^^ — subject, title, topic, question, inscribe
"""
@@
@@.answer
"""
大嗌 daai^^6^^aai^^3^^
to shout at the top of one’s lungs, to yell loudly, to cry out
大 daai^^6^^/da^^4^^ dai^^4^^ — big
嗌 aai^^3^^ jik^^1^^/ai^^4^^ yi^^4^^ — shout, yell, order food
"""
@@
@@.answer
"""
大地圖 daai^^6^^dei^^6^^tou^^4^^
an atlas
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
圖 tou^^4^^ — map, picture, diagram
"""
@@
@@.answer
"""
大型 daai^^6^^jing^^4^^
large–scale, wide–scale, broad–scale
大 daai^^6^^/da^^4^^ dai^^4^^ — big
型 jing^^4^^/jia^^2^^ xing^^2^^ — pattern, model, type, standard, stylish
"""
@@
@@.answer
"""
大字本 daai^^6^^zi^^6^^bun^^2^^
[printing] a large–character edition, large–type edition
大 daai^^6^^ — big
字 zi^^6^^ — word, glyph
本 bun^^2^^ — basis, original, copy
"""
@@
@@.answer
"""
大學 daai^^6^^hok^^6^^
a university (學^^6^^), The Great Learning (學^^6*2^^)
大 daai^^6^^ — big
學 hok^^6^^ — learn, learning, school
"""
@@
@@.answer
"""
大戶 daai^^6^^wu^^6^^
a great family, rich family, large landlord, conspicuous spender or consumer
大 daai^^6^^ — big
戶 wu^^6^^ — door, household, family, account
"""
@@
@@.answer
"""
大拇指 daai^^6^^mou^^5^^zi^^2^^
華: thumb; 粵: 手指公
大 daai^^6^^/da^^4^^ dai^^4^^ — big
拇 mou^^5^^/mu^^3^^ — thumb, big toe
指 zi^^2^^/zhi^^3^^ — finger, point to, refer to, depend on
"""
@@
@@.answer
"""
大改變 daai^^6^^goi^^2^^bin^^3^^
significant change
大 daai^^6^^ — big
改 goi^^2^^ — change, revise, switch to
變 bin^^3^^ — change, alter, accident, uncommon
"""
@@
@@.answer
"""
大教堂 daai^^6^^gaau^^3^^tong^^4^^
a cathedral
大 daai^^6^^ — big
教 gaau^^3^^ gaau^^1^^ — teach, religion
堂 tong^^4^^ — hall, room, cousins, period, class
"""
@@
@@.answer
"""
大泡和 daai^^6^^paau^^1^^wo^^4^^
a scatterbrain, bungler, blunderer
scatterbrained, muddleheaded, absent–minded
大 daai^^6^^ — big
泡 pou^^5^^ pou^^4^^ paau^^3^^ paau^^1^^ pok^^1^^ — bubbles, foam, kill time, soak, brew, puff
和 wo^^4^^ wo^^6^^ wu^^2^^ — gentle, harmony, peace, draw, and, sum
"""
@@
@@.answer
"""
大碌 daai^^6^^luk^^1^^
things have gone wrong (like 大鑊)
大 daai^^6^^ — big
碌 luk^^1^^ — mediocre, occupied; 粵: plank/section of
"""
@@
@@.answer
"""
大碼 daai^^6^^maa^^5^^
large size
大 daai^^6^^ — big
碼 maa^^5^^ — numeral, symbol, yard (length)
"""
@@
@@.answer
"""
大米 daai^^6^^mai^^5^^
(husked) rice
大 daai^^6^^/da^^4^^ dai^^4^^ — big
米 mai^^5^^/mi^^3^^ — uncooked rice
"""
@@
@@.answer
"""
大致 daai^^6^^zi^^3^^
more or less, approximately, roughly
大 daai^^6^^/da^^4^^dai^^4^^ — big
致 zi^^3^^/zhi^^4^^ — deliver, incur, devote
"""
@@
@@.answer
"""
大蒜 daai^^6^^syun^^3^^
a bulb of garlic, also 蒜頭
大 daai^^6^^ — big
蒜 syun^^3^^ — garlic
"""
@@
@@.answer
"""
大街 daai^^6^^gaai^^1^^
a main street, main road, major thoroughfare
大 daai^^6^^/da^^4^^ dai^^4^^ — big
街 gaai^^1^^/jie^^1^^ — street
"""
@@
@@.answer
"""
大道 daai^^6^^dou^^6^^
a main street, main road, major thoroughfare
大 daai^^6^^ — big
道 dou^^6^^ — road, way, channel, doctrine, Taoism, skill
"""
@@
@@.answer
"""
天安門 tin^^1^^on^^1^^mun^^4^^
Tiananmen Gate //lit.// the gate of heavenly peace; the front gate of the Forbidden City 紫禁城; Tiananmen Square 天安門廣場 is the plaza in front of the gate
天 tin^^1^^ — sky, heaven
安 on^^1^^ — peaceful, stabilise, install, fabricate
門 mun^^4^^ — gate, door, entrance
"""
@@
@@.answer
"""
天拿水 tin^^1^^naa^^4^^seoi^^2^^
a paint thinner, loanword for “thinner”
天 tin^^1^^ — sky, heaven
拿 naa^^4^^ — take
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
天氣報告 tin^^1^^hei^^3^^bou^^3^^gou^^3^^
a weather report
天 tin^^1^^ — sky, heaven
氣 hei^^3^^ — gas, air, breath, anger
報 bou^^3^^ — repay, recompense, reward
告 gou^^3^^ guk^^1^^ — inform, proclaim, prosecute, ask for
"""
@@
@@.answer
"""
天然 tin^^1^^jin^^4^^
natural //syn.// 自然
天 tin^^1^^/tian^^1^^ — sky, heaven
然 jin^^4^^/ran^^2^^ — yes, correct, nevertheless
"""
@@
@@.answer
"""
天窗 tin^^1^^coeng^^1^^
a skylight
天 tin^^1^^ — sky, heaven
窗 coeng^^1^^ — window
"""
@@
@@.answer
"""
天譴 tin^^1^^hin^^2^^
the wrath of God/the heavens
天 tin^^1^^ — sky, heaven
譴 hin^^2^^ — reproach, reprimand
"""
@@
@@.answer
"""
天鵝 tin^^1^^ngo^^4^^
a swan
天 tin^^1^^ — sky, heaven
鵝 ngo^^4^^ ngo^^4*2^^ — goose, gander
"""
@@
@@.answer
"""
失失慌 sat^^1^^sat^^1^^fong^^1^^
fearful, nervous, jumpy (also 慌失失)
失 sat^^1^^ — mistake, omission, lose, neglect
慌 fong^^1^^ — panicky, flustered
"""
@@
@@.answer
"""
失落 sat^^1^^lok^^6^^
to lose, to drop, to feel a sense of loss
失 sat^^1^^ — mistake, omission, lose, neglect
落 lok^^6^^ laai^^6^^ — to fall
"""
@@
@@.answer
"""
失蹤 sat^^1^^zung^^1^^
to disappear, to be missing, to be unaccounted for
失 sat^^1^^ / shi^^1^^ yi^^4^^ — mistake, omission, lose, neglect
蹤 zung^^1^^ / zong^^1^^ — footprint, track
"""
@@
@@.answer
"""
失驚無神 sat^^1^^geng^^1^^mou^^4^^san^^4^^
unexpectedly, suddenly
失 sat^^1^^ — mistake, omission, lose, neglect
驚 geng^^1^^ ging^^1^^ — frighten, surprise, startle
無 mou^^4^^ — not, negative, don’t have
神 san^^4^^ — god, divinity, spirit, supernatural, weird
"""
@@
@@.answer
"""
失魂 sat^^1^^wan^^4^^
to be frightened or stricken (by sorrow), to lose one’s wits
失 sat^^1^^ — mistake, omission, lose, neglect
魂 wan^^4^^ — soul, spirit
"""
@@
@@.answer
"""
奀 ngan^^1^^ an^^1^^ / en^^1^^
skinny, puny
small (quantity), meagre (salary)
粵: ngan^^1^^ is standard reading, an^^1^^ is variant
"""
@@
@@.answer
"""
奀瘦 ngan^^1^^sau^^3^^, an^^1^^sau^^3^^
skinny, thin, slight; 華: 瘦小
奀 ngan^^1^^ an^^1^^ — skinny, puny, small, meagre
瘦 sau^^3^^ — thin, lean, skinny
"""
@@
@@.answer
"""
奄 jim^^1^^ jim^^2^^ / yan^^3^^,yan^^1^^
粵: jim^^1^^ 華: yan^^3^^
feeble, very weak, half dead
粵: jim^^2^^ 華: yan^^3^^
to cover, overspread, surround
suddenly, abruptly, rapidly
"""
@@
@@.answer
"""
奄尖 jim^^1^^zim^^1^^
choosy, fussy, particular, arrogant
奄 jim^^1^^ jim^^2^^ — feeble, cover
尖 zim^^1^^ — sharp, pointed, advanced
"""
@@
@@.answer
"""
奇才 kei^^4^^coi^^4^^
a genius //lit.// a rare talent
奇 kei^^4^^ gei^^1^^ — strange, rare, unexpected, surprise, odd
才 coi^^4^^ — talent, natural abilities
"""
@@
@@.answer
"""
奈…唔何 noi^^6^^…m^^4^^ho^^4^^
to have no way of preventing what someone is doing
"""
@@
@@.answer
"""
奉旨 fung^^6^^zi^^2^^
by imperial decree
粵: definitely, taking sth for granted (mostly used in a negative sense)
奉 fung^^6^^ — present respectfully
旨 zi^^2^^ — purpose, decree, tasty
"""
@@
@@.answer
"""
契妹 kai^^3^^mui^^6*2^^
a god–sister
契 kai^^3^^ kit^^3^^ sit^^3^^/qi^^4^^ qie^^4^^ — contract, adopt
妹 mui^^6^^ mui^^6*2^^ mui^^6*1^^/mei^^4^^ — younger sister
"""
@@
@@.answer
"""
女 neoi^^5^^ neoi^^2^^ / nv^^3^^
a woman, female, lady
a daughter, girl
"""
@@
@@.answer
"""
女優 neoi^^5^^jau^^1^^
an actress
女 neoi^^5^^ neoi^^2^^ — woman, daughter
優 jau^^1^^ — good, superior, excellent; 粵: to pull
"""
@@
@@.answer
"""
女兒 neoi^^5^^ji^^4^^
華: a daughter; 粵: 女 neoi^^5*2^^
女 neoi^^5^^ neoi^^2^^ — woman, daughter
兒 ji^^4^^ — child, son
"""
@@
@@.answer
"""
女朋友 neoi^^5^^pang^^4^^jau^^5^^ — girlfriend; can be shortened to 女友
女 neoi^^5^^ neoi^^2^^ — woman; daughter
朋 pang^^4^^ — friend
友 jau^^5^^ — friend; friendship
"""
@@
@@.answer
"""
女王 neoi^^5^^wong^^4^^
a queen
女 neoi^^5^^ neoi^^2^^ / nv^^3^^ — woman, daughter
王 wong^^4^^ wong^^6^^ / wang^^2^^ wang^^4^^ — king, monarch, duke
"""
@@
@@.answer
"""
女生 neoi^^5^^saang^^1^^
a schoolgirl
女 neoi^^5^^ neoi^^2^^ — woman, daughter
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
"""
@@
@@.answer
"""
女色 neoi^^5^^sik^^1^^
womanly charms
女 neoi^^5^^ neoi^^2^^ — woman, daughter
色 sik^^1^^ — colour
"""
@@
@@.answer
"""
女郎 neoi^^5^^long^^4^^ / nv^^3^^lang^^2^^
a young woman, maiden, girl
女 neoi^^5^^ neoi^^2^^ — woman, daughter
郎 long^^4^^ — young man, husband
"""
@@
@@.answer
"""
奶奶 naai^^5*4^^naai^^5*2^^
a father’s mother, paternal grandmother //syn.// 嫲嫲; 粵: 阿嫲
a husband’s mother (mother–in–law) //syn.// 婆婆
奶 naai^^5^^/nai^^3^^ — milk
"""
@@
@@.answer
"""
奶油 naai^^5^^jau^^4^^
華: butter //syn.// 黃油; 粵: 牛油
奶 naai^^5^^ — milk
油 jau^^4^^ — oil, fat, grease, petroleum
"""
@@
@@.answer
"""
好不好 hou^^2^^bat^^1^^hou^^2^^
華: is it OK , is it all right; 粵: 好唔好, 好冇
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
不 bat^^1^^ — not, no, un–
"""
@@
@@.answer
"""
好像 hou^^2^^zoeng^^6^^
華: to as if, seem to be like, look like, appears to be, resembles; also written as 好象; 粵: 好似
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
像 zoeng^^6^^ — portrait, resemble
"""
@@
@@.answer
"""
好冇 hou^^2^^mou^^5*2^^
粵: is it good or not , is it all right; contraction of 好唔好; 華: 好不好 , 好嗎
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
冇 mou^^5^^ — don’t have
"""
@@
@@.answer
"""
好味 hou^^2^^mei^^6^^
delicious, good to eat
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
味 mei^^6^^ — taste, flavour, smell, interest, reflect on
"""
@@
@@.answer
"""
好好 hou^^2^^hou^^2^^ — very good, very well; 華: 很好
好 hou^^2^^ hou^^3^^/hao^^3^^ hao^^4^^ — good, very, friendly, healthy, ready
"""
@@
@@.answer
"""
好孩子 hou^^2^^haai^^4^^zi^^2^^
華: a good child, a well behaved and filial child; 粵: (m) 乖仔, (f) 乖女
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
孩 haai^^4^^ — baby
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
好學 hou^^3^^hok^^6^^
curiousness
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
學 hok^^6^^ — learn, learning, school
"""
@@
@@.answer
"""
好幾 hou^^2^^gei^^2^^
several, quite a few
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
幾 gei^^2^^ gei^^1^^ — how many, a few, –plus, nearly
"""
@@
@@.answer
"""
好意思 hou^^2^^ji^^3^^si^^1^^
to have the nerve, what a cheek!, to feel no shame, to overcome the shame, (is it) proper? (rhetorical question)
好 hou^^2^^ hou^^3^^/hao^^3^^ hao^^4^^ — good, very, friendly, healthy, ready
意 ji^^3^^/yi^^4^^ — wish, meaning, expect
思 si^^1^^ si^^3^^ soi^^1^^/si^^1^^ si^^5^^ sai^^1^^ — think, consider, long for, thinking, feeling
"""
@@
@@.answer
"""
好感 hou^^2^^gam^^2^^
good opinion, favourable impression
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
感 gam^^2^^ — feel, perceive, sense, emotion
"""
@@
@@.answer
"""
好攰 hou^^2^^gui^^6^^
粵: very tired, exhausted; also 好癐; 華: 很累
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
攰 gui^^6^^ — tired, exhausted, weary
"""
@@
@@.answer
"""
好朋友 hou^^2^^pang^^4^^jau^^5^^
a good friend
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
朋 pang^^4^^ — friend
友 jau^^5^^ — friend, friendship
"""
@@
@@.answer
"""
好癐 hou^^2^^gui^^6^^
粵: very tired, exhausted, variant of 好攰
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
癐 gui^^6^^ — variant of 攰
"""
@@
@@.answer
"""
好的 hou^^2^^dik^^1^^
華: “Fine”, “OK”
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
的 dik^^1^^ — possessive suffix
"""
@@
@@.answer
"""
好看 hou^^2^^hon^^3^^
華: good–looking, aesthetically pleasing, attractive looking, good to look at, good to watch, good to view; 粵: 好睇
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
看 hon^^3^^ hon^^1^^ — see, read, watch, judge, guard, regard as
"""
@@
@@.answer
"""
好象 hou^^2^^zoeng^^6^^
華: to be like, seem like, look like, appears to be, resembles; 粵: 好似; also written as 好像
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
象 zoeng^^6^^ — elephant, portrait, figure, image
"""
@@
@@.answer
"""
好轉 hou^^2^^zyun^^2^^
make a turn for the better, improve
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
轉 zyun^^2^^ zyun^^3^^ — turn, transfer, revolve
"""
@@
@@.answer
"""
好運 hou^^2^^wan^^6^^
good luck
好 hou^^2^^ hou^^3^^/hao^^3^^ hao^^4^^ — good, very, friendly, healthy, ready
運 wan^^6^^/yun^^4^^ — move, revolve, transport, ship
"""
@@
@@.answer
"""
好食 hou^^2^^sik^^6^^
粵: delicious, tasty; 華: 好吃
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
食 sik^^6^^ zi^^6^^ — eat, food
"""
@@
@@.answer
"""
好食懶飛 hou^^3^^sik^^6^^laan^^5^^fei^^1^^
lazy
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
食 sik^^6^^ zi^^6^^ — eat, food
懶 laan^^5^^ — lazy, listless
飛 fei^^1^^ — fly, move swiftly; 粵: cut, fare
"""
@@
@@.answer
"""
妖 jiu^^2^^ jiu^^1^^ / yao^^1^^
a demon, goblin, evil spirit
weird, evil, demonic
bewitching, coquettish, seductive
jiu^^2^^ is standard reading, jiu^^1^^ is variant
"""
@@
@@.answer
"""
妥 to^^5^^ / tuo^^3^^
appropriate, proper, suitable
ready, settled, finished
"""
@@
@@.answer
"""
妥協 to^^5^^hip^^3^^
to compromise, come to terms, a reconciliation, amity
妥 to^^5^^/tuo^^3^^ — appropriate, ready
協 hip^^3^^/xie^^2^^ — agree, be united, cooperate
"""
@@
@@.answer
"""
妹妹 mui^^6*4^^mui^^6*2^^
a younger sister; 粵: also ‘細妹’
妹 mui^^6^^ mui^^6*2^^ mui^^6*1^^ — younger sister
"""
@@
@@.answer
"""
始終 ci^^2^^zung^^1^^
throughout, all along, always, from start to finish, from beginning to end
始 ci^^2^^/shi^^3^^ shi^^4^^ — beginning, start, first
終 zung^^1^^/zhong^^1^^ — end, conclusion, death
"""
@@
@@.answer
"""
姓名 sing^^3^^ming^^4^^
a full name (surname 姓, and given name 名)
姓 sing^^3^^ seng^^3^^ — surname
名 ming^^4^^ meng^^2^^ — name, fame
"""
@@
@@.answer
"""
姓氏 sing^^3^^si^^6^^
a surname
姓 sing^^3^^ seng^^3^^ — surname
氏 si^^6^^ zi^^1^^ — surname, family name, née
"""
@@
@@.answer
"""
姓賴 sing^^3^^laai^^6^^
rascally, shameless, unreasonable
姓 sing^^3^^ seng^^3^^ — surname
賴 laai^^6^^ — rely on, blame sb wrongly, family name
"""
@@
@@.answer
"""
威水史 wai^^1^^seoi^^2^^si^^2^^
famous achievements, great escapades, awe–inspiring history, awesome accounts of the past
威 wai^^1^^/wei^^1^^ — impressive strength, awesome power
水 seoi^^2^^/shui^^3^^ — water, liquid, dough (money)
史 si^^2^^/shi^^3^^ — history, chronicle, annals
"""
@@
@@.answer
"""
娃娃 waa^^1^^waa^^1^^
a baby doll
華: a baby, infant, toddler, child, kid; 粵: 細蚊仔, 細佬哥
娃 waa^^1^^ — baby, pretty girl
"""
@@
@@.answer
"""
娃娃菜 waa^^1^^waa^^1^^coi^^3^^
a baby Chinese cabbage (small–sized variety)
娃 waa^^1^^ — baby, pretty girl
菜 coi^^3^^ — vegetables, dish
"""
@@
@@.answer
"""
娟 gyun^^1^^ / juan^^1^^
pretty, beautiful, graceful, attractive, good–looking
"""
@@
@@.answer
"""
娶 ceoi^^2^^ cou^^2^^ / qu^^3^^
to marry (a woman), take a wife, (of a man) get married //ant.// 嫁
"""
@@
@@.answer
"""
婚姻 fan^^1^^jan^^1^^
matrimony, wedding, marriage
婚 fan^^1^^/hun^^1^^ — to wed, to marry, marriage, wedding
姻 jan^^1^^/yin^^1^^ — marriage
"""
@@
@@.answer
"""
婦女 fu^^5^^neoi^^5^^
a woman, women
婦 fu^^5^^ pou^^5^^ — married woman, matron
女 neoi^^5^^ neoi^^2^^ — woman, daughter
"""
@@
@@.answer
"""
媳婦 sik^^1^^fu^^5^^
a daughter–in–law, son’s wife; 粵: 新婦 san^^1^^pou^^5^^, sometimes written as 心抱
媳 sik^^1^^ — daughter–in–law
婦 fu^^5^^ pou^^5^^ — married woman, matron
"""
@@
@@.answer
"""
媽咪 maa^^1^^mi^^4^^
粵: mummy, mommy
媽 maa^^1^^ — ma, mama, mom, mother
咪 mai^^1^^ mai^^5^^ mai^^6^^ — cat’s mew, study hard, don’t
"""
@@
@@.answer
"""
嫌三嫌四 jim^^4^^saam^^1^^jim^^4^^sei^^3^^
to dislike this and that, be picky
嫌 jim^^4^^ — dislike, grudge, suspect
三 saam^^1^^ saam^^3^^ — three, several
四 sei^^3^^ — four
"""
@@
@@.answer
"""
嫌棄 jim^^4^^hei^^3^^
to ignore someone, to give sb the cold–shoulder, antipathy toward sb; 粵: 嫌 jim^^4^^, 憎 zang^^1^^
嫌 jim^^4^^/xian^^2^^ — dislike, grudge, suspect
棄 hei^^3^^/qi^^4^^ — throw away, discard, abandon
"""
@@
@@.answer
"""
嫖 piu^^4^^ piu^^3^^ / piao^^2^^ piao^^4^^
粵: piu^^4^^; 華: piao^^2^^
to visit prostitutes, go whoring
粵: piu^^3^^; 華: piao^^4^^
nimble, quick–moving
"""
@@
@@.answer
"""
嬰孩 jing^^1^^haai^^4^^
a baby, infant
嬰 jing^^1^^ — baby
孩 haai^^4^^ — baby
"""
@@
@@.answer
"""
子女 zi^^2^^neoi^^5^^
華: sons and daughters, children; 粵: 仔女
子 zi^^2^^ — son, person, egg, young, subsidiary
女 neoi^^5^^ neoi^^2^^ — woman, daughter
"""
@@
@@.answer
"""
孔 hung^^2^^ / kong^^3^^
a hole, opening, aperture, bore, orifice
of or pertaining to Confucius or Confucianism
a Chinese surname
"""
@@
@@.answer
"""
孔子 hung^^2^^zi^^2^^
Confucius //syn.// 孔夫子
孔 hung^^2^^ — hole, opening, (surname)
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
孖 maa^^1^^ / zi^^1^^
twin, in pairs
to take along, join together, associate
"""
@@
@@.answer
"""
孖公仔 maa^^1^^gung^^1^^zai^^2^^
said of two people who get along so well that they are pratically inseparable //lit.// twin dolls
孖 maa^^1^^/ma^^1^^ — twin, in pairs, take along
公 gung^^1^^/gong^^1^^ — public, common, international, impartial
仔 zai^^2^^ zi^^2^^/zai^^3^^ zi^^1^^ — son, child
"""
@@
@@.answer
"""
孖展 maa^^1^^zin^^2^^
粵: a merchant, margin (loanwords)
孖 maa^^1^^ — twin, in pairs, take along
展 zin^^2^^ — open up, expand, prolong, exhibit
"""
@@
@@.answer
"""
孖煙通 maa^^1^^jin^^1^^tung^^1^^
boxers, knickers
孖 maa^^1^^/ma^^1^^ — twin, in pairs, take along
煙 jin^^1^^/yan^^1^^ — smoke, cigarette
通 tung^^1^^/tong^^1^^ — through, notify, general, know
"""
@@
@@.answer
"""
字型 zi^^6^^jing^^4^^
a font, typeface (sometimes written as 字形)
字 zi^^6^^ — word, glyph
型 jing^^4^^ — pattern, model, type, standard, stylish
"""
@@
@@.answer
"""
字書 zi^^6^^syu^^1^^
wordbook, lexicon, dictionary
字 zi^^6^^ — word, glyph
書 syu^^1^^ — book, writings
"""
@@
@@.answer
"""
字母 zi^^6^^mou^^5^^
a letter, alphabet
字 zi^^6^^ — word, glyph
母 mou^^5^^ — mother, female
"""
@@
@@.answer
"""
存款簿 cyun^^4^^fun^^2^^bou^^6*2^^
a passbook
存 cyun^^4^^ — exist, live, store, cherish, stock
款 fun^^2^^ — sum of money, pattern, entertain, section
簿 bou^^6*2^^ bou^^6^^ — notebook
"""
@@
@@.answer
"""
季 gwai^^3^^ / ji^^4^^
a quarter of a year, season
a last (month of a season)
the youngest (of brothers)
a Chinese family name
"""
@@
@@.answer
"""
季風 gwai^^3^^fung^^1^^
the monsoon
季 gwai^^3^^ — quarter of a year, season
風 fung^^1^^ fung^^3^^ — wind
"""
@@
@@.answer
"""
孤 gu^^1^^ / gu^^1^^
lone, lonely
"""
@@
@@.answer
"""
孤苦伶仃 gu^^1^^fu^^2^^ling^^4^^ding^^1^^
orphaned and alone
孤 gu^^1^^ — orphan, isolated
苦 fu^^2^^ — bitter, painful, hard, suffer from
伶 ling^^4^^ — actor, solitary, clever
仃 ding^^1^^ — lonely, solitary, without relatives
"""
@@
@@.answer
"""
孩兒 haai^^4^^ji^^4^^
華: a child, kid; 粵: 細蚊仔, 細路, 細佬哥 //syn.// 兒童, 孩子
孩 haai^^4^^ — baby
兒 ji^^4^^ — child, son
"""
@@
@@.answer
"""
孫仔 syun^^1^^zai^^2^^
粵: a grandson; 華: 孫子
孫 syun^^1^^ — grandchild, descendent
仔 zai^^2^^ zi^^2^^ — son, child
"""
@@
@@.answer
"""
孫女 syun^^1^^neoi^^5*2^^
a granddaughter
孫 syun^^1^^ — grandchild, descendant
女 neoi^^5^^ neoi^^2^^ — woman, daughter
"""
@@
@@.answer
"""
孭袋 me^^1^^doi^^6*2^^
粵: a shoulder bag
孭 me^^1^^ — to carry on the shoulders
袋 doi^^6^^ doi^^6*2^^ — pocket, bag, sack
"""
@@
@@.answer
"""
孭飛 me^^1^^fei^^1^^
to take responsibility, to carry the ticket, to be the star attraction
孭 me^^1^^ — to carry on the shoulders
飛 fei^^1^^ — fly, move swiftly; 粵: cut; 粵: fare
"""
@@
@@.answer
"""
學習 hok^^6^^zaap^^6^^
to study
學 hok^^6^^ — learn, learning, school
習 zaap^^6^^ — learn, receive training in, practice
"""
@@
@@.answer
"""
學者 hok^^6^^ze^^2^^
a scholar
學 hok^^6^^ — learn, learning, school
者 ze^^2^^ — he who, those who
"""
@@
@@.answer
"""
孻 laai^^1^^ / lai^^2^^
last, later
youngest (son or daughter)
"""
@@
@@.answer
"""
孻屘 laai^^1^^mei^^1^^
粵: last, last place, last position; 華: 末尾
behind, at the back; 華: 後面
right at the back, way behind; 華: 最後, 在最後面
孻 laai^^1^^ — last
屘 mei^^1^^ — tip, extremity
"""
@@
@@.answer
"""
它們 taa^^1^^mun^^4^^
them, they, neuter–gender third–person plural pronoun; 粵: 佢哋
它 taa^^1^^ — it (an object)
們 mun^^4^^ — indicates plurality
"""
@@
@@.answer
"""
它本身 taa^^1^^bun^^2^^san^^1^^
華: itself
它 taa^^1^^ — it (an object)
本 bun^^2^^ — basis, original, copy
身 san^^1^^ — body, life, oneself
"""
@@
@@.answer
"""
宅 zaak^^6^^ zaak^^6*2^^ / zhai^^2^^
a residence
"""
@@
@@.answer
"""
守時 sau^^2^^si^^4^^
punctual //syn.// 準時
守 sau^^2^^ sau^^3^^/shou^^3^^ shou^^4^^ — guard, look after, observe, remain
時 si^^4^^/shi^^2^^ — time
"""
@@
@@.answer
"""
安士 on^^1^^si^^6*2^^
粵: an ounce; 華: 盎司, 英両
安 on^^1^^ — peaceful, stabilise, install, fabricate
士 si^^6^^ — commendable person
"""
@@
@@.answer
"""
安寧 on^^1^^ning^^4^^ — peaceful; tranquil; calm; composed; free from worry
安 on^^1^^ — peaceful; stabilise; install; fabricate
寧 ning^^4^^ — peaceful; would rather
"""
@@
@@.answer
"""
安撫 on^^1^^fu^^2^^
placate, pacify, appease
安 on^^1^^/an^^1^^ — peaceful, stabilise, install, fabricate
撫 fu^^2^^/fu^^3^^ — console, nurture, caress
"""
@@
@@.answer
"""
安閒 on^^1^^haan^^4^^
peaceful and carefree, leisurely
安 on^^1^^ — peaceful, stabilise, install, fabricate
閒 haan^^4^^ — leisure, not busy, spare time
"""
@@
@@.answer
"""
宗旨 zung^^1^^zi^^2^^
an objective, aim, goal
宗 zung^^1^^ — ancestor, clan, sect
旨 zi^^2^^ — purpose, decree, tasty
"""
@@
@@.answer
"""
定 ding^^6^^ deng^^6^^/ding^^4^^
粵: ding^^6^^; 華: ding^^4^^
stable, calm, composed
to decide, fix, set, settle
surely, certainly, definitely
粵: in advance, ahead of time
粵: [conj] shortened form of 定係 ‘or’
粵: deng^^6^^; 華: ding^^4^^
to order, book, subscribe //var.// 訂
a deposit, downpayment //var.// 訂
"""
@@
@@.answer
"""
定義 ding^^6^^ji^^6^^
a definition, to define, to be defined as
定 ding^^6^^ deng^^6^^/ding^^4^^ — stable, decide, surely, order, deposit
義 ji^^6^^/yi^^4^^ — justice, righteous, adopted, artificial
"""
@@
@@.answer
"""
宜 ji^^4^^ / yi^^2^^
suitable, appropriate, fitting, proper
should, ought to, must
"""
@@
@@.answer
"""
宜得 ji^^4^^dak^^1^^
anxious, look forward to, earnestly wish for; 華: 巴不得
宜 ji^^4^^/yi^^2^^ — suitable, should
得 dak^^1^^/de^^2^^ de^^5^^ dei^^3^^ — get, obtain, fit, finished, able to, must
"""
@@
@@.answer
"""
客仔 haak^^3^^zai^^2^^
a customer, client; formal: 顧客
客 haak^^3^^ — guest, visitor, customer, passenger
仔 zai^^2^^ zi^^2^^ — son, child
"""
@@
@@.answer
"""
客戶 haak^^3^^wu^^6^^
a client
客 haak^^3^^/ke^^4^^ — guest, visitor, customer, passenger
戶 wu^^6^^/hu^^4^^ — door, household, family, account
"""
@@
@@.answer
"""
宣傳 syun^^1^^cyun^^4^^
to propagandise, to publicise, propaganda
宣 syun^^1^^/xuan^^1^^ — declare, announce, proclaim
傳 cyun^^4^^ zyun^^6^^/chuan^^2^^ zhuan^^4^^ — pass, spread, biography, story
"""
@@
@@.answer
"""
宴會 jin^^3^^wui^^6^^
a banquet, feast, dinner party
宴 jin^^3^^ — entertain, feast
會 wui^^5^^ wui^^6^^ kui^^2^^ — will, would, get together, meet, city
"""
@@
@@.answer
"""
家教 gaa^^1^^gaau^^3^^
a family education
to teach at home
a private teacher, tutor
家 gaa^^1^^ — home, family, specialist
教 gaau^^3^^ gaau^^1^^ — teach, religion
"""
@@
@@.answer
"""
家父 gaa^^1^^fu^^4^^
my father (modest)
家 gaa^^1^^/jia^^1^^ — home, family, specialist
父 fu^^6^^ fu^^2^^/fu^^4^^ fu^^3^^ — father
"""
@@
@@.answer
"""
容忍 jung^^4^^jan^^2^^
to put up with, to tolerate
容 jung^^4^^ — looks, appearance, forgive
忍 jan^^2^^ — endure, suffer
"""
@@
@@.answer
"""
宿 suk^^1^^ sau^^3^^ / su^^4^^,xiu^^3^^,xiu^^4^^
粵: suk^^1^^, 華: su^^4^^
to stay overnight, lodge, spend a night
long–standing, long–running, long time
veteran, experienced, eminent
粵: variant of 餿
粵: suk^^1^^, 華: xiu^^3^^
[measure] night
粵: sau^^3^^, 華: xiu^^4^^
a constellation
"""
@@
@@.answer
"""
宿舍 suk^^1^^se^^3^^
a residential hall, dormitory, living quarters, residence, hostel, hostelry
宿 suk^^1^^ sau^^3^^ — stay overnight, long–standing, veteran
舍 se^^3^^ — house, my
"""
@@
@@.answer
"""
寂寥 zik^^6^^liu^^4^^
solitary, lonesome
寂 zik^^6^^/ji^^4^^ ji^^2^^ — quiet, still, lonely
寥 liu^^4^^/liao^^2^^ — scanty, silent
"""
@@
@@.answer
"""
寄 gei^^3^^ / ji^^4^^
to mail, send, post, remit
to entrust, deposit, place, leave with
to depend on, attach oneself to
adopted
"""
@@
@@.answer
"""
寄宿學校 gei^^3^^suk^^1^^hok^^6^^haau^^6^^
a boarding school
寄 gei^^3^^ — mail, send, post
宿 suk^^1^^ sau^^3^^ — stay overnight, long–standing, veteran
學 hok^^6^^ — learn, learning, school
校 haau^^6^^ gaau^^3^^ — school, field officer, check
"""
@@
@@.answer
"""
密 mat^^6^^ / mi^^4^^ — dense; thick; tight; close; intimate; hidden
"""
@@
@@.answer
"""
密斟 mat^^6^^zam^^1^^
to talk secretly, to discuss in private
密 mat^^6^^ — dense, thick, tight, close, intimate
斟 zam^^1^^ — pour, discuss
"""
@@
@@.answer
"""
密絲 mat^^6^^si^^1^^
粵: to miss (loanword)
密 mat^^6^^ — dense, thick, tight, close, intimate
絲 si^^1^^ — silk
"""
@@
@@.answer
"""
富家子 fu^^3^^gaa^^1^^zi^^2^^
a son born to a rich family
富 fu^^3^^ — rich, wealthy
家 gaa^^1^^ — home, family, specialist
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
寒 hon^^4^^ / han^^2^^
cold, wintry, chilly
poor
to tremble
"""
@@
@@.answer
"""
寒光閃閃 hon^^4^^gwong^^1^^sim^^2^^sim^^2^^
to glitter like frost and snow (idiom)
寒 hon^^4^^/han^^2^^ — cold, wintry, chilly
光 gwong^^1^^/guang^^1^^ guang^^2^^ guang^^4^^ — light, shine
閃 sim^^2^^/shan^^3^^ — flash, dodge, sprain, leave in a hurry
閃 sim^^2^^/shan^^3^^ — flash, dodge, sprain, leave in a hurry
"""
@@
@@.answer
"""
寡 gwaa^^2^^ / gua^^3^^
few, scant, little, seldom
tasteless, insipid, bland
widowed, single, lonely
"""
@@
@@.answer
"""
實驗 sat^^6^^jim^^6^^
to experiment, an experiment
實 sat^^6^^/shi^^2^^ — solid, true
驗 jim^^6^^/yan^^4^^ — test, examine, analyse
"""
@@
@@.answer
"""
寫字 se^^2^^zi^^6^^
to write characters
寫 se^^2^^ — write, draw, compose, describe
字 zi^^6^^ — word, glyph
"""
@@
@@.answer
"""
寬衣 fun^^1^^yi^^1^^
to remove one’s clothes, to take one’s clothes off
寬 fun^^1^^/kuan^^1^^ — wide, lenient, relax
衣 ji^^1^^ ji^^3^^/yi^^1^^ yi^^4^^ — clothing, garment, coating
"""
@@
@@.answer
"""
寵物 cung^^2^^mat^^6^^
a pet (animal)
寵 cung^^2^^ zung^^3^^ — bestow favour on
物 mat^^6^^ — thing, substance, stuff
"""
@@
@@.answer
"""
寵物店 cung^^2^^mat^^6^^dim^^3^^
a pet shop
寵 cung^^2^^ zung^^3^^/chong^^3^^ — bestow favour on
物 mat^^6^^/wu^^4^^ — thing, substance, stuff
店 dim^^3^^/dian^^4^^ — shop
"""
@@
@@.answer
"""
封嘴 fung^^1^^zeoi^^2^^
hush!, to keep silent, to keep one’s mouth shut //lit.// to seal mouth
封 fung^^1^^ — classifier for envelope, seal
嘴 zeoi^^2^^ — mouth
"""
@@
@@.answer
"""
射住 se^^6^^zyu^^6^^
to look after, to protect, to watch over
to provide backup for, e.g. hidden behind the scenes
射 se^^6^^ — shoot, emit
住 zyu^^6^^ — live, reside, stay
"""
@@
@@.answer
"""
射波 se^^6^^bo^^1^^
be absent from work, skip a work day //lit.// shoot ball, also 踢波
射 se^^6^^ — shoot, emit
波 bo^^1^^ — waves, unexpected changes, ball, gear
"""
@@
@@.answer
"""
射精 se^^6^^zing^^1^^
to ejaculate (as a reproductive function)
射 se^^6^^ — shoot, emit
精 zing^^1^^ zeng^^1^^ — refined, best, smart, essence, energy
"""
@@
@@.answer
"""
將 zoeng^^1^^ zoeng^^3^^
粵: zoeng^^1^^; 華: jiang^^1^^
to be going to, to be about to, will, shall
[prep] used as a disposal marker very similar to 把
[chess] check!
to nourish, support, take care of
粵: zoeng^^3^^; 華: jiang^^4^^
a general, high–ranking officer
a backbone, athlete, sportsman
[literary] to lead, command (troops)
"""
@@
@@.answer
"""
尊崇 zyun^^1^^sung^^4^^
to revere, to admire, to honour, to venerate
尊 zyun^^1^^ — superior, senior, respect, esteem
崇 sung^^4^^ — lofty, esteem
"""
@@
@@.answer
"""
尊敬 zyun^^1^^ging^^3^^
to respect, honour, venerate, revere, esteem
honourable, respectable, respected
尊 zyun^^1^^ — superior, senior, respect, esteem
敬 ging^^3^^ — respect, honour, esteem
"""
@@
@@.answer
"""
尊貴 zyun^^1^^gwai^^3^^
respected, respectable, honorable
尊 zyun^^1^^/zun^^1^^ — superior, senior, respect, esteem
貴 gwai^^3^^/gui^^4^^ — expensive
"""
@@
@@.answer
"""
華: 對不起 deoi^^3^^bat^^1^^hei^^2^^; 粵: 對唔住
sorry, excuse me, pardon me
to let sb down, be unworthy of, be unfair to
對 deoi^^3^^/dui^^4^^ — correct, answer, counter, face, opposite
不 bat^^1^^/bu^^4^^ — not, no, un–
起 hei^^2^^/qi^^3^^ — rise, stand up, begin, build, remove, draft
"""
@@
@@.answer
"""
對了 deoi^^3^^liu^^5^^
華: right, correct
粵: 啱, 啱喇, 啱咯, 啱嘅
對 deoi^^3^^ — correct, answer, counter, face, opposite
了 liu^^5^^ — completed, change, finish
"""
@@
@@.answer
"""
對呀 deoi^^3^^aa^^3^^
right, yes
對 deoi^^3^^ — correct, answer, counter, face, opposite
呀 aa^^3^^ aa^^4^^ aa^^5^^ aa^^1^^ — final particle for softening abruptness
"""
@@
@@.answer
"""
對頭 deoi^^3^^tau^^4^^
correct, true, OK, normal, appropriate
對 deoi^^3^^ — correct, answer, counter, face, opposite
頭 tau^^4^^ — head, first, chief
"""
@@
@@.answer
"""
導師 dou^^6^^si^^1^^
instructor, tutor, supervisor, mentor, advisor, director, guide
導 dou^^6^^ — lead, guide, instruct
師 si^^1^^ — teacher, master
"""
@@
@@.answer
"""
小型 siu^^2^^jing^^4^^
small scale, small size, mini
小 siu^^2^^ — small, tiny, little
型 jing^^4^^ — pattern, model, type, standard, stylish
"""
@@
@@.answer
"""
小姓 siu^^2^^sing^^3^^
my (humble) surname is …
小 siu^^2^^ — small, tiny, little
姓 sing^^3^^ seng^^3^^ — surname
"""
@@
@@.answer
"""
小字 siu^^2^^zi^^6^^
small character
小 siu^^2^^ — small, tiny, little
字 zi^^6^^ — word, glyph
"""
@@
@@.answer
"""
小孩 siu^^2^^haai^^4^^
華: a child; 粵: 細路仔/女
小 siu^^2^^ — small, tiny, little
孩 haai^^4^^ — baby
"""
@@
@@.answer
"""
小學校 siu^^2^^hok^^6^^haau^^6^^
a small school
a primary school; 小學 is more commonly used
小 siu^^2^^ — small, tiny, little
學 hok^^6^^ — learn, learning, school
校 haau^^6^^ gaau^^3^^ — school, field officer, check
"""
@@
@@.answer
"""
小巴 siu^^2^^baa^^1^^
a minibus //syn.// van仔; formal: 小型公共汽車
小 siu^^2^^/xiao^^3^^ — small, tiny, little
巴 baa^^1^^/ba^^1^^ — bus, hope earnestly, cling to, crust
"""
@@
@@.answer
"""
小康 siu^^2^^hong^^1^^
comfortably off, fairly well–off, well–to–do //lit.// small abundance
小 siu^^2^^ — small, tiny, little
康 hong^^1^^ — peaceful, healthy, bountiful, broad
"""
@@
@@.answer
"""
小數點 siu^^2^^sou^^3^^dim^^2^^
a decimal point
小 siu^^2^^ — small, tiny, little
數 sou^^3^^ sou^^2^^ sok^^3^^ — number, figure, several, count
點 dim^^2^^ — dot, point, drop, select, touch, instruct
"""
@@
@@.answer
"""
小時 siu^^2^^si^^4^^
an hour
小 siu^^2^^ — small, tiny, little
時 si^^4^^ — time
"""
@@
@@.answer
"""
小皇帝 siu^^2^^wong^^4^^dai^^3^^
“little emperor”, a male only–child
小 siu^^2^^ — small, tiny, little
皇 wong^^4^^ — emperor, imperial, grand
帝 dai^^3^^ — emperor, god
"""
@@
@@.answer
"""
小羊 siu^^2^^joeng^^4^^
a lamb
小 siu^^2^^ — small, tiny, little
羊 joeng^^4^^ — sheep, goat
"""
@@
@@.answer
"""
小聲 siu^^2^^seng^^1^^
華: soft (volume); 粵: 細聲
小 siu^^2^^ — small, tiny, little
聲 sing^^1^^ seng^^1^^ — sound, voice, declare, fame
"""
@@
@@.answer
"""
少啲 siu^^2^^di^^1^^
粵: less, fewer
少 siu^^2^^ siu^^3^^ — few, lack, be missing, young
啲 di^^1^^ dit^^1^^ — some, those, a few
"""
@@
@@.answer
"""
少少 siu^^2^^siu^^2^^
a little bit, a little; 華: 一點兒
少 siu^^2^^ siu^^3^^/shao^^3^^ shao^^4^^ — few, lack, be missing, young
"""
@@
@@.answer
"""
少年 siu^^3^^nin^^4^^ — youngster
少 siu^^2^^ siu^^3^^/shao^^3^^ shao^^4^^ — few, lack, be missing, young
年 nin^^4^^/nian^^2^^ — year
"""
@@
@@.answer
"""
少林寺 siu^^3^^lam^^4^^zi^^6*2^^
Shaolin Temple, famous for its monks who practise martial arts; the northern, original in Henan, the southern in Fujian
少 siu^^2^^ siu^^3^^ — few, lack, be missing, young
林 lam^^4^^ — forest, grove
寺 zi^^6^^ zi^^6*2^^ — temple, monastery, mosque
"""
@@
@@.answer
"""
尖 zim^^1^^/ jian^^1^^
sharp, pointed, tapering
a point, tip, top
the best of its kind, pick of the bunch, cream of the crop
advanced, leading, sophisticated
piercing, shrill
sharp–eared, sharp–tongued, quick of hearing
"""
@@
@@.answer
"""
尚且 soeng^^6^^ce^^2^^
not, even, still (literary)
尚 soeng^^6^^/shang^^4^^ — still, yet, esteem
且 ce^^2^^ zeoi^^1^^/qie^^3^^ ju^^1^^ — just, for the time being, moreover, even
"""
@@
@@.answer
"""
就 zau^^6^^ / jiu^^4^^
right away, at once, thereupon
only, just, almost
to approach, come near, move towards
to comply with, accommodate, follow
[prep] with regard to, concerning, as far as
"""
@@
@@.answer
"""
就是 zau^^6^^si^^6^^
華: exactly, means, is, precisely, even, just like, in the same way as; 粵: 就係, 即係, 一於, 硬係
就 zau^^6^^ — right away, only, approach, comply with
是 si^^6^^ — is
"""
@@
@@.answer
"""
尺子 cek^^3^^zi^^2^^
a rule, ruler (measuring instrument); 粵: 間尺
尺 cek^^3^^ ce^^2^^ — ruler
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
尺寸 cek^^3^^cyun^^3^^
a measurement, dimensions, size, magnitude, measure, bigness, fitting
尺 cek^^3^^ ce^^2^^ — ruler
寸 cyun^^3^^ — inch, very small, cocky, arrogant
"""
@@
@@.answer
"""
尺碼 cek^^3^^maa^^5^^
measure, size
尺 cek^^3^^ ce^^2^^ — ruler
碼 maa^^5^^ — numeral, symbol, yard (length)
"""
@@
@@.answer
"""
居住 geoi^^1^^zyu^^6^^
to reside, to live (at some place); 粵: 住
居 geoi^^1^^ — live, dwell, reside, occupy
住 zyu^^6^^ — live, reside, stay
"""
@@
@@.answer
"""
屆 gaai^^3^^ / jie^^4^^
to expire, fall due
[classifier] session, class
"""
@@
@@.answer
"""
屈質 wat^^1^^zat^^1^^
small and cramped
屈 wat^^1^^/qu^^1^^ — bend, subdue, injustice
質 zat^^1^^ zi^^3^^/zhi^^4^^ zhi^^2^^ — quality, substance, simple, query, pawn
"""
@@
@@.answer
"""
屋簷 uk^^1^^sim^^4^^
eaves, the part of the roof that juts out from the building; 華: 簷篷; 粵: 檐篷
屋 uk^^1^^/wu^^1^^ — house
簷 sim^^4^^ jam^^4^^/yan^^2^^ — eaves, edge
"""
@@
@@.answer
"""
屋苑 uk^^1^^jyun^^2^^
a housing complex; a group of housing blocks or condominiums provided by government or private developers //rel.// 屋邨
屋 uk^^1^^ — house
苑 jyun^^2^^ — housing court
"""
@@
@@.answer
"""
屋邨 uk^^1^^cyun^^1^^
a housing estate; a group of housing blocks provided by government mainly for renting out to lower–income families
[related term] 屋苑
屋 uk^^1^^ — house
邨 cyun^^1^^ — housing estate
"""
@@
@@.answer
"""
屬 suk^^6^^ zuk^^1^^
粵: suk^^6^^; 華: shu^^3^^
a class, category, type, kind
to belong to, be subordinate to, be governed by
a family members, dependants
[literary] to be, is, are, was, were
to be born in the year of (one of the twelve animals)
粵: zuk^^1^^; 華: zhu^^3^^ used only in literary context
to join, combine, link up
to fix (one’s mind/attention) on
"""
@@
@@.answer
"""
屬地 suk^^6^^dei^^6^^
a dependency, possession, dependent territory
屬 suk^^6^^ zuk^^1^^ — class, belong to, be born in (animal) year
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
"""
@@
@@.answer
"""
山丘 saan^^1^^jau^^1^^
hills and mountains
山 saan^^1^^ — mountain, hill, peak
丘 jau^^1^^ — hill, mound
"""
@@
@@.answer
"""
山區 saan^^1^^keoi^^1^^
a mountainous area, hilly region
山 saan^^1^^ — mountain, hill, peak
區 keoi^^1^^ au^^1^^ — distinguish, area, few
"""
@@
@@.answer
"""
山口 saan^^1^^hau^^2^^
a mountain pass (used especially in place–names)
山 saan^^1^^ — mountain, hill, peak
口 hau^^2^^ — mouth
"""
@@
@@.answer
"""
山河 saan^^1^^ho^^4^^
the hills and rivers — general topography of a place
the territory of a country
山 saan^^1^^ — mountain, hill, peak
河 ho^^4^^ ho^^4*2^^ — river
"""
@@
@@.answer
"""
山竹 saan^^1^^zuk^^1^^
a mangosteen
山 saan^^1^^ — mountain, hill, peak
竹 zuk^^1^^ — bamboo
"""
@@
@@.answer
"""
山羊 saan^^1^^joeng^^4^^
a goat
山 saan^^1^^ — mountain, hill, peak
羊 joeng^^4^^ — sheep, goat
"""
@@
@@.answer
"""
山頭 saan^^1^^tau^^4^^
a hilltop, mountain top
山 saan^^1^^ — mountain, hill, peak
頭 tau^^4^^ — head, first, chief
"""
@@
@@.answer
"""
岌頭 ngap^^6^^tau^^4*2^^
to nod one’s head; 華: 點頭
岌 kap^^1^^ ngap^^6^^ — lofty, perilous, shaky
頭 tau^^4^^ — head, first, chief
"""
@@
@@.answer
"""
岩石 ngaam^^4^^sek^^6^^
a rock
岩 ngaam^^4^^ — large rock, mountain
石 sek^^6^^ daam^^3^^ — stone, rock, stone inscription
"""
@@
@@.answer
"""
崎嶇 kei^^1^^keoi^^1^^
rough, uneven; 粵: 岩巉
崎 kei^^1^^ kei^^4^^ — sloping, uneven, rugged
嶇 keoi^^1^^ — rugged, rough, uneven, irregular
"""
@@
@@.answer
"""
巢 caau^^4^^
a nest (of birds, ants, bees, etc), den, hideout, lair (for bandits, etc)
"""
@@
@@.answer
"""
工人 gung^^1^^jan^^4^^
a labourer, a worker
工 gung^^1^^ — labour, work
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
工程 gung^^1^^cing^^4^^
engineering, works
a project
工 gung^^1^^/gong^^1^^ — labour, work
程 cing^^4^^/cheng^^2^^ — distance, measure, pattern
"""
@@
@@.answer
"""
工錢 gung^^1^^cin^^4*2^^
salary, wages; 粵: 人工
工 gung^^1^^ — labour, work
錢 cin^^4^^ cin^^4*2^^ — cash, money, coins
"""
@@
@@.answer
"""
左便 zo^^2^^bin^^6^^
粵: the left side; 華: 左面
左 zo^^2^^ — left
便 bin^^6^^ pin^^4^^ — convenient, ordinary, cheap
"""
@@
@@.answer
"""
左手 zo^^2^^sau^^2^^
the left hand
the left hand side
左 zo^^2^^ — left
手 sau^^2^^ — hand
"""
@@
@@.answer
"""
差佬 caai^^1^^lou^^2^^
a policeman; although I’ve heard that it’s not a very nice thing to call a policeman to his face!
差 caa^^1^^ caai^^1^^ ci^^1^^ — inferior, difference, mistake, errand
佬 lou^^2^^ — guy, fellow, bloke, chap
"""
@@
@@.answer
"""
差異 caa^^1^^ji^^6^^
a difference, discrepancy
差 caa^^1^^ caai^^1^^ ci^^1^^ — inferior, difference, mistake, errand
異 ji^^6^^ — different, unusual, strange, surprise
"""
@@
@@.answer
"""
巷 hong^^6^^ / xiang^^4^^ hang^^4^^
a lane, alley; 華: xiang^^4^^
an underground tunnel or roadway for mining; 華: hang^^4^^
classifier: 條
"""
@@
@@.answer
"""
巷戰 hong^^6^^zin^^3^^
street fighting, street war
巷 hong^^6^^ — lane, alley
戰 zin^^3^^ — war, fight, battle, shiver
"""
@@
@@.answer
"""
市政 si^^5^^zing^^3^^
municipal administration
市 si^^5^^ — market, fair, city, metropolis, trade
政 zing^^3^^ — politics, political/administrative affairs
"""
@@
@@.answer
"""
布丁 bou^^3^^ding^^1^^
a pudding; 粵: //syn// 布甸
布 bou^^3^^ — cloth, textiles
丁 ding^^1^^ — male adult, manual worker, fourth
"""
@@
@@.answer
"""
布甸 bou^^3^^din^^1^^
粵: a pudding //syn.// 布丁
布 bou^^3^^ — cloth, textiles
甸 din^^6^^ din^^1^^ — outskirts of the capital
"""
@@
@@.answer
"""
希望 hei^^1^^mong^^6^^
a hope, to hope //syn.// 期望
希 hei^^1^^ — hope, expect, wish
望 mong^^6^^ — look towards, gaze at, hope, call on
"""
@@
@@.answer
"""
帝國 dai^^3^^gwok^^3^^
an empire
帝 dai^^3^^ — emperor, god
國 gwok^^3^^ — nation, country, state
"""
@@
@@.answer
"""
師傅 si^^1^^fu^^6*2^^
an expert in their field, a master
an address for service workers e.g. 電腦師傅 computer technician
an address for strangers, common in the PRC in the late 70s and the 80s
cf. 師父
師 si^^1^^ — teacher, master
傅 fu^^6^^ fu^^1^^ — tutor, instruct, apply to
"""
@@
@@.answer
"""
師爺 si^^1^^je^^4^^
a private advisor
師 si^^1^^ — teacher, master
爺 je^^4^^ — grandfather, father
"""
@@
@@.answer
"""
席 zik^^6^^ / xi^^2^^
a seat, place
a feast, banquet, dinner
a post, office, job
[classifier] table, dinner, course
"""
@@
@@.answer
"""
帶挈 daai^^3^^hit^^3^^
to bring along benefit to sb, guide and support sb, give sb a promotion
to take along, look after, carry; 華: 提攜, 關照
帶 daai^^3^^ daai^^3*2^^ — belt, band, zone, bring
挈 kit^^3^^ hit^^3^^ — lift, raise
"""
@@
@@.answer
"""
常常 soeng^^4^^soeng^^4^^
華: frequently, usually, often; 粵: 成日, 時時
常 soeng^^4^^ — common, ordinary, frequently
"""
@@
@@.answer
"""
幕後 mok^^6^^hau^^6^^
behind the scenes, behind closed doors, backstage, offstage, backroom, in the background
幕 mok^^6^^ — tent, curtain
後 hau^^6^^ — behind, come after
"""
@@
@@.answer
"""
幫派 bong^^1^^paai^^3^^
a gang, a triad group, an organised crime group
幫 bong^^1^^/bang^^1^^ — help, assist
派 paai^^3^^/pai^^4^^ — faction, group, style, manner, send, censure
"""
@@
@@.answer
"""
干涉 gon^^1^^sip^^3^^
to interfere, to meddle, interference
干 gon^^1^^/gan^^1^^ — offend, interfere, concern
涉 sip^^3^^/she^^4^^ — wade, undergo, involve
"""
@@
@@.answer
"""
平凡 ping^^4^^faan^^4^^
ordinary
平 ping^^4^^ peng^^4^^ — peaceful, level
凡 faan^^4^^ — ordinary, secular, every, altogether
"""
@@
@@.answer
"""
平時 ping^^4^^si^^4^^
ordinarily, usually, usual, normal
平 ping^^4^^ peng^^4^^/ping^^2^^ — peaceful, level
時 si^^4^^/shi^^2^^ — time
"""
@@
@@.answer
"""
年代 nin^^4^^doi^^6^^
a period, era, decade — e.g. the nineties: 九十年代
年 nin^^4^^ — year
代 doi^^6^^ — substitute, era, dynasty, generation
"""
@@
@@.answer
"""
年份 nin^^4^^fan^^6^^
some particular year
age, time
年 nin^^4^^ — year
份 fan^^6^^ — portion, part, share
"""
@@
@@.answer
"""
年前 nin^^4^^cin^^4^^
…years ago
年 nin^^4^^ — year
前 cin^^4^^ — in front, before
"""
@@
@@.answer
"""
年卅晚 nin^^4^^saa^^1^^maan^^5^^
Chinese New Year’s Eve
年 nin^^4^^/nian^^2^^ — year
卅 saa^^1^^/sa^^4^^ — thirty
晚 maan^^5^^/wan^^3^^ — night, late
"""
@@
@@.answer
"""
年級 nin^^4^^kap^^1^^
a grade, year (referring to rank) e.g. 一年級 first grade of school
年 nin^^4^^ — year
級 kap^^1^^ — level, rank, grade, class
"""
@@
@@.answer
"""
年輕人 nin^^4^^hing^^1^^jan^^4^^
華: young people, youngster
年 nin^^4^^ — year
輕 hing^^1^^ heng^^1^^ — light (in weight), slight, relaxed
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
幸福 hang^^6^^fuk^^1^^
happy, blissful, blessed
happiness, bliss, blessedness
幸 hang^^6^^/xing^^4^^ — lucky, fortunate, good fortune, rejoice
福 fuk^^1^^/fu^^2^^ — fortune, luck, happiness
"""
@@
@@.answer
"""
幾十年 gei^^2^^sap^^6^^nin^^4^^
several decades
幾 gei^^2^^ gei^^1^^ — how many, a few, –plus, nearly
十 sap^^6^^ — ten
年 nin^^4^^ — year
"""
@@
@@.answer
"""
幾年 gei^^2^^nin^^4^^
several years
幾 gei^^2^^ gei^^1^^ — how many, a few, –plus, nearly
年 nin^^4^^ — year
"""
@@
@@.answer
"""
幾年來 gei^^2^^nin^^4^^loi^^4^^
for the past several years
幾 gei^^2^^ gei^^1^^ — how many, a few, –plus, nearly
年 nin^^4^^ — year
來 loi^^4^^ — come, arrive, future
"""
@@
@@.answer
"""
幾點鐘 gei^^2^^dim^^2^^zung^^1^^
what time is it?; also: 幾點, more in 粵 than 華
幾 gei^^2^^ gei^^1^^ — how many, a few, –plus, nearly
點 dim^^2^^ — dot, point, drop, select, touch, instruct
鐘 zung^^1^^ — clock, time, hour, bell
"""
@@
@@.answer
"""
床鋪 cong^^4^^pou^^1^^
bedding, bed sheets, bed covers
床 cong^^4^^ — bed, couch
鋪 pou^^1^^ — spread out, pave, plank bed, (classifier)
"""
@@
@@.answer
"""
度 dou^^6^^ dok^^6^^ dou^^2^^ / du^^4^^, duo^^2^^
粵: dou^^6^^, 華: du^^4^^
a measure, degree, level, limit
rules, system, code of conduct
(of time) to spend, pass
(of frequency) time, occasion
粵: here, there, where
粵: classifier for door, bridge, etc
粵: dok^^6^^, 華: duo^^2^^
to take measurement, calculate
to estimate, guess, surmise
粵: to ask for a loan, borrow money
粵: dou^^2^^ — 粵: only
roughly, approximately, almost
喥 is a variant form for 粵–specific meanings
"""
@@
@@.answer
"""
度假 dou^^6^^gaa^^3^^
to go on holiday, go on a vacation
度 dou^^6^^ dok^^6^^ dou^^2^^ — measure, rules, estimate, roughly
假 gaa^^2^^ gaa^^3^^ — false, fake, suppose, if, borrow, holiday
"""
@@
@@.answer
"""
度度 dou^^6^^dou^^6^^
粵: everywhere
度 dou^^6^^ dok^^6^^ dou^^2^^ — measure, rules, estimate, roughly
"""
@@
@@.answer
"""
度橋 dok^^6^^kiu^^4*2^^
to devise a scheme or trick for a problem
度 dou^^6^^ dok^^6^^ dou^^2^^ — measure, rules, estimate, roughly
橋 kiu^^4^^ kiu^^2^^ — bridge, idea
"""
@@
@@.answer
"""
度水 dok^^6^^seoi^^2^^
to ask for a loan, to beg for money
度 dou^^6^^ dok^^6^^ dou^^2^^ — measure, rules, estimate, roughly
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
座位 zo^^6^^wai^^6*2^^
a seat
座 zo^^6^^ — seat, stand, base, pedestal
位 wai^^6^^ wai^^6*2^^ — position, rank, seat
"""
@@
@@.answer
"""
庸俗 jung^^4^^zuk^^6^^
filthy, vulgar, debased
庸 jung^^4^^/yong^^1^^ — mediocre, commonplace
俗 zuk^^6^^/su^^2^^ — custom, vulgar, common
"""
@@
@@.answer
"""
廁紙 ci^^3^^zi^^2^^
toilet paper, loo roll (Brit.)
廁 ci^^3^^ — toilet, lavatory, mingle with
紙 zi^^2^^ — paper
"""
@@
@@.answer
"""
廣州 gwong^^2^^zau^^1^^
Guangzhou (Canton), the capital of Guangdong province (廣東) in China
廣 gwong^^2^^ — broad, wide, vast, expand, spread
州 zau^^1^^ — administrative district in ancient China
"""
@@
@@.answer
"""
廣州話 gwong^^2^^zau^^1^^waa^^6*2^^
the cantonese language — whereas 廣東話 typically refers to the entire family of cantonese languages, 廣州話 often refers specifically to the dialect spoken in Guangzhou (Canton), which is also spoken in Hong Kong
廣 gwong^^2^^ — broad, wide, vast, expand, spread
州 zau^^1^^ — administrative district in ancient China
話 waa^^6^^ waa^^2^^ — word, talk, speak, language
"""
@@
@@.answer
"""
廣府話 gwong^^2^^fu^^2^^waa^^6*2^^
Cantonese language (also see 廣東話, 廣州話)
廣 gwong^^2^^ — broad, wide, vast, expand, spread
府 fu^^2^^ — seat of government
話 waa^^6^^ waa^^2^^ — word, talk, speak, language
"""
@@
@@.answer
"""
廣東話 gwong^^2^^dung^^1^^waa^^6*2^^ — the Cantonese language, originating in the 廣東 (Guangdong) region of China. Sometimes said to be an older dialect/language than Mandarin, Cantonese has more in common with Early Middle Chinese than Mandarin does
廣 gwong^^2^^ — broad, wide, vast, expand, spread
東 dung^^1^^ — east , host, master, owner, family name
話 waa^^6^^ waa^^2^^ — word, talk, speak, language
"""
@@
@@.answer
"""
廬山真面目 lou^^4^^saan^^1^^zan^^1^^min^^6^^muk^^6^^
the real appearance of a person or thing, true colours, true face //lit.// the real face of Mount Lu //syn.// 真面目
廬 lou^^4^^ — hut, cottage
山 saan^^1^^ — mountain, hill, peak
真 zan^^1^^ — true, real, factual
面 min^^6^^ — face, surface, top, side, aspect, extent
目 muk^^6^^ — eye
"""
@@
@@.answer
"""
龐大 pong^^4^^daai^^6^^
huge, enormous, tremendous in size
龐 pong^^4^^ — huge, disorderly, face
大 daai^^6^^ — big
"""
@@
@@.answer
"""
建議 gin^^3^^ji^^5^^
to suggest, proposal, to advise, advice
建 gin^^3^^/jian^^4^^ — build, construct, establish, propose
議 ji^^5^^/yi^^4^^ — discuss, opinion
"""
@@
@@.answer
"""
廿一點 jaa^^6^^jat^^1^^dim^^2^^
粵: blackjack (card game) //lit.// 21 dots
廿 jaa^^6^^ je^^6^^ nim^^6^^ — twenty, twentieth, twenty–odd
一 jat^^1^^ — one, a, same, whole, each, once, a little
點 dim^^2^^ — dot, point, drop, select, touch, instruct
"""
@@
@@.answer
"""
廿呀一 jaa^^6^^aa^^6^^jat^^1^^
粵: twenty–one //syn.// 二十一
廿 jaa^^6^^ je^^6^^ nim^^6^^ — twenty, twentieth, twenty–odd
呀 aa^^3^^ aa^^4^^ aa^^5^^ aa^^1^^ — final particle for softening abruptness
一 jat^^1^^ — one, a, same, whole, each, once, a little
"""
@@
@@.answer
"""
弊 bai^^6^^/bi^^4^^
a fraud, abuse, malpractice
a disadvantage, defect, drawback
"""
@@
@@.answer
"""
引 jan^^5^^ / yin^^3^^
to pull, attract
to guide
to introduce
to quote
to retire
to cause, make
a unit of length
"""
@@
@@.answer
"""
引力 jan^^5^^lik^^6^^
gravity, gravitational force
attraction
引 jan^^5^^ — pull, attract, guide
力 lik^^6^^ — strength, force, power
"""
@@
@@.answer
"""
引擎 jan^^5^^king^^4^^
an engine
引 jan^^5^^/yin^^3^^ yin^^4^^ — pull, attract, guide
擎 king^^4^^/qing^^2^^ — hold up
"""
@@
@@.answer
"""
弦 jin^^4^^ jyun^^4^^ / xian^^2^^
a string (of a bow)
the first and last quarters of the moon
a clock– or watch–spring
(maths) a chord, hypotenuse
(medicine) having rapid pulse
(name of a state)
粵: jin^^4^^ is the standard pronunciation, jyun^^4^^ a variant
"""
@@
@@.answer
"""
張 zoeng^^1^^
to stretch, open, spread
tense, strained
to magnify, exaggerate
to display, set out, show up
classifier for objects that are flat (paper, ticket, table) or stretchable (bow, mouth)
to look
"""
@@
@@.answer
"""
強壯 koeng^^4^^zong^^3^^
strong, robust
強 koeng^^4^^ koeng^^5^^ goeng^^6^^ — strong, compel, stubborn
壯 zong^^3^^ — strong, magnificent, strengthen
"""
@@
@@.answer
"""
強烈 koeng^^4^^lit^^6^^
strong, intense
強 koeng^^4^^ koeng^^5^^ goeng^^6^^/qiang^^2^^ qiang^^3^^ jiang^^4^^ — strong, compel, stubborn
烈 lit^^6^^/lie^^4^^ — intense, staunch, martyr, achievements
"""
@@
@@.answer
"""
彈 daan^^2^^ daan^^6^^ taan^^4^^ / dan^^4^^ tan^^2^^
粵: daan^^2^^; 華: dan^^4^^
a pellet, ball, bullet, bomb
粵: daan^^6^^; 華: tan^^2^^
to catapult, shoot off, flick, flip
to bounce, spring, leap
elasticity, spring, stretch
粵: taan^^4^^; 華: tan^^2^^
to pluck, strum, play (a musical instrument)
to accuse, criticise, attack in speech/writing
“pellet” (the most common meaning) is mostly used as the last syllable of a noun and read as daan^^2^^. Occasionally, however, it could be read as daan^^6^^ esp when placed not as the last syllable
"""
@@
@@.answer
"""
彩色 coi^^2^^sik^^1^^
a colour, multicoloured
彩 coi^^2^^ — colour, variety, lottery prize, applause
色 sik^^1^^ — colour
"""
@@
@@.answer
"""
彩蛋 coi^^2^^daan^^6*2^^
an easter egg, coloured egg, painted eggshell
彩 coi^^2^^ — colour, variety, lottery prize, applause
蛋 daan^^6^^ daan^^6*2^^ — egg
"""
@@
@@.answer
"""
彭 paang^^4^^ / peng^^2^^
a Chinese surname, part of placename
"""
@@
@@.answer
"""
影印機 jing^^2^^jan^^3^^gei^^1^^
a photocopier //syn.// 複印機
影 jing^^2^^ — shadow, image, reflection
印 jan^^3^^ — print, stamp, imprint
機 gei^^1^^ — machine
"""
@@
@@.answer
"""
影相 jing^^2^^soeng^^3*2^^
粵: to take a picture; to take a photograph; 華: 照相
影 jing^^2^^ — shadow; image; reflection
相 soeng^^1^^ soeng^^3^^ soeng^^3*2^^ — mutually; appearance; photo
"""
@@
@@.answer
"""
彼 bei^^2^^ / bi^^3^^
that, the other, another
the other party
"""
@@
@@.answer
"""
往往 wong^^5^^wong^^5^^
often, frequently
往 wong^^5^^ — go, head for, past, previous, toward
"""
@@
@@.answer
"""
往日 wong^^5^^jat^^6^^
former days, in the days past
往 wong^^5^^ — go, head for, past, previous, toward
日 jat^^6^^ — sun, day
"""
@@
@@.answer
"""
待 doi^^6^^ \ dai^^1^^,dai^^4^^
粵: doi^^6^^ 華: dai^^4^^
to wait for, await, need
to treat, entertain, deal with
粵: doi^^6^^ 華: dai^^1^^
to stay, wait
"""
@@
@@.answer
"""
很多 han^^2^^do^^1^^
華: a lot, much, many; 粵: 好多
很 han^^2^^ — very, much
多 do^^1^^ — many, much, more, more than
"""
@@
@@.answer
"""
後年 hau^^6^^nin^^4^^/4*^^2^^
the year after next
後 hau^^6^^ — behind, come after
年 nin^^4^^ — year
"""
@@
@@.answer
"""
後生女 hau^^6^^saang^^1^^neoi^^5*2^^
粵: a young girl
後 hau^^6^^ — behind, come after
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
女 neoi^^5^^ neoi^^2^^ — woman, daughter
"""
@@
@@.answer
"""
後退 hau^^6^^teoi^^3^^
to retreat, recession, backlash; 粵: 褪後
後 hau^^6^^ — behind, come after
退 teoi^^3^^ — move back, bow out
"""
@@
@@.answer
"""
後面 hau^^6^^min^^6^^
behind, in back; 粵: 後便
後 hau^^6^^ — behind, come after
面 min^^6^^ — face, surface, top, side, aspect, extent
"""
@@
@@.answer
"""
後頸 hau^^6^^geng^^2^^
a nape
後 hau^^6^^ — behind, come after
頸 geng^^2^^ — neck
"""
@@
@@.answer
"""
徒 tou^^4^^ / tu^^2^^
to be on foot, walk on foot
a disciple, apprentice, follower
[pejorative] a guy, fellow, gang
empty, bare, barehanded, unarmed
merely, only, futile, in vain
a prison sentence, imprisonment
"""
@@
@@.answer
"""
得㗎嘞 dak^^1^^gaa^^3^^laak^^3^^
粵: OK, okay, can do, will do, will suffice, enough, good enough, fine; implies no further input/work required; often used with 就, as in “就得㗎嘞”; 華: 好了, 行了; more often “得㗎喇”
得 dak^^1^^ — get, obtain, fit, finished, able to, must
㗎 gaa^^2^^ gaa^^3^^ gaa^^4^^ — final particle for making a strong assertion
嘞 laak^^3^^ — finally, surely
"""
@@
@@.answer
"""
得未呀 dak^^1^^mei^^6^^aa^^3^^
粵: is it ready yet? positive answer “得嘞”, negative answer “未得”
得 dak^^1^^ — get, obtain, fit, finished, able to, must
未 mei^^6^^ — not yet, not
呀 aa^^3^^ aa^^4^^ aa^^5^^ aa^^1^^ — final particle for softening abruptness
"""
@@
@@.answer
"""
從前 cung^^4^^cin^^4^^
once upon a time; 粵: 舊時
從 cung^^4^^ sung^^1^^/cong^^2^^ — follow, engage in, from, entourage
前 cin^^4^^/qian^^2^^ jian^^3^^ — in front, before
"""
@@
@@.answer
"""
從命 cung^^4^^ming^^6^^
to obey an order, to comply, to do sb’s bidding, to do as requested
從 cung^^4^^ sung^^1^^ — follow, engage in, from, entourage
命 ming^^6^^ meng^^6^^ — life, destiny, order
"""
@@
@@.answer
"""
從實招來 cung^^4^^sat^^6^^ziu^^1^^loi^^4^^
tell me the truth
從 cung^^4^^ sung^^1^^ — follow, engage in, from, entourage
實 sat^^6^^ — solid, true
招 ziu^^1^^ — beckon, recruit, confess, attract, trick
來 loi^^4^^ — come, arrive, future
"""
@@
@@.answer
"""
從考 cung^^4^^haau^^2^^
retest
從 cung^^4^^ sung^^1^^ — follow, engage in, from, entourage
考 haau^^2^^ — examine, test, check, inspect, consider
"""
@@
@@.answer
"""
復合 fuk^^6^^hap^^6^^
to reunite, get together again (after a dispute)
復 fuk^^6^^ — recover, revenge
合 hap^^6^^ ho^^4^^ gap^^3^^ — close, join, whole, suit, add up to
"""
@@
@@.answer
"""
循例 ceon^^4^^lai^^6^^
to do according to usual practice or routine, follow a precedent
循 ceon^^4^^ — follow, abide by, comply with
例 lai^^6^^ — example, precedent, regulation, routine
"""
@@
@@.answer
"""
微風 mei^^4^^fung^^1^^
a breeze, light wind
微 mei^^4^^ — minute, tiny, humble, profound, slightly
風 fung^^1^^ fung^^3^^ — wind
"""
@@
@@.answer
"""
心思思 sam^^1^^si^^1^^si^^1^^
to long for something or someone
心 sam^^1^^ — heart
思 si^^1^^ si^^3^^ soi^^1^^ — think, consider, long for, thinking, feeling
"""
@@
@@.answer
"""
心悒 sam^^1^^ap^^1^^
depressed, deeply saddened
心 sam^^1^^ — heart
悒 — (not in database)
"""
@@
@@.answer
"""
心態 sam^^1^^taai^^3^^
mindset, mentality, psychology, state of mind, mental attitude
心 sam^^1^^ — heart
態 taai^^3^^ — appearance, form, attitude, situation
"""
@@
@@.answer
"""
心知肚明 sam^^1^^zi^^1^^tou^^5^^ming^^4^^
to know in one’s heart, to fully understand, to not need to think further (about which course of action to take) //lit.// heart knows belly understands; implies: if we know something to be true, that is sufficient
心 sam^^1^^ — heart
知 zi^^1^^ zi^^3^^ — know, knowledge, inform
肚 tou^^5^^ — belly, stomach
明 ming^^4^^ — bright, clear
"""
@@
@@.answer
"""
心臟疾病 sam^^1^^zong^^6^^zat^^6^^beng^^6^^
heart disease
心 sam^^1^^/xin^^1^^ — heart
臟 zong^^6^^/zang^^4^^ — internal organs of the body
疾 zat^^6^^/ji^^2^^ — disease, ache, hate, swift
病 beng^^6^^ bing^^6^^/bing^^4^^ — sick, ill, defect, fault
"""
@@
@@.answer
"""
心臟病發作 sam^^1^^zong^^6^^beng^^6^^faat^^3^^zok^^3^^
a heart attack //syn.// 心臟病發
心 sam^^1^^ — heart
臟 zong^^6^^ — internal organs of the body
病 beng^^6^^ bing^^6^^ — sick, ill, defect, fault
發 faat^^3^^ — send out, launch, generate, trigger off
作 zok^^3^^ — make, write, regard as
"""
@@
@@.answer
"""
心裡 sam^^1^^leoi^^5^^
in one’s heart, heart and mind
心 sam^^1^^/xin^^1^^ — heart
裡 leoi^^5^^ lei^^5^^/li^^3^^ li^^5^^ — variant of 裏
"""
@@
@@.answer
"""
心要熱, 頭要冷 sam^^1^^jiu^^3^^jit^^6^^tau^^4^^jiu^^3^^laang^^5^^
a warm heart and a cool head, approach things with a cool head and objective attitude and at the same time with passion //lit.// heart needs hot, head needs cold
心 sam^^1^^ — heart
要 jiu^^3^^ jiu^^1^^ — want, must, shall, important, demand, if
熱 jit^^6^^ — hot
頭 tau^^4^^ — head, first, chief
冷 laang^^5^^ laang^^5*1^^ — cold, cool, chilly
"""
@@
@@.answer
"""
心郁郁 sam^^1^^juk^^1^^juk^^1^^
eager to do something, to lust after something or someone
心 sam^^1^^ — heart
郁 juk^^1^^ — 粵: to move; 華: adorned, a surname
"""
@@
@@.answer
"""
心頭高 sam^^1^^tau^^4^^gou^^1^^
great expectations, to have expectations that are difficult to meet, expecting too much //lit.// heart head high
心 sam^^1^^ — heart
頭 tau^^4^^ — head, first, chief
高 gou^^1^^ — tall, high
"""
@@
@@.answer
"""
心願 sam^^1^^jyun^^6^^
a desire, goal
心 sam^^1^^/xin^^1^^ — heart
願 jyun^^6^^/yuan^^4^^ — wish, hope, desire
"""
@@
@@.answer
"""
必要 bit^^1^^jiu^^3^^
necessary, necessity, need
必 bit^^1^^ — surely, must
要 jiu^^3^^ jiu^^1^^ — want, must, shall, important, demand, if
"""
@@
@@.answer
"""
忌廉 gei^^6^^lim^^4*1^^
cream
忌 gei^^6^^/ji^^4^^ — envy, fear, avoid
廉 lim^^4^^/lian^^2^^ — honest and clean, integrity, cheap
"""
@@
@@.answer
"""
忍耐 jan^^2^^noi^^6^^
patience, forbearance
to exercise patience, restrain oneself
忍 jan^^2^^ — endure, suffer
耐 noi^^6^^ — endure, long time
"""
@@
@@.answer
"""
志願 zi^^3^^jyun^^6^^
an aspiration, wish, ideal, volunteer
志 zi^^3^^ — purpose, will, determination
願 jyun^^6^^ — wish, hope, desire
"""
@@
@@.answer
"""
忠實 zung^^1^^sat^^6^^
faithful
忠 zung^^1^^ — loyal, faithful
實 sat^^6^^ — solid, true
"""
@@
@@.answer
"""
忠言逆耳 zung^^1^^jin^^4^^jik^^6^^ji^^5^^
loyal advice jars on the ears (idiom)
忠 zung^^1^^ — loyal, faithful
言 jin^^4^^ — words, speech
逆 jik^^6^^ ngaak^^6^^ — disobey, counter
耳 ji^^5^^ — ear
"""
@@
@@.answer
"""
快脆 faai^^3^^ceoi^^3^^
to hurry up //syn.// 快啲; 華: 快點
quickly, hurriedly //var.// 快趣; 華: 趕快
快 faai^^3^^ — quick, fast, hurry
脆 ceoi^^3^^ — crisp, brittle
"""
@@
@@.answer
"""
快馬 faai^^3^^maa^^5^^
a post–horse //lit.// fast horse
快 faai^^3^^ — quick, fast, hurry
馬 maa^^5^^ — horse
"""
@@
@@.answer
"""
快點 faai^^3^^dim^^2^^
a bit faster
快 faai^^3^^ — quick, fast, hurry
點 dim^^2^^ — dot, point, drop, select, touch, instruct
"""
@@
@@.answer
"""
念念不忘 nim^^6^^nim^^6^^bat^^1^^mong^^4^^
to keep in mind constantly (idiom)
唸 nim^^6^^ — read out, attend school
不 bat^^1^^ — not, no, un–
忘 mong^^4^^ — forget, overlook, neglect
"""
@@
@@.answer
"""
怎 zam^^2^^ / zen^^3^^
why?, how?, what? //syn.// 如何
"""
@@
@@.answer
"""
怎樣做 zam^^2^^joeng^^6*2^^zou^^6^^
華: how to do sth., how to handle sth., how to manage sth. //syn.// 怎麼做, 怎麼辦, 怎辦, 怎麼搞, 怎麼幹, 怎樣辦; 粵: 點做, 點樣做
怎 zam^^2^^ — why?, how?, what?
樣 joeng^^6^^ joeng^^6*2^^ — shape, sample, type
做 zou^^6^^ — do, make
"""
@@
@@.answer
"""
怎辦 zam^^2^^baan^^6^^
華: how to do sth., how to handle sth., how to manage sth. //syn.// 怎麼做, 怎麼辦, 怎樣做, 怎麼搞, 怎麼幹, 怎樣辦; 粵: 點做, 點樣做
怎 zam^^2^^ — why?, how?, what?
辦 baan^^6^^ — manage, handle
"""
@@
@@.answer
"""
怎麼做 zam^^2^^mo^^1^^zou^^6^^
華: how to do sth., how to handle sth., how to manage sth. //syn.// 怎麼辦, 怎樣做, 怎辦, 怎麼搞, 怎麼幹, 怎樣辦; 粵: 點做, 點樣做
怎 zam^^2^^ — why?, how?, what?
麼 mo^^1^^ — (suffix)
做 zou^^6^^ — do, make
"""
@@
@@.answer
"""
怕人 paa^^3^^jan^^4^^
shy, a shy person
怕 paa^^3^^ — fear, dread, afraid of, perhaps
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
怕死 paa^^3^^sei^^2^^
cowardly //lit.// fearing death
怕 paa^^3^^ — fear, dread, afraid of, perhaps
死 sei^^2^^ — die, death, dead
"""
@@
@@.answer
"""
思想 si^^1^^soeng^^2^^
a thought, idea
思 si^^1^^ si^^3^^ soi^^1^^ — think, consider, long for, thinking, feeling
想 soeng^^2^^ — want, wish
"""
@@
@@.answer
"""
思春期 si^^1^^ceon^^1^^kei^^4^^
puberty, the period when teenagers think about sex //lit.// springtime thoughts [also] 青春期
思 si^^1^^ si^^3^^ soi^^1^^ — think, consider, long for, thinking, feeling
春 ceon^^1^^ — spring
期 kei^^4^^ — period of time, phase, expect
"""
@@
@@.answer
"""
思疑 si^^1^^ji^^4^^
to doubt, to suspect, doubt, suspicion
思 si^^1^^ si^^3^^ soi^^1^^/si^^1^^ si^^5^^ sai^^1^^ — think, consider, long for, thinking, feeling
疑 ji^^4^^/yi^^2^^ — doubt, suspect, doubtful, uncertain
"""
@@
@@.answer
"""
性別 sing^^3^^bit^^6^^
a gender
性 sing^^3^^ — nature, character, sex
別 bit^^6^^ — differentiate, category, other, take leave
"""
@@
@@.answer
"""
怨 jyun^^3^^ / yuan^^4^^
to resent, feel bitter, feel aggrieved
to blame, complain, rail
a hatred, enmity, resentment
"""
@@
@@.answer
"""
怨恨 jyun^^3^^han^^6^^
to resent, have a grudge against
a grudge, resentment, hatred
怨 jyun^^3^^ — resent, blame, hatred
恨 han^^6^^ — hate
"""
@@
@@.answer
"""
怪不得 gwaai^^3^^bat^^1^^dak^^1^^
華: no wonder; 粵: 唔怪得, 唔怪之得
怪 gwaai^^3^^ — strange, blame, find sth strange, monster
不 bat^^1^^ — not, no, un–
得 dak^^1^^ — get, obtain, fit, finished, able to, must
"""
@@
@@.answer
"""
怪誕 gwaai^^3^^daan^^3^^
funny, strange
怪 gwaai^^3^^/guai^^4^^ — strange, blame, find sth strange, monster
誕 daan^^3^^/dan^^4^^ — birthday, born
"""
@@
@@.answer
"""
恍惚 fong^^2^^fat^^1^^
absent–minded, in a trance
seemingly, vaguely, dimly //var.// 彷彿, 仿佛
恍 fong^^2^^ — seemingly, absent–minded, suddenly
惚 fat^^1^^ — absent–minded
"""
@@
@@.answer
"""
恐嚇 hung^^2^^haak^^3^^
to threaten
to menace; 粵: 嚇
to indimidate
恐 hung^^2^^ — fear, terrify
嚇 haak^^3^^ haa^^1^^ — frighten, threaten
"""
@@
@@.answer
"""
恤 seot^^1^^ / xu^^4^^
to sympathise, pity, feel for
to relieve, compensate, aid
粵: a shirt (transliteration)
For the “shirt” meaning, the alternative charcter 裇 (which exists in the HKSCS character set) is perhaps more appropriate, but is not in Big^^5^^
"""
@@
@@.answer
"""
恭 gung^^1^^ / gong^^1^^
respectful, reverent, deferential
"""
@@
@@.answer
"""
恭請 gung^^1^^cing^^2^^
to respectfully request
恭 gung^^1^^ — respectful, deferential
請 cing^^2^^ ceng^^2^^ — request, invite, hire
"""
@@
@@.answer
"""
您好 nei^^5^^hou^^2^^
華: hello, greetings (formal)
您 nei^^5^^ — you
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
"""
@@
@@.answer
"""
悲哀 bei^^1^^oi^^1^^
sorrowful, grieved; 粵: 凄涼
悲 bei^^1^^ — sorrowful, mournful, sad
哀 oi^^1^^ — grieved, mourn, pity
"""
@@
@@.answer
"""
悲酸 bei^^1^^syun^^1^^
bitter, grieved, sad
悲 bei^^1^^ — sorrowful, mournful, sad
酸 syun^^1^^ — sour
"""
@@
@@.answer
"""
情人 cing^^4^^jan^^4^^
a sweetheart, lover, soul mate //syn.// 心上人 , 戀人
情 cing^^4^^/qing^^2^^ — emotion, love, sentiment
人 jan^^4^^/ren^^2^^ — person, human being
"""
@@
@@.answer
"""
情侶酒店 cing^^4^^leoi^^5^^zau^^2^^dim^^3^^
a love hotel, hourly hotel, hourly rate hotel
情 cing^^4^^ — emotion, love, sentiment
侶 leoi^^5^^ — companion
酒 zau^^2^^ — wine, spirits
店 dim^^3^^ — shop
"""
@@
@@.answer
"""
情節 cing^^4^^zit^^3^^
華: a plot (of a film)
情 cing^^4^^ — emotion, love, sentiment
節 zit^^3^^ — festival, section, chastity, restrict
"""
@@
@@.answer
"""
情詩 cing^^4^^si^^1^^
a love poem
情 cing^^4^^ — emotion, love, sentiment
詩 si^^1^^ — poetry, poem, verse, ode
"""
@@
@@.answer
"""
惟 wai^^4^^ / wei^^2^^
but, though, nevertheless
only, alone, solely
thinking, thought, idea
"""
@@
@@.answer.
"""
惡夢 ok^^3^^mung^^6^^
a nightmare //syn.// 噩夢
惡 ok^^3^^ wu^^3^^ wu^^1^^ — evil, vice, bad, fierce, loathe, dislike
夢 mung^^6^^ — dream, wishful thinking
"""
@@
@@.answer
"""
惡鯁 ok^^3^^kang^^2^^
hard to swallow/stomach, yucky
difficult to cope with, difficult to deal with, hard to control, difficult to tackle (person, problem)
惡 ok^^3^^ wu^^3^^ wu^^1^^/e^^4^^ wu^^4^^ wu^^1^^ — evil, vice, bad, fierce, loathe, dislike
鯁 kang^^2^^ gang^^2^^/geng^^3^^ — choke on fishbone
"""
@@
@@.answer
"""
愁 sau^^4^^ / chou^^2^^
gloomy, distressed, grieved
to worry about, be anxious, be uneasy about
sadness, melancholy, sorrow
"""
@@
@@.answer
"""
愈 jyu^^6^^ / yu^^4^^
more and more, the more … the more …, increasingly //var.// 越
[literary] to surpass, exceed
愈 is also the simplified form of 癒
"""
@@
@@.answer
"""
意思 ji^^3^^si^^1/3^^
a meaning, interest, intention
意 ji^^3^^/yi^^4^^ — wish, meaning, expect
思 si^^1^^ si^^3^^ soi^^1^^/si^^1^^ si^^5^^ sai^^1^^ — think, consider, long for, thinking, feeling
"""
@@
[[elisa|https://youtu.be/R9V2wO79jlg]] <iframe height="10px" width="40px" src="music/20210729 愛・おぼえていますか elisa.m4a" frameborder="0"></iframe>
@@.answer
"""
愛人 oi^^3^^jan^^4^^
a spouse, husband, wife, sweetheart
愛 oi^^3^^/ai^^4^^ — love
人 jan^^4^^/ren^^2^^ — person, human being
"""
@@
@@.answer
"""
愛撫 oi^^3^^fu^^2^^
to show tender care for, to care for (affectionately)
愛 oi^^3^^/ai^^4^^ — love
撫 fu^^2^^/fu^^3^^ — console, nurture, caress
"""
@@
@@.answer
"""
感 gam^^2^^ / gan^^3^^
to feel, find, perceive, sense, respond to
an emotion, sensation
"""
@@
@@.answer
"""
愧 kwai^^3^^ / kui^^4^^
ashamed, conscience–stricken, abashed
to feel ashamed, to have a guilty conscience
"""
@@
@@.answer
"""
慄 leot^^6^^ / li^^4^^
to shiver or tremble with fear or cold
栗 is also a traditional character with a different meaning
"""
@@
@@.answer
"""
慌失失 fong^^1^^sat^^1^^sat^^1^^ — fearful, nervous, frantic, in a panic
慌 fong^^1^^ — panicky; flustered
失 sat^^1^^ — mistake; omission; lose; neglect
失 sat^^1^^ — mistake; omission; lose; neglect
"""
@@
@@.answer
"""
慘 caam^^2^^
miserable, wretched, pitiful, tragic
cruel, savage, merciless, brutal
disastrous, severe, crushing
dim, gloomy, dull
"""
@@
@@.answer
"""
慢慢行 maan^^6^^maan^^6*2^^haang^^4^^
粵: ”take it easy, take care“, wishing someone well when parting, doesn’t imply extended separation
慢 maan^^6^^ — slow, unhurried, supercilious, rude
行 hang^^4^^ haang^^4^^ hong^^4^^ hang^^6^^ — walk, circulate, line, trade, shop, conduct
"""
@@
@@.answer
"""
慢駛 maan^^6^^sai^^2^^
to drive slowly
慢 maan^^6^^/man^^4^^ — slow, unhurried, supercilious, rude
駛 sai^^2^^/shi^^3^^ — drive, sail
"""
@@
@@.answer
"""
慰 wai^^3^^ / wei^^4^^
to console, comfort, soothe, feel relieved
"""
@@
@@.answer
"""
慳家 haan^^1^^gaa^^1^^
a frugal person, frugal, thrifty
慳 haan^^1^^/qian^^1^^ — save, thrifty, miserly, lack
家 gaa^^1^^/jia^^1^^ — home, family, specialist
"""
@@
@@.answer
"""
慳錢 haan^^1^^cin^^4*2^^
粵: to save money (by limiting spending); 華: 省錢
慳 haan^^1^^ — save, thrifty, miserly, lack
錢 cin^^4^^ cin^^4*2^^ — cash, money, coins
"""
@@
@@.answer
"""
慶祝 hing^^3^^zuk^^1^^
to celebrate, celebration
慶 hing^^3^^/qing^^4^^ — celebrate, celebration
祝 zuk^^1^^/zhu^^4^^ — to pray for blessings
"""
@@
@@.answer
"""
憂 jau^^1^^ / you^^1^^
to worry, to look worried/troubled
sorrow, anxiety, distress
funeral arrangements for parents
"""
@@
@@.answer
"""
憂鬱 jau^^1^^wat^^1^^
sullen, melancholy
憂 jau^^1^^ — worry about, look worried, sorrow
鬱 wat^^1^^ — luxuriant, gloomy
"""
@@
@@.answer
"""
憐 lin^^4^^
to sympathise with, have pity/compassion for
to love tenderly, highly value sb, care for
"""
@@
@@.answer
"""
憤恨 fan^^5^^han^^6^^
embittered, resentful, to resent, to detest; 粵: 嬲
憤 fan^^5^^ — anger, indignation
恨 han^^6^^ — hate
"""
@@
@@.answer
"""
懂得 dung^^2^^dak^^1^^
to understand, know, grasp
懂 dung^^2^^ — understand
得 dak^^1^^ — get, obtain, fit, finished, able to, must
"""
@@
@@.answer
"""
應承 jing^^1^^sing^^4^^
to agree, promise, consent, pledge
應 jing^^1^^ jing^^3^^/ying^^1^^ ying^^4^^ — should, answer
承 sing^^4^^/cheng^^2^^ — continue, undertake, bear
"""
@@
@@.answer
"""
應當 jing^^1^^dong^^1^^
should, ought to
應 jing^^1^^ jing^^3^^ — should, answer
當 dong^^1^^ dong^^3^^ — work as, in charge, appropriate, regard as
"""
@@
@@.answer
"""
應許 jing^^3^^heoi^^2^^
a promise
應 jing^^1^^ jing^^3^^/ying^^1^^ ying^^4^^ — should, answer
許 heoi^^2^^/xu^^3^^ — allow, promise, praise, maybe, about
"""
@@
@@.answer
"""
應酬 jing^^3^^cau^^4^^
a social event, entertain
應 jing^^1^^ jing^^3^^/ying^^1^^ ying^^4^^ — should, answer
酬 cau^^4^^/chou^^2^^ — reward, remunerate, socialise with
"""
@@
@@.answer
"""
懵佬 mung^^2^^lou^^2^^
a fool, a stupid man
懵 mung^^2^^ — ignorant, muddled
佬 lou^^2^^ — guy, fellow, bloke, chap
"""
@@
@@.answer
"""
懵盛盛 mung^^2^^sing^^6^^sing^^6^^
stupid, muddle–headed, unable to think clearly
懵 mung^^2^^ — ignorant, muddled
盛 sing^^6^^ sing^^4^^ — flourishing, magnificent, fill, accommodate
"""
@@
@@.answer
"""
懶鬼 laan^^5^^gwai^^2^^
a lazy person //lit.// lazy ghost
懶 laan^^5^^ — lazy, listless
鬼 gwai^^2^^ — ghost, devil, dishonest, terrible
"""
@@
@@.answer
"""
懸崖 jyun^^4^^ngaai^^4^^
a precipice //syn.// 崖壁, 絕壁, 斷崖, 峭壁
懸 jyun^^4^^ — hang, suspend, outstanding
崖 ngaai^^4^^ — cliff, precipice
"""
@@
@@.answer
"""
戇直 zong^^3^^zik^^6^^
honest, straight, uncomplicated (person)
戇 ngong^^6^^ zong^^3^^/zhuang^^4^^ — stupid, idiotic, honest, blunt
直 zik^^6^^/zhi^^2^^ — straight, vertical, upright, outspoken
"""
@@
@@.answer
"""
成年 sing^^4^^nin^^4^^
an adult
成 sing^^4^^ seng^^4^^ — succeed, achieve, grow, one tenth, whole
年 nin^^4^^ — year
"""
@@
@@.answer
"""
成雙成對 sing^^4^^soeng^^1^^sing^^4^^deoi^^3^^
to form a pair, to form couples
成 sing^^4^^ seng^^4^^/cheng^^2^^ — succeed, achieve, grow, one tenth, whole
雙 soeng^^1^^/shuang^^1^^ — two, pair, double
成 sing^^4^^ seng^^4^^/cheng^^2^^ — succeed, achieve, grow, one tenth, whole
對 deoi^^3^^/dui^^4^^ — correct, answer, counter, face, opposite
"""
@@
@@.answer
"""
我係 ngo^^5^^hai^^6^^
粵: I am
我 ngo^^5^^ — I, me, my
係 hai^^6^^ — yes, it is, indeed, right, positive, to be
"""
@@
@@.answer
"""
我們自己 ngo^^5^^mun^^4^^zi^^6^^gei^^2/1^^
華: ourselves; 粵: 我哋自己
我 ngo^^5^^ — I, me, my
們 mun^^4^^ — indicates plurality
自 zi^^6^^ — self, private, personal
己 gei^^2^^ — oneself, one’s own
"""
@@
@@.answer
"""
我哋嘅 ngo^^5^^dei^^6^^ge^^3^^
粵: our, ours. 華: 我們的
我 ngo^^5^^ — I, me, my
哋 dei^^6^^ dei^^6*2^^ — somewhat, (plural/adverb suffix)
嘅 ge^^3^^ ge^^2^^ — adjective suffix, possessive/final particle
"""
@@
@@.answer
"""
我哋自己 ngo^^5^^dei^^6^^zi^^6^^gei^^2/1^^
粵: ourselves
我 ngo^^5^^ — I, me, my
哋 dei^^6^^ dei^^6*2^^ — somewhat, (plural/adverb suffix)
自 zi^^6^^ — self, private, personal
己 gei^^2^^ — oneself, one’s own
"""
@@
@@.answer
"""
我嘅 ngo^^5^^ge^^3^^
粵: my, mine; 華: 我的
我 ngo^^5^^ — I, me, my
嘅 ge^^3^^ ge^^2^^ — adjective suffix, possessive/final particle
"""
@@
@@.answer
"""
我等 ngo^^5^^dei^^6^^, ngo^^5^^dang^^2^^
ngo^^5^^dei^^6^^
we, us; commonly 我哋
ngo^^5^^dang^^2^^
[古] we, us
我 ngo^^5^^ — I, me, my
等 dang^^2^^ ting^^3^^ ting^^2^^ dei^^6^^ — wait, allow, rank, equal, etc., plur., type
"""
@@
@@.answer
"""
我自己 ngo^^5^^zi^^6^^gei^^2^^
myself
我 ngo^^5^^ — I, me, my
自 zi^^6^^ — self, private, personal
己 gei^^2^^ — oneself, one’s own
"""
@@
@@.answer
"""
戥 dang^^6^^ dang^^2^^ / deng^^3^^
粵: dang^^6^^
for (a person); 華: 替, 為
to hold in balance
to join in (fun)
粵: dang^^2^^ 華: deng^^3^^
a small steelyard–like scale for weighing gold, herbs, etc.
"""
@@
@@.answer
"""
戰績 zin^^3^^zik^^1^^
military successes, combat gains
戰 zin^^3^^ — war, fight, battle, shiver
績 zik^^1^^ zek^^3^^ — achievement, accomplishment, merit
"""
@@
@@.answer
"""
戲劇化 hei^^3^^kek^^6^^faa^^3^^
dramatic, to be dramatic
戲 hei^^3^^/xi^^4^^ — movie, drama, play, show, tease
劇 kek^^6^^/ju^^4^^ — theatrical work, acute
化 faa^^3^^/hua^^4^^ — change, melt, –ise, –ify
"""
@@
@@.answer
"""
戴 daai^^3^^ / dai^^4^^
to wear, put on (accessories)
to respect, support
a surname
"""
@@
@@.answer
"""
房子 fong^^4^^zi^^2^^
書: a house, apartment, flat, dwelling, residence; 粵: 屋, 屋企
(less used in N China) a room
房 fong^^4^^ fong^^4*2^^ — room, house
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
房屋 fong^^4^^uk^^1^^
a house, housing, building; 粵: 屋
房 fong^^4^^ fong^^4*2^^ — room, house
屋 uk^^1^^ — house
"""
@@
@@.answer
"""
房間 fong^^4^^gaan^^1^^
a room //syn.// 房 fong^^4*2^^ (esp. S. Chin.), 間, 屋子 (N. Chin.), 屋 (N. Chin.), 室
房 fong^^4^^ fong^^4*2^^ — room, house
間 gaan^^1^^ gaan^^3^^ — interval of time or space
"""
@@
@@.answer
"""
扁 bin^^2^^ pin^^1^^ / bian^^3^^,pian^^1^^
粵: bin^^2^^ 華: bian^^3^^
flat, flat–shaped
粵: pin^^1^^ 華: pian^^1^^
small (boat)
"""
@@
@@.answer
"""
手信 sau^^2^^seon^^3^^
a souvenir, a gift usually bought during a vacation that is given to someone
a gift brought to sb when first meeting them (usually is fruit, dessert, pastries and so on)
手 sau^^2^^ — hand
信 seon^^3^^ — honest, trust, letter, believe
"""
@@
@@.answer
"""
手勢 sau^^2^^sai^^3^^
a hand signal, gesture, sign,
skillful at anything involving hands (cooking, massage, etc),
to be lucky
手 sau^^2^^ — hand
勢 sai^^3^^ — power, situation, posture
"""
@@
@@.answer
"""
手多 sau^^2^^do^^1^^
to touch things when one should not
手 sau^^2^^ — hand
多 do^^1^^ — many, much, more, more than
"""
@@
@@.answer
"""
手工 sau^^2^^gung^^1^^
handwork, manual (not automatic)
手 sau^^2^^ — hand
工 gung^^1^^ — labour, work
"""
@@
@@.answer
"""
手指拗出唔拗入 sau^^2^^zi^^2^^aau^^2^^ceot^^1^^m^^4^^aau^^2^^jap^^6^^
to help outsiders and not insiders //lit.// fingers bend out not in
手 sau^^2^^ — hand
指 zi^^2^^ — finger, point to, refer to, depend on
拗 aau^^2^^ aau^^3^^ — bend or twist so as to break, obstinate
出 ceot^^1^^ — go out, show up, exceed, put up, produce
唔 m^^4^^ — not, no
拗 aau^^2^^ aau^^3^^ — bend or twist so as to break, obstinate
入 jap^^6^^ — enter
"""
@@
@@.answer
"""
手指指 sau^^2^^zi^^2^^zi^^2^^
to point at someone, to gesture with the finger as if to warn or lecture someone
手 sau^^2^^ — hand
指 zi^^2^^ — finger, point to, refer to, depend on
"""
@@
@@.answer
"""
手指罅疏 sau^^2^^zi^^3^^laa^^3^^so^^1^^
a big spender, sb. who squanders their money away //lit.// finger spacing wide //syn.// 洗腳唔抹腳, 大花筒, 大花灑; 華: 揮金如土, 揮霍無度
手 sau^^2^^ — hand
指 zi^^2^^ — finger, point to, refer to, depend on
罅 laa^^3^^ — crack
疏 so^^1^^ so^^3^^ — sparse, distant, scatter, dredge, hollow
"""
@@
@@.answer
"""
手氣 sau^^2^^hei^^3^^
luck, good fortune (at gambling)
手 sau^^2^^ — hand
氣 hei^^3^^ — gas, air, breath, anger
"""
@@
@@.answer
"""
手甲 sau^^2^^gaap^^3^^
a finger nail; also 手指甲
手 sau^^2^^ — hand
甲 gaap^^3^^ — first, top, grade A, armour, shell
"""
@@
@@.answer
"""
手續 sau^^2^^zuk^^6^^
formalities, red tape, procedure
手 sau^^2^^/shou^^3^^ — hand
續 zuk^^6^^/xu^^4^^ — continue, add, procedure
"""
@@
@@.answer
"""
手袖 sau^^2^^zau^^6^^
sleeves
手 sau^^2^^ — hand
袖 zau^^6^^ — sleeve
"""
@@
@@.answer
"""
手車 sau^^2^^ce^^1^^
a handcart
手 sau^^2^^ — hand
車 ce^^1^^ geoi^^1^^ — cart, vehicle, car
"""
@@
@@.answer
"""
手邊 sau^^2^^bin^^1^^
at hand, on hand, (readily) available
手 sau^^2^^/shou^^3^^ — hand
邊 bin^^1^^/bian^^1^^ — edge, nearby, border, side; 粵: which
"""
@@
@@.answer
"""
才子 coi^^4^^zi^^2^^
a talented male, a talented or brilliant person, a genius
才 coi^^4^^ — talent, natural abilities
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
扎手 zaat^^3^^sau^^2^^
華: thorny, difficult to handle
to prick the hand
扎 zaat^^3^^ — station, pierce, plunge into, struggle
手 sau^^2^^ — hand
"""
@@
@@.answer
"""
扐旗 fik^^6^^kei^^4^^
粵: to wave a flag
扐 fik^^6^^/ — wave (sth)
旗 kei^^4^^/qi^^2^^ — flag, banner
"""
@@
@@.answer
"""
打側身 daa^^2^^zak^^1^^san^^1^^
to turn to the side, to turn on the side
打 daa^^2^^ daa^^1^^ — hit, strike, dozen
側 zak^^1^^ — side, incline, slant
身 san^^1^^ — body, life, oneself
"""
@@
@@.answer
"""
打劫 daa^^2^^gip^^3^^
to rob
打 daa^^2^^ daa^^1^^/da^^3^^ da^^2^^ — hit, strike, dozen
劫 gip^^3^^/jie^^2^^ — rob, plunder, hijack
"""
@@
@@.answer
"""
打呵欠 daa^^2^^ho^^1^^him^^3^^
to yawn, yawning //syn.// 打哈欠; 粵: 打喊露 , 打喊路
打 daa^^2^^ daa^^1^^ — hit, strike, dozen
呵 ho^^1^^ ho^^2^^ — breathe out
欠 him^^3^^ — lack, want, owe, be behind with
"""
@@
@@.answer
"""
打壁球 daa^^2^^bik^^1^^kau^^4^^
to play squash
打 daa^^2^^ daa^^1^^/da^^3^^ da^^2^^ — hit, strike, dozen
壁 bik^^1^^ bek^^3^^/bi^^4^^ — wall
球 kau^^4^^/qiu^^2^^ — ball
"""
@@
@@.answer
"""
打字機 daa^^2^^zi^^6^^gei^^1^^
a typewriter
打 daa^^2^^ daa^^1^^ — hit, strike, dozen
字 zi^^6^^ — word, glyph
機 gei^^1^^ — machine
"""
@@
@@.answer
"""
打擾 daa^^2^^jiu^^2^^
to disturb, bother, trouble; 粵: 打攪; 華: 干擾
打 daa^^2^^ daa^^1^^ — hit, strike, dozen
擾 jiu^^2^^ jiu^^5^^ — disturb, harass, confusing, trespass
"""
@@
@@.answer
"""
打敗仗 daa^^2^^baai^^6^^zoeng^^3^^
to suffer a defeat, to lose a fight, to fall ill
打 daa^^2^^ daa^^1^^ — hit, strike, dozen
敗 baai^^6^^ — be defeated, to defeat
仗 zoeng^^3^^ zoeng^^6^^ — battle, weapons, rely on
"""
@@
@@.answer
"""
打柴 daa^^2^^caai^^4^^
to gather firewood; 粵: dead, of no further use, cannot be used
打 daa^^2^^ daa^^1^^ — hit, strike, dozen
柴 caai^^4^^ — firewood, faggot
"""
@@
@@.answer
"""
打爛齋缽 daa^^2^^laan^^6^^zaai^^1^^but^^3^^
to fail to maintain self–discipline, fail to follow through with one’s resolution //lit.// to break the (monk’s/nun’s) vegetarian bowl
打 daa^^2^^ daa^^1^^ — hit, strike, dozen
爛 laan^^6^^ — rotten, worn–out
齋 zaai^^1^^ — fast, vegetarian diet, room for study
缽 but^^3^^ — earthen bowl
"""
@@
@@.answer
"""
打球 daa^^2^^kau^^4^^
華: to play ball
打 daa^^2^^ daa^^1^^ — hit, strike; dozen
球 kau^^4^^ — ball
"""
@@
@@.answer
"""
打理 da^^2^^lei^^5^^
to take care of, prepare, manage, be in charge of; 華: 整理, 管理
打 daa^^2^^ daa^^1^^ — hit, strike, dozen
理 lei^^5^^ — reason, natural science, manage, heed
"""
@@
@@.answer
"""
打蛇隨棍上 daa^^2^^se^^4^^ceoi^^4^^gwan^^3^^soeng^^5^^
to exploit a situation to one’s advantage, to ask for something or something extra by seizing a particular opportunity //lit.// to hit a snake and it crawls up the stick
打 daa^^2^^ daa^^1^^ — hit, strike, dozen
蛇 se^^4^^ ji^^4^^ seu^^4^^ — snake
隨 ceoi^^4^^ — follow, come after, trace
棍 gwan^^3^^ — rod, scoundrel, swindle
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
"""
@@
@@.answer
"""
打躉 daa^^2^^dan^^2^^
//in toto//
打 daa^^2^^ daa^^1^^ — hit, strike, dozen
躉 dan^^2^^ — put down, pedestal, supporters
"""
@@
@@.answer
"""
打返轉頭 daa^^2^^faan^^1^^zyun^^3^^tau^^4^^
to turn back, to retrace one’s steps, to return (using the same route), to make a u–turn; 華: 走往回, 往回走, 掉頭走
打 daa^^2^^ daa^^1^^ — hit, strike, dozen
返 faan^^1^^ faan^^2^^ — return, go back
轉 zyun^^2^^ zyun^^3^^ — turn, transfer, revolve
頭 tau^^4^^ — head, first, chief
"""
@@
@@.answer
"""
托大腳 tok^^3^^daai^^6^^goek^^3^^
to flatter, to kiss ass; 華: 拍馬屁, 巴結
to carry a sedan chair; 華: 抬轎子
托 tok^^3^^ — hold in the palm, rely on, entrust
大 daai^^6^^ — big
腳 goek^^3^^ — foot, feet
"""
@@
@@.answer
"""
托手踭 tok^^3^^sau^^2^^zaang^^1^^
to refuse a request (for a favour), turn sb down flat, reject an instruction //lit.// support the elbow
托 tok^^3^^ — hold in the palm, rely on, entrust
手 sau^^2^^ — hand
踭 zaang^^1^^ — elbow, heel
"""
@@
@@.answer
"""
扭傷 nau^^2^^soeng^^1^^
a sprain, wrench (sense of twisting injury)
扭 nau^^2^^ — turn round, sprain, seize
傷 soeng^^1^^ — cut, injury, grief
"""
@@
@@.answer
"""
扭計 nau^^2^^gai^^3*2^^
to kick up a fuss (to try and get one’s way), be petulant
扭 nau^^2^^ — turn round, sprain, seize
計 gai^^3^^ — count, compute, plan, scheme, idea, meter
"""
@@
@@.answer
"""
扮靚 baan^^6^^leng^^3^^
to make oneself pretty, to get oneself “dolled up”
扮 baan^^6^^ baan^^3^^/ban^^4^^ — act as, dress up as, pretend
靚 leng^^3^^ leng^^1^^ zing^^6^^/liang^^4^^ jing^^4^^ — beautiful, pretty, nice, teenager
"""
@@
@@.answer
"""
扯火 ce^^2^^fo^^2^^
to get angry, to lose one’s temper, to insult or argue with someone
扯 ce^^2^^ — to leave, to pull, to tear, to chat
火 fo^^2^^ — fire
"""
@@
@@.answer
"""
扶 fu^^4^^ / fu^^2^^
to help sb up, support (with the hand), straighten up
to lean upon sth for support
to help, aid, assist
"""
@@
@@.answer
"""
扻 ham^^2^^ / zi^^4^^
a hole, pit
a bank, ridge
one of the Eight Trigrams
粵: to knock against, run against, to strike
nasal–stop alternant: 磕 hap^^6^^
"""
@@
@@.answer
"""
找 zaau^^2^^ / zhao^^3^^
to search/look for, seek, try to find
to give change (money), make up
粵: //syn.// 搵
"""
@@
@@.answer
"""
把 baa^^2^^/ba^^3^^,ba^^4^^
to grasp, seize, manipulate
a handle, hold, grip
a bundle, bunch
[classifier] for sth in a bunch with a handle, e.g. straw, flowers, key, knife, scissors, umbrella
[classifier] handful of (tears, sweat, earth, fire)
[classifier] for sth abstract, e.g. age, effort, efficiency
[prep] used before a direct object and a verb often carrying the sense of disposal; 粵: 將
to guard, watch, keep under surveillance
to chain, lock, hold in place
–odd, or so, more or less
sworn brotherhood (archaic)
"""
@@
@@.answer
"""
把守 baa^^2^^sau^^2^^
to keep guard, to stand guard; 粵: also 守住
把 baa^^2^^/ba^^3^^ — grasp, handle, bundle
守 sau^^2^^ sau^^3^^/shou^^3^^ shou^^4^^ — guard, look after, observe, remain
"""
@@
@@.answer
"""
把屁 baa^^2^^pei^^3^^
to do something that is pointless or without meaning
把 baa^^2^^ — grasp, handle, bundle
屁 pei^^3^^ — break wind, fart, buttocks
"""
@@
@@.answer
"""
把幾火 baa^^2^^gei^^2^^fo^^2^^
extremely angry, filled with rage
把 baa^^2^^ — grasp, handle, bundle
幾 gei^^2^^ gei^^1^^ — how many, a few, –plus, nearly
火 fo^^2^^ — fire
"""
@@
@@.answer
"""
把鬼 baa^^2^^gwai^^2^^
pointless, meaningless, useless, sheer waste of time
Often used in rhetorical questions
把 baa^^2^^ — grasp, handle, bundle
鬼 gwai^^2^^ — ghost, devil, dishonest, terrible
"""
@@
@@.answer
"""
抑或 jik^^1^^waak^^6^^
or (used in questions giving a choice); 華: //syn.// 還是; 粵: 定係
抑 jik^^1^^/yi^^4^^ — restrain, repress, curb
或 waak^^6^^/huo^^4^^ — or, perhaps, someone, slightly
"""
@@
@@.answer
"""
投 tau^^4^^ / tou^^2^^
to cast, throw, fling, toss, hurl, pitch
to plunge into, throw oneself into, join
to send, deliver, put in, drop
to fit in with, agree with, cater to
to project, produce, cast
"""
@@
@@.answer
"""
投訴 tau^^4^^sou^^3^^
to file or lodge a complaint, to sue
投 tau^^4^^/tou^^2^^ — cast, plunge into, send
訴 sou^^3^^/su^^4^^ — tell, accuse
"""
@@
@@.answer
"""
投資 tau^^4^^zi^^1^^
an investment, to invest
投 tau^^4^^/tou^^2^^ — cast, plunge into, send
資 zi^^1^^/zi^^1^^ — property, expenses, provide, endowment
"""
@@
@@.answer
"""
抗拒 kong^^3^^keoi^^5^^
to resist, defy, oppose
抗 kong^^3^^ — resist, combat, defy
拒 keoi^^5^^ — resist, refuse
"""
@@
@@.answer
"""
折 zit^^3^^, sit^^6^^/zhe^^2^^,she^^2^^,zhe^^1^^
zit^^3^^ & zhe^^2^^
to break, snap, fracture
to lose, suffer the loss of
a discount
to bend, twist, fold
to be convinced, be filled with admiration
to turn back, change direction
a scene (in a play), act
to convert into, amount to
sit^^6^^ & she^^2^^ — to lose money (in business)
zit^^3^^ & zhe^^1^^
to roll over, turn over
to pour water back and forth (between two containers)
"""
@@
@@.answer
"""
抨 ping^^1^^ ping^^4^^ paang^^1^^ / peng^^1^^
粵: ping^^1^^ ping^^4^^ 華: peng^^1^^
to impeach, censure, denounce
粵: paang^^1^^ — 粵: only
to drive someone out
"""
@@
@@.answer
"""
披肩 pei^^1^^gin^^1^^
a shawl, wrap, cape
shoulder–length (hair)
披 pei^^1^^ — drape over, hang down
肩 gin^^1^^ — shoulder
"""
@@
@@.answer
"""
披莎 pi^^1^^saa^^4^^
a pizza //var.// 披薩, 披薩餅 , 比薩, 比薩餅; 粵: 薄餅, 意大利薄餅
披 pei^^1^^/pi^^1^^ — drape over, hang down
莎 saa^^1^^ so^^1^^/sha^^1^^ suo^^1^^ — a name
"""
@@
@@.answer
"""
抬 toi^^4^^ / tai^^2^^
to raise, lift, elevate, carry, move, bear
"""
@@
@@.answer
"""
抱怨 pou^^5^^jyun^^3^^
to complain, to grumble
抱 pou^^5^^/bao^^4^^ — embrace, cherish
怨 jyun^^3^^/yuan^^4^^ — resent, blame, hatred
"""
@@
@@.answer
"""
抵押貸款 dai^^2^^aat^^3^^taai^^3^^fun^^2^^
a mortgage loan
抵 dai^^2^^/di^^3^^ — resist, offset, reach
押 aat^^3^^ aap^^3^^/ya^^1^^ — mortgage, detain, escort
貸 taai^^3^^/dai^^4^^ — lend, borrow, loan, shift responsibility
款 fun^^2^^/kuan^^3^^ — sum of money, pattern, entertain, section
"""
@@
@@.answer
"""
抹手毛巾 maat^^3^^sau^^2^^mou^^4^^gan^^1^^
a hand towel, handtowel
抹 maat^^3^^ mut^^3^^ mut^^6^^/ma^^1^^ mo^^3^^ mo^^4^^ — wipe, smear, daub
手 sau^^2^^/shou^^3^^ — hand
毛 mou^^4^^/mao^^2^^ — hair, fur, feathers
巾 gan^^1^^/jin^^1^^ — hankerchief, towel
"""
@@
@@.answer
"""
抽打 cau^^1^^daa^^2^^
to flog, lash, strap, whip
抽 cau^^1^^ — draw out, bud, pull open
打 daa^^2^^ daa^^1^^ — hit, strike, dozen
"""
@@
@@.answer
"""
拆檔 caak^^3^^dong^^3^^
to break up a partnership or relationship //lit.// to break stall
拆 caak^^3^^ — tear open, pull down
檔 dong^^3^^ dong^^2^^ — files, shelves, crosspiece, grade, stall
"""
@@
@@.answer
"""
拆開 caak^^3^^hoi^^1^^
to untwine, to untwist, demount, disassemble, unbraid, unpick sth
disassembly
拆 caak^^3^^ — tear open, pull down
開 hoi^^1^^ — open
"""
@@
@@.answer
"""
拉美 laai^^1^^mei^^5^^
an abbreviation for 拉丁美洲 Latin America
拉 laai^^1^^ laai^^6^^ laap^^6^^ — pull, drag, haul, lead, play, solicit, seize
美 mei^^5^^ — beautiful
"""
@@
@@.answer
"""
拋 paau^^1^^
to throw, cast, fling, toss, hurl
to abandon, desert, leave behind
to show, appear
to sell in large quantities and/or at low prices
"""
@@
@@.answer
"""
拋書包 paau^^1^^syu^^1^^baau^^1^^
to show off knowledge //lit.// to throw the school bag
拋 paau^^1^^/pao^^1^^ — throw, abandon
書 syu^^1^^/shu^^1^^ — book, writings
包 baau^^1^^/bao^^1^^ — wrap, package, bun
"""
@@
@@.answer
"""
拋生藕 paau^^1^^saang^^1^^ngau^^5^^
to ogle, to flirt //lit.// to throw raw lotus–root
拋 paau^^1^^/pao^^1^^ — throw, abandon
生 saang^^1^^ sang^^1^^/sheng^^1^^ — born, grow, life, alive, unripe
藕 ngau^^5^^/ou^^3^^ — lotus root
"""
@@
@@.answer
"""
拋錨 paau^^1^^naau^^4^^
anchored, to cast anchor, (of cars) get stuck midway
拋 paau^^1^^/pao^^1^^ — throw, abandon
錨 naau^^4^^ maau^^4^^/mao^^2^^ — anchor
"""
@@
@@.answer
"""
拍戲 paak^^3^^hei^^3^^
粵: to make a movie 華: 拍電影
拍 paak^^3^^ paak^^3*2^^ — clap, pat, strike
戲 hei^^3^^ — movie, drama, play, show, tease
"""
@@
@@.answer
"""
拍拖 paak^^3^^to^^1^^
courting, mating ritual, to have a romantic relationship with sb
to go out on a date
拖 is a reference to 拖船 in how a tugboat is connected to another ship
拍 paak^^3^^ paak^^3*2^^/pai^^1^^ — clap, pat, strike
拖 to^^1^^/tuo^^1^^ — drag, delay
"""
@@
@@.answer
"""
拍硬檔 paak^^3^^ngaang^^6^^dong^^3^^
to be cooperative
to work well together
拍 paak^^3^^ paak^^3*2^^/pai^^1^^ — clap, pat, strike
硬 ngaang^^6^^/ying^^4^^ — hard, stiff, strong, forcibly
檔 dong^^3^^ dong^^2^^/dang^^4^^ dang^^3^^ — files, shelves, crosspiece, grade, stall
"""
@@
@@.answer
"""
拎走 ning^^1^^/ling^^1^^zau^^2^^
to take away, seize //syn.// 粵: 攞走; 華: 取去, 拿走
takeaway (food) //syn.// 粵: 行街, 外賣; 華: 帶走
[also] 擰走
拎 ning^^1^^ ling^^1^^ — carry with a hand
走 zau^^2^^ — run, walk
"""
@@
@@.answer
"""
拖曳 to^^1^^jai^^6^^
to pull, drag, haul
拖 to^^1^^ — drag, delay
曳 jai^^5^^ jai^^4^^ jai^^6^^ — naughty, inferior, drag
"""
@@
@@.answer
"""
拗撬 aau^^3^^giu^^6^^
an argument
loanword from “argue”, usually used as a noun
拗 aau^^2^^ aau^^3^^/ao^^3^^ ao^^4^^ niu^^4^^ — bend or twist so as to break, obstinate
撬 giu^^6^^/qiao^^4^^ — pry open
"""
@@
@@.answer
"""
拗數 aau^^3^^sou^^3^^
to haggle
拗 aau^^2^^ aau^^3^^ — bend or twist so as to break, obstinate
數 sou^^3^^ sou^^2^^ sok^^3^^ — number, figure, several, count
"""
@@
@@.answer
"""
拗氣 aau^^3^^hei^^3^^
grumpy, stubborn
拗 aau^^2^^ aau^^3^^ — bend or twist so as to break, obstinate
氣 hei^^3^^ — gas, air, breath, anger
"""
@@
@@.answer
"""
拘 keoi^^1^^ / ju^^1^^
to adhere, capture, restrain
"""
@@
@@.answer
"""
拚 pun^^3^^ / pan^^4^^
to go all out, risk one’s life, act recklessly //syn.// 拼; 粵: pun^^3^^ is standard reading, pun^^2^^ is variant
"""
@@
@@.answer
"""
拳術 kyun^^4^^seot^^6^^
Chinese boxing
拳 kyun^^4^^ — fist, various forms of boxing
術 seot^^6^^ — art, skill, method, tactics
"""
@@
@@.answer
"""
拾 sap^^6^^ sip^^3^^ / shi^^2^^ she^^4^^
粵: sap^^6^^ 華: shi^^2^^
[1] pick up (from the ground), collect
[2] tidy up, put in order, repair
[3] ten [used for the numeral “十” on checks, banknotes, etc to avoid mistakes or alterations]
粵: sap^^6^^, sip^^3^^; 華: she^^4^^
ascend/go up in light steps
"""
@@
@@.answer
"""
指導 zi^^2^^dou^^6^^
to give directions, to guide, to direct, to show the way
指 zi^^2^^ — finger, point to, refer to, depend on
導 dou^^6^^ — lead, guide, instruct
"""
@@
@@.answer
"""
指揮臺 zi^^2^^fai^^1^^toi^^4^^
a podium (for an orchestral conductor) //lit.// conduct platform
指 zi^^2^^/zhi^^3^^ — finger, point to, refer to, depend on
揮 fai^^1^^/hui^^1^^ — wave, wield, shake, wipe off, command
臺 toi^^4^^/tai^^2^^ — terrace, platform, stand, Taiwan
"""
@@
@@.answer
"""
指教 zi^^2^^gaau^^3^^
to guide, to give advice, to advise
指 zi^^2^^/zhi^^3^^ — finger, point to, refer to, depend on
教 gaau^^3^^ gaau^^1^^/jiao^^4^^ jiao^^1^^ — teach, religion
"""
@@
@@.answer
"""
指甲 zi^^2^^gaap^^3^^
a nail (as in fingernail or toenail)
指 zi^^2^^ — finger, point to, refer to, depend on
甲 gaap^^3^^ — first, top, grade A, armour, shell
"""
@@
@@.answer
"""
指頭 zi^^2^^tau^^4^^
a finger; 粵: 手指
指 zi^^2^^ — finger, point to, refer to, depend on
頭 tau^^4^^ — head, first, chief
"""
@@
@@.answer
"""
按揭貸款 on^^3^^kit^^3^^taai^^3^^fun^^2^^
a mortgage loan
按 on^^3^^/an^^4^^ — press, shelve, comply with
揭 kit^^3^^/jie^^1^^ — raise, lift, expose
貸 taai^^3^^/dai^^4^^ — lend, borrow, loan, shift responsibility
款 fun^^2^^/kuan^^3^^ — sum of money, pattern, entertain, section
"""
@@
@@.answer
"""
挑 tiu^^1^^ / tiao^^1^^,tiao^^3^^
粵: tiu^^1^^ 華: tiao^^3^^
to poke, pick out, prick
to hold sth up with a pole
to provoke, incite, stir up, instigate
a rising stroke in a Chinese character
粵: tiu^^1^^ 華: tiao^^1^^
to carry things with a shoulder pole, shoulder pole with its load
to choose, choosy, pick, nit–pick
"""
@@
@@.answer
"""
挑剔 tiu^^1^^tik^^1^^
picky, choosy, fussy, nitpicking, fastidious, exacting; 粵: 揀擇, 腌尖
挑 tiu^^1^^ — poke, provoke, shoulder pole, choose
剔 tik^^1^^ — pick from, pick out, tick
"""
@@
@@.answer
"""
挑戰 tiu^^1^^zin^^3^^
to challenge, to throw down the gauntlet, to pick a fight
挑 tiu^^1^^/tiao^^3^^ tiao^^1^^ — poke, provoke, shoulder pole, choose
戰 zin^^3^^/zhan^^4^^ — war, fight, battle, shiver
"""
@@
@@.answer
"""
挖 waat^^3^^ waa^^1^^ / wa^^1^^
to dig, excavate, scoop, unearth
to discover, dig out, ferret out
粵: to scratch with fingernails
"""
@@
@@.answer
"""
挖角 waat^^3^^gok^^3^^
to lure away, to attract sb, to recruit talents from other corporations or businesses
挖 waat^^3^^ waa^^1^^/wa^^1^^ — dig
角 gok^^3^^/jiao^^3^^ jue^^2^^ — horn, corner, cape, dime, role, contend
"""
@@
@@.answer
"""
挨 aai^^1^^ / ai^^2^^,ai^^1^^
to lean against, close to, next to
to take turns doing sth, do sth one by one
挨 is also a variant of 捱 ngaai^^4^^ when the latter means “suffer” or “delay”
"""
@@
@@.answer
"""
挨餓 ngaai^^4^^ngo^^6^^
to go hungry, be starved, suffer from hunger, go without food
挨 aai^^1^^/ai^^1^^ — lean against
餓 ngo^^6^^/e^^4^^ — hungry, starving
"""
@@
@@.answer
"""
捉住 zuk^^1^^zyu^^6^^
to nab, nobble, seize
捉 zuk^^1^^ zuk^^3^^ — grasp, catch
住 zyu^^6^^ — live, reside, stay
"""
@@
@@.answer
"""
捉到鹿唔識脫角 zuk^^1^^dou^^3*2^^luk^^6^^m^^4^^sik^^1^^tyut^^3^^gok^^3^^
to have a good opportunity but not know to grasp hold of it //lit.// caught the stag but don’t know how to remove antlers
捉 zuk^^1^^ zuk^^3^^ — grasp, catch
到 dou^^3^^ dou^^3*2^^ — arrive, go to
鹿 luk^^6^^ — deer, stag, doe
唔 m^^4^^ — not, no
識 sik^^1^^ zi^^3^^ — know, remember
脫 tyut^^3^^ — take off, remove, leave, omit
角 gok^^3^^ — horn, corner, cape, dime, role, contend
"""
@@
@@.answer
"""
捉字虱 zuk^^1^^zi^^6^^sat^^1^^
to be picky with words, put too much stress on wording or find fault with the choice of words //lit.// to pick flea word //syn.// 華: 摳字眼兒
捉 zuk^^1^^ zuk^^3^^ — grasp, catch
字 zi^^6^^ — word, glyph
虱 sat^^1^^ — louse
"""
@@
@@.answer
"""
捉弄 zuk^^1^^lung^^6^^
華: to tease, to make fun of; 粵: 整蠱, 撚化
捉 zuk^^1^^ zuk^^3^^ — grasp, catch
弄 lung^^6^^ — play with, manage, make fun of, alley, lane
"""
@@
@@.answer
"""
捉棋 zuk^^1^^kei^^4*2^^
to play or have a game of chess or //go//; 華: 下棋
捉 zuk^^1^^ zuk^^3^^ — grasp, catch
棋 kei^^4^^ kei^^4*2^^ — chess, chesspiece
"""
@@
@@.answer
"""
捏 nip^^6^^ / nie^^1^^
to pinch, hold with fingers
to knead, mould
to bring together
to fabricate, concoct, cook up
to clench
"""
@@
@@.answer
"""
捐山窿 gyun^^1^^saan^^1^^lung^^1^^
to go through a mountain
the name of a childen’s game
捐 gyun^^1^^/juan^^1^^ — donate, relinquish, taxes, burrow
山 saan^^1^^/shan^^1^^ — mountain, hill, peak
窿 lung^^1^^ lung^^4^^/long^^2^^ — hole, cavity
"""
@@
@@.answer
"""
捨得 se^^2^^dak^^1^^
to be willing to give up (something)
捨 se^^2^^/she^^3^^ — abandon, give up, give alms
得 dak^^1^^/de^^2^^ de^^5^^ dei^^3^^ — get, obtain, fit, finished, able to, must
"""
@@
@@.answer
"""
捱更抵夜 ngaai^^4^^gaang^^1^^dai^^2^^ye^^6^^
to stay up all night, to go to bed late and get up early
捱 ngaai^^4^^ — endure, drag out, delay
更 gang^^1^^ gaang^^1^^ gang^^3^^ ang^^3^^ — change, shift, further
抵 dai^^2^^ — resist, offset, reach
夜 je^^6^^ — night, dark, darkness
"""
@@
@@.answer
"""
捱麵包 ngaai^^4^^min^^6^^baau^^1^^
to be poor, to struggle to make a living //lit.// to survive on bread
"""
@@
@@.answer
"""
掃把 sou^^3^^baa^^2^^
a broom; 華: 掃帚
掃 sou^^3^^ sou^^3*2^^ — sweep, eliminate
把 baa^^2^^ — grasp, handle, bundle
"""
@@
@@.answer
"""
掃把星 sou^^3^^baa^^2^^sing^^1^^
a comet; formal: 彗星
a person who is, or an object which is, a harbinger of bad luck or disaster
//lit.// broom star
掃 sou^^3^^ sou^^3*2^^ — sweep, eliminate
把 baa^^2^^ — grasp, handle, bundle
星 sing^^1^^ — star
"""
@@
@@.answer
"""
掃興 sou^^3^^hing^^3^^
to be a spoilsport, to ruin an occasion, feel disappointed
掃 sou^^3^^ sou^^3*2^^ — sweep, eliminate
興 hing^^1^^ hing^^3^^ — start, popular, thriving, interest
"""
@@
@@.answer
"""
掉 diu^^6^^ deu^^6^^ zaau^^6^^ / diao^^4^^
粵: diu^^6^^ deu^^6^^ 華: diao^^4^^
to drop/fall down, lag behind
to lose, be missing
to turn, reverse
to decrease, decline
off, away (used to indicate removal and departure)
to change, exchange, swap
to swing, wag, shake
粵: zaau^^6^^
variant for 櫂
"""
@@
@@.answer
"""
掉下 diu^^6^^haa^^6^^
to drop down, to fall
掉 diu^^6^^ deu^^6^^ zaau^^6^^ — drop down, lose, turn
下 haa^^6^^ haa^^5^^ — under, lower, next, go down
"""
@@
@@.answer
"""
掏 tou^^4^^ / tao^^1^^
to fish out (from pocket), to scoop
"""
@@
@@.answer
"""
掏古井 tou^^4^^gu^^2^^zeng^^2^^
to marry a rich widow for her money
to have an affair with a rich older woman //lit.// to scour an ancient well
掏 tou^^4^^ — to fish out (from pocket), to scoop
古 gu^^2^^ — ancient, old, a surname
井 zeng^^2^^ zing^^2^^ — a well, neat, orderly
"""
@@
@@.answer
"""
排球 paai^^4^^kau^^4^^
volleyball
排 paai^^4^^ — put in order, row, platoon, discharge
球 kau^^4^^ — ball
"""
@@
@@.answer
"""
排骨仔 paai^^4^^gwat^^1^^zai^^2^^
a weakling, a skinny man or boy with no muscles //lit.// ribs son
排 paai^^4^^/pai^^2^^ — put in order, row, platoon, discharge
骨 gwat^^1^^/gu^^3^^ gu^^1^^ — bone, skeleton, framework
仔 zai^^2^^ zi^^2^^/zai^^3^^ zi^^1^^ — son, child
"""
@@
@@.answer
"""
掗 ngaa^^6^^ / ya^^4^^
to block, occupy
"""
@@
@@.answer
"""
掠 loek^^6^^ / lve^^4^^
to plunder, rob, pillage, loot, sack
to flit past, sweep across, skim over
to beat with a stick or whip
"""
@@
@@.answer
"""
探 taam^^3^^
to find, locate, search, prospect, feel (in a pocket or bag)
to watch, spy, a spy, detective, to investigate, a secret agent
to try, venture, tempt
to stick out
to explore
to visit, inquiry about
"""
@@
@@.answer
"""
探熱 taam^^3^^jit^^6^^
粵: to take a temperature; 華: 量體溫
探 taam^^3^^ — find, visit, spy
熱 jit^^6^^ — hot
"""
@@
@@.answer
"""
接 zip^^3^^ / jie^^1^^
to catch, take/get hold of
to receive, welcome, pick sb up
to connect, join, put together
to come close to, make contact with
to continue, go on, take over
"""
@@
@@.answer
"""
接吻 zip^^3^^man^^5^^
to kiss; 粵: 疼, 錫
接 zip^^3^^/jie^^1^^ — catch, receive, connect, come close to
吻 man^^5^^/wen^^3^^ — kiss, lip, coincide
"""
@@
@@.answer
"""
接生 zip^^3^^sang^^1^^
to deliver a baby, to be a midwife; 粵: 執仔
接 zip^^3^^ — catch, receive, connect, come close to
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
"""
@@
@@.answer
"""
接見 zip^^3^^gin^^3^^
to receive sb, to grant an interview
接 zip^^3^^ — catch, receive, connect, come close to
見 gin^^3^^ jin^^6^^ — see, meet, view, show evidence of
"""
@@
@@.answer
"""
接駁 zip^^3^^bok^^3^^
to access, to connect, to transfer passengers between two railway lines
接 zip^^3^^/jie^^1^^ — catch, receive, connect, come close to
駁 bok^^3^^/bo^^2^^ — refute, barge, variegated; 粵: link up
"""
@@
@@.answer
"""
控告 hung^^3^^gou^^3^^
to accuse, charge, sue, indict, prosecute
控 hung^^3^^ — control, accuse
告 gou^^3^^ guk^^1^^ — inform, proclaim, prosecute, ask for
"""
@@
@@.answer
"""
推 teoi^^1^^ / tui^^1^^
to push, shove, thrust
to promote, advance, push forward
to elect, recommend, praise highly
to decline, reject, refuse
to postpone, delay, put off
"""
@@
@@.answer
"""
推進 teoi^^1^^zeon^^3^^
to impel, to advance, to push forward, to give impetus to
推 teoi^^1^^/tui^^1^^ — push, promote, elect, decline, postpone
進 zeon^^3^^/jin^^4^^ — advance, enter, eat, present
"""
@@
@@.answer
"""
掩口費 jim^^2^^hau^^2^^fai^^3^^
hush money, a bribe given to keep someone quiet and not divulge information
//lit.// shut mouth fee
掩 jim^^2^^ — cover, shut, attack by surprise
口 hau^^2^^ — mouth
費 fai^^3^^ bei^^3^^ — fee, expenses, cost, spend, wasteful
"""
@@
@@.answer
"""
掯 kang^^3^^ / ken^^4^^
capable, competent, efficient
(of alcohol and tobacco) highly–flavoured, strong, pronounced
"""
@@
@@.answer
"""
揄 jyu^^4^^ / yu^^2^^
to lift, raise, draw
to praise, acclaim, laud
"""
@@
@@.answer
"""
提前 tai^^4^^cin^^4^^
to bring forward, to shift to an earlier time
earlier than expected //syn.// 提早 //ant.// 推遲
提 tai^^4^^/ti^^2^^ di^^1^^ — carry, lift, put forward, mention, withdraw
前 cin^^4^^/qian^^2^^ jian^^3^^ — in front, before
"""
@@
@@.answer
"""
提早 tai^^4^^zou^^2^^
in advance, ahead of time; 粵: 預早
提 tai^^4^^ — carry, lift, put forward, mention, withdraw
早 zou^^2^^ — early
"""
@@
@@.answer
"""
提議 tai^^4^^ji^^5^^
to propose, suggest, move
proposal, suggestion, motion
提 tai^^4^^/ti^^2^^ di^^1^^ — carry, lift, put forward, mention, withdraw
議 ji^^5^^/yi^^4^^ — discuss, opinion
"""
@@
@@.answer
"""
提起 tai^^4^^hei^^2^^
to mention, to speak of, to lift, to pick up, to arouse, to raise (a topic, a heavy weight, one’s fist, one’s spirits etc)
提 tai^^4^^ — carry, lift, put forward, mention, withdraw
起 hei^^2^^ — rise, stand up, begin, build, remove, draft
"""
@@
@@.answer
"""
提高 tai^^4^^gou^^1^^
to raise up
提 tai^^4^^ — carry, lift, put forward, mention, withdraw
高 gou^^1^^ — tall, high
"""
@@
@@.answer
"""
插旗 caap^^3^^kei^^4^^
to plant a flag, to claim territory
插 caap^^3^^ — insert, interpose, stab
旗 kei^^4^^ — flag, banner
"""
@@
@@.answer
"""
揗雞 tan^^4^^gai^^1^^
scared, get panicky, at a loss to know what to do //lit.// trembling chicken; 華: 驚惶失措
揗 tan^^4^^ — shiver, walk up and down
雞 gai^^1^^ — chicken
"""
@@
@@.answer
"""
換畫 wun^^6^^waa^^6*2^^
to change one’s lover frequently, to change into a new movie for showing, to change a boyfriend/girlfriend //lit.// change picture(movie)
換 wun^^6^^ — change, exchange, alter
畫 waak^^6^^ waa^^2^^ waa^^6^^ — draw, paint, drawing
"""
@@
@@.answer
"""
揭 kit^^3^^ / jie^^1^^
to raise, lift, hoist, take off
to expose, uncover, open, unmask
nasal–stop alternant: 掀 kin^^2^^
"""
@@
@@.answer
"""
揭盅 kit^^3^^zung^^1^^
to unveil, to announce results //lit.// to lift lid
揭 kit^^3^^ — raise, lift, expose
盅 zung^^1^^ — small cup
"""
@@
@@.answer
"""
揭穿 kit^^3^^cyun^^1^^
to expose, to uncover
揭 kit^^3^^ — raise, lift, expose
穿 cyun^^1^^ — penetrate, pierce, pass through, wear
"""
@@
@@.answer
"""
揮 fai^^1^^ / hui^^1^^
to wave, wield, shake, brandish
to wipe off, scatter, disperse
to command, direct, conduct
"""
@@
@@.answer
"""
揮春 fai^^1^^ceon^^1^^
粵: Spring Festival couplets, New Year scroll; 華: 春聯
揮 fai^^1^^ — wave, wield, shake, wipe off, command
春 ceon^^1^^ — spring
"""
@@
@@.answer
"""
揸 zaa^^1^^ / zha^^1^^
to pick up with fingers, grasp by hand
粵: to drive, to pilot
粵: to make a decision
粵: to hold
"""
@@
@@.answer
"""
揸車 zaa^^1^^ce^^1^^
粵: to drive a car; 華: 開車
揸 zaa^^1^^ — to drive, to pilot
車 ce^^1^^ geoi^^1^^ — cart, vehicle, car
"""
@@
@@.answer
"""
𢱕爛 dap^^6^^laan^^6^^
to smash into pieces
𢱕 dap^^6^^/ — beat, fall down, get wet
爛 laan^^6^^/lan^^4^^ — rotten, worn–out
"""
@@
@@.answer
"""
損 syun^^2^^ / sun^^3^^
to decrease, lose, diminish
to harm, damage, injure, hurt
to mock, satirise, sarcastic
"""
@@
@@.answer
"""
損害 syun^^2^^hoi^^6^^
to harm, to damage, to injure, to infringe
損 syun^^2^^ — decrease, harm, mock
害 hoi^^6^^ — harm, disadvantage, disaster, kill
"""
@@
@@.answer
"""
搏亂 bok^^3^^lyun^^6^^
to utilise a chaotic situation to take advantage of sb. //syn.// 搏懵;搏大霧。混水摸魚
搏 bok^^3^^/bo^^2^^ — fight, throb, pounce on
亂 lyun^^6^^/luan^^4^^ — disorderly, upset, indiscriminately
"""
@@
@@.answer
"""
搏命 bok^^3^^meng^^6^^
to risk one’s life, do something desperate or outrageous, put oneself in danger, to try very hard to, strive to; 華: 拚命
搏 bok^^3^^/bo^^2^^ — fight, throb, pounce on
命 ming^^6^^ meng^^6^^/ming^^4^^ — life, destiny, order
"""
@@
@@.answer
"""
搏大霧 bok^^3^^daai^^6^^mou^^6^^
to use circumstances to take advantage of sb. //syn.// 搏亂, 搏懵, 混水摸魚 //lit.// to chance the big fog
搏 bok^^3^^/bo^^2^^ — fight, throb, pounce on
大 daai^^6^^/da^^4^^ dai^^4^^ — big
霧 mou^^6^^/wu^^4^^ — fog, mist, fine spray
"""
@@
@@.answer
"""
搏殺 bok^^3^^saat^^3^^
to gamble, to take risks, to be willing to take risks
搏 bok^^3^^/bo^^2^^ — fight, throb, pounce on
殺 saat^^3^^/sha^^1^^ — kill, butcher, fight, abate, terribly
"""
@@
@@.answer
"""
搏老命 bok^^3^^lou^^5^^meng^^6^^
to put everything one has into something //lit.// to risk one’s old life
搏 bok^^3^^/bo^^2^^ — fight, throb, pounce on
老 lou^^5^^/lao^^3^^ — old, venerable
命 ming^^6^^ meng^^6^^/ming^^4^^ — life, destiny, order
"""
@@
@@.answer
"""
搖籃 jiu^^4^^laam^^4*2^^
a cradle
搖 jiu^^4^^/yao^^2^^ — wag, swing, wave, shake, rock
籃 laam^^4^^ laam^^4*2^^/lan^^2^^ — basket
"""
@@
@@.answer
"""
搜身 sau^^2^^san^^1^^
to frisk, search a person, make a body search
搜 sau^^2^^ — search, look for
身 san^^1^^ — body, life, oneself
"""
@@
@@.answer
"""
搞作 gaau^^2^^zok^^3^^
an action, movement
搞 gaau^^2^^ — carry on, set up
作 zok^^3^^ — make, write, regard as
"""
@@
@@.answer
"""
搞成噉 gaau^^2^^sing^^4^^gam^^2^^
粵: to do (sth) until it turned out like it has (usually a negative outcome)
搞 gaau^^2^^ — carry on, set up
成 sing^^4^^ seng^^4^^ — succeed, achieve, grow, one tenth, whole
噉 gam^^2^^ — such, like this, this way, in that case
"""
@@
@@.answer
"""
搣 mit^^1^^ / mie^^4^^
to pinch, pluck, pull out; 華: 捏
to peel off, tear apart //syn.// 擘
to snatch, grab (slang)
"""
@@
@@.answer
"""
搥 ceoi^^4^^ / chui^^2^^
to strike/beat with a hammer, thrash, pound
搥 has its noun counterpart in 槌
搥 is often used as a variant of 捶 although these two verbs differ in meaning
"""
@@
@@.answer
"""
搦 lik^^1^^ nik^^1^^ / nuo^^4^^
粵: to carry with a hand
to hold (a writing brush or spear)
nasal–stop alternant: 拎 ning^^1^^
"""
@@
@@.answer
"""
搬家 bun^^1^^gaa^^1^^
華: to move house; 粵: 搬屋
搬 bun^^1^^ — move, take away
家 gaa^^1^^ — home, family, specialist
"""
@@
@@.answer
"""
搭建 daap^^3^^gin^^3^^
to erect, put up, build
搭 daap^^3^^ — put up, travel by
建 gin^^3^^ — build, construct, establish, propose
"""
@@
@@.answer
"""
搭機 daap^^3^^gei^^1^^
embarcation, to take an airplane
搭 daap^^3^^ — put up, travel by
機 gei^^1^^ — machine
"""
@@
@@.answer
"""
搲銀 we^^2^^ngan^^4*2^^
to try to make a living through all kinds of methods
搲 waa^^2^^ we^^2^^/wa^^1^^ — scratch, seize, bare
銀 ngan^^4^^/yin^^2^^ — silver, currency
"""
@@
@@.answer
"""
摘要 zaak^^6^^jiu^^3^^
a summary, abstract
摘 zaak^^6^^/zhai^^1^^ — pick, select, scold
要 jiu^^3^^ jiu^^1^^/yao^^4^^ yao^^1^^ — want, must, shall, important, demand, if
"""
@@
@@.answer
"""
摙骨 lin^^2^^gwat^^1^^
粵: to massage
摙 lin^^2^^ lin^^5^^ — grip, challenge, tidy up
骨 gwat^^1^^ — bone, skeleton, framework
"""
@@
@@.answer
"""
摩打 mo^^1^^daa^^2^^
粵: a motor (as a loanword)
摩 mo^^1^^ — rub, stroke, emulate
打 daa^^2^^ daa^^1^^ — hit, strike; dozen
"""
@@
@@.answer
"""
摷 caau^^3^^,ziu^^6^^
caau^^3^^
to search for, look for //var.// 抄; 華: 找
ziu^^6^^
to beat up, thrash //syn.// 揍
"""
@@
@@.answer
"""
㨴開本書 kin^^2^^hoi^^1^^bun^^2^^syu^^1^^
粵: to open a book, flip pages in a book
㨴 kin^^2^^ — lift, flip
開 hoi^^1^^/kai^^1^^ — open
本 bun^^2^^/ben^^3^^ — basis, original, copy
書 syu^^1^^/shu^^1^^ — book, writings
"""
@@
@@.answer
"""
撕開 si^^1^^hoi^^1^^
to tear open
撕 si^^1^^/si^^1^^ — rip, tear
開 hoi^^1^^/kai^^1^^ — open
"""
@@
@@.answer
"""
撚 nan^^2^^ nin^^2^^/ nian^^3^^
粵: nan^^2^^
to play tricks, toy with, deceive
exquisite, delicate, of high quality
粵: nin^^2^^ 華: nian^^3^^
to squeeze/twist with fingers
to wick, spill
粵: nan^^2^^, lan^^2^^
the penis
撚 is sometimes used as a HK variant of 𨶙 lan^^2^^ (penis)
While being a simplified character of 撚, 捻 is also a traditional character with different pronunciation and meanings
"""
@@
@@.answer
"""
撚化 nan^^2^^faa^^3^^
to play a practical joke on sb, embarrass sb, make sb look foolish
撚 nan^^2^^ nin^^2^^ — play tricks, squeeze
化 faa^^3^^ — change, melt, –ise, –ify
"""
@@
@@.answer
"""
撚手 nan^^2^^sau^^2^^
handy, exquisite, delicate, of high quality
撚 nan^^2^^ nin^^2^^ — play tricks, squeeze
手 sau^^2^^ — hand
"""
@@
@@.answer
"""
撚手小菜 nan^^2^^sau^^2^^siu^^2^^coi^^3^^
good dishes (commonly advertised on the walls of hong kong chinese restaurants, especially small ones), (chef’s) speciality [also] 撚手菜; 華: 拿手菜
撚 nan^^2^^ nin^^2^^ — play tricks, squeeze
手 sau^^2^^ — hand
小 siu^^2^^ — small, tiny, little
菜 coi^^3^^ — vegetables, dish
"""
@@
@@.answer
"""
撞 zong^^6^^ / zhuang^^4^^
to bump against, run into, collide
to rush, dash, barge
to meet by chance, bump into, come across
to take one’s chance, try one’s luck
[nasal–stop alternant] 鑿 zok^^6^^
"""
@@
@@.answer
"""
撩交打 liu^^4^^gaau^^1^^daa^^2^^
to pick/start a fight, looking for a fight //syn.// 挑釁
撩 liu^^4^^ liu^^1^^ liu^^2^^ — tease, lift, stir
交 gaau^^1^^ — transfer, submit, join, intersect, exchange
打 daa^^2^^ daa^^1^^ — hit, strike, dozen
"""
@@
@@.answer
"""
撬 giu^^6^^ / qiao^^4^^
to prise up
to lure away, e.g. a girlfriend/boyfriend from their current partner, or an employee from his or her current employer
"""
@@
@@.answer
"""
撬開 giu^^6^^hoi^^1^^
to pry open, to lever open
撬 giu^^6^^/qiao^^4^^ — pry open
開 hoi^^1^^/kai^^1^^ — open
"""
@@
@@.answer
"""
撻沙 taat^^3^^saa^^1^^
a slipper, tonguesole, macau sole //var.// 撻沙魚
撻 taat^^3^^ taat^^1^^ — flog, forfeit, screw up, start (car)
沙 saa^^1^^ — sand
"""
@@
@@.answer
"""
擁 jung^^2^^ / yong^^1^^
to embrace, hug, hold in arms
to crowd around, throng, swarm
to support, uphold, endorse
to possess, own, have
"""
@@
@@.answer
"""
擁躉 jung^^2^^dan^^2^^
supporters, followers, admiring fans
擁 jung^^2^^/yong^^1^^ — embrace, crowd around, support, possess
躉 dan^^2^^/dun^^3^^ — put down, pedestal, supporters
"""
@@
@@.answer
"""
操心 cou^^1^^sam^^1^^
to bother, to worry about; 粵: also 霋氣
操 cou^^1^^ cou^^3^^/cao^^1^^ — grasp, operate, speak, drill, conduct
心 sam^^1^^/xin^^1^^ — heart
"""
@@
@@.answer
"""
操控 cou^^1^^hung^^3^^
to control, manipulate
操 cou^^1^^ cou^^3^^ — grasp, operate, speak, drill, conduct
控 hung^^3^^ — control, accuse
"""
@@
@@.answer
"""
擒 kam^^4^^/ qin^^2^^
華: to capture, catch, seize, arrest
粵: to climb
"""
@@
@@.answer
"""
擒青 kam^^4^^ceng^^1^^
in a hurry, hasty; 華: 急
擒 kam^^4^^/qin^^2^^ — 華: capture 粵: climb
青 ceng^^1^^ cing^^1^^/qing^^1^^ — green, young
"""
@@
@@.answer
"""
擔心 daam^^1^^sam^^1^^
to worry, fear for, feel anxious
擔 daam^^1^^ daam^^3^^/dan^^1^^ dan^^4^^ — carry, shoulder, load, burden
心 sam^^1^^/xin^^1^^ — heart
"""
@@
@@.answer
"""
擘 maak^^3^^ / bo^^4^^
粵: maak^^3^^
to tear apart, rip up, break off //syn.// 掰, 搣
to open (one’s eyes, mouth), spread (fingers), stretch (legs)
粵: maak^^3^^, 華: bo^^4^^
a thumb, outstanding person
"""
@@
@@.answer
"""
擘面 maak^^3^^min^^6^^
to be severed (of a relationship, partnership etc.)
擘 maak^^3^^/bo^^4^^ — tear apart, rip up, open
面 min^^6^^/mian^^4^^ — face, surface, top, side, aspect, extent
"""
@@
@@.answer
"""
擦膠 caat^^3^^gaau^^1^^ — 粵: rubber eraser (abbreviation of 擦紙膠)
擦 caat^^3^^ — rub, wipe
膠 gaau^^1^^ — glue, sticky, rubber, plastic
"""
@@
@@.answer
"""
擦菜板 caat^^3^^coi^^3^^baan^^2^^
a (vegetable) grater
擦 caat^^3^^ — rub, wipe
菜 coi^^3^^ — vegetables, dish
板 baan^^2^^ — plank, board
"""
@@
@@.answer
"""
擦藥 caat^^3^^joek^^6^^
to apply or spread on medication
擦 caat^^3^^ — rub, wipe
藥 joek^^6^^ — medicine
"""
@@
@@.answer
"""
擰走 ning^^1^^/ling^^1^^zau^^2^^
to take away, seize //syn.// 粵: 攞走; 華: 取去, 拿走
takeaway (food) //syn.// 粵: 行街, 外賣; 華: 帶走
[also written as]: 拎走
擰 ning^^6^^ — wring, twist, screw, turn around
走 zau^^2^^ — run, walk
"""
@@
@@.answer
"""
擴充 kong^^3^^cung^^1^^
used to describe additions or expansions in buildings
擴 kong^^3^^ kwong^^3^^/kuo^^4^^ — expand, enlarge, broaden
充 cung^^1^^/chong^^1^^ — to fill, full, pretend to be, serve as
"""
@@
@@.answer
"""
擸 laap^^3^^ / la^^4^^, lie^^4^^
to bring together, collect, grab
to glance at, browse through
to take strides
nasal–stop alternants: 攬 laam^^2^^, 覽 laam^^5^^, 𨈇 laam^^3^^
"""
@@
@@.answer
"""
擺上檯 baai^^2^^soeng^^6^^toi^^4*2^^
to lure someone into a trap, to make someone a scapegoat, to “set someone up” //lit.// put on (sacrificial) altar
擺 baai^^2^^/bai^^3^^ — lay, display, state clearly, wave
上 soeng^^6^^ soeng^^5^^/shang^^4^^ — upper, superior, preceding, up, on
檯 toi^^4*2^^/tai^^2^^ — table
"""
@@
@@.answer
"""
擺堆 baai^^2^^deoi^^1^^
to take a dump, defecate, crap //lit.// to arrange a heap
擺 baai^^2^^/bai^^3^^ — lay, display, state clearly, wave
堆 deoi^^1^^/dui^^1^^ — heap, pile, stack, mass
"""
@@
@@.answer
"""
擺明 baai^^2^^ming^^4^^
to be obvious
擺 baai^^2^^/bai^^3^^ — lay, display, state clearly, wave
明 ming^^4^^/ming^^2^^ — bright, clear
"""
@@
@@.answer
"""
擺款 baai^^2^^fun^^2^^
to show off one’s status or wealth, to be arrogant
擺 baai^^2^^/bai^^3^^ — lay, display, state clearly, wave
款 fun^^2^^/kuan^^3^^ — sum of money, pattern, entertain, section
"""
@@
@@.answer
"""
擺烏龍 baai^^2^^wu^^1^^lung^^4*2^^
to make a mistake, accidentally score against one’s own team
擺 baai^^2^^/bai^^3^^ — lay, display, state clearly, wave
烏 wu^^1^^/wu^^1^^ wu^^4^^ — crow, dark
龍 lung^^4^^/long^^2^^ — dragon
"""
@@
@@.answer
"""
攜帶 kwai^^4^^daai^^3^^
portable
to carry, to take along
粵: also 帶 daai^^3^^
攜 kwai^^4^^/xie^^2^^ — carry, take along, hold hand
帶 daai^^3^^ daai^^3*2^^/dai^^4^^ — belt, band, zone, bring
"""
@@
@@.answer
"""
攝青鬼 sip^^3^^ceng^^1^^gwai^^2^^
someone who acts in a secretive manner
攝 sip^^3^^ — take a photograph
青 ceng^^1^^ cing^^1^^ — green, young
鬼 gwai^^2^^ — ghost, devil, dishonest, terrible
"""
@@
@@.answer
"""
攣 lyun^^1^^ lyun^^4^^ / luan^^2^^
粵: lyun^^1^^ — 粵: only | //ant.// 直
curved, bended, crooked
(of hair) curly
[slang] gay, not straight
restless, disturbed
粵: lyun^^4^^; 華: luan^^2^^
to contract and become rigid (of muscle, etc)
"""
@@
@@.answer
"""
攣毛 lyun^^1^^mou^^4*1^^
粵: curly/wavy/crimped hair
攣 lyun^^1^^ lyun^^4^^ — curved, curly, gay, restless
毛 mou^^4^^ — hair, fur, feathers
"""
@@
@@.answer
"""
攤 taan^^1^^ / tan^^1^^
to spread out, unfold, unroll
to share, contribute, split the cost
a vendor’s stand, booth, stall
[classifier] pool, puddle (of water, mud, etc)
"""
@@
@@.answer
"""
攤牌 taan^^1^^paai^^4*2^^
to have a showdown, make a deal
(mahjong) to meld tiles
//lit.// lay one’s cards on the table
攤 taan^^1^^ — spread out, share, vendor’s stand
牌 paai^^4^^ — board, trademark, cards
"""
@@
@@.answer
"""
攪三攪四 gaau^^2^^saam^^1^^gaau^^2^^sei^^3^^
to behave badly, to get into trouble
攪 gaau^^2^^ — disturb, stir
三 saam^^1^^ saam^^3^^ — three, several
攪 gaau^^2^^ — disturb, stir
四 sei^^3^^ — four
"""
@@
@@.answer
"""
攪亂 gaau^^2^^lyun^^6^^
to confuse, mess up, throw into disorder
攪 gaau^^2^^ — disturb, stir
亂 lyun^^6^^ — disorderly, upset, indiscriminately
"""
@@
@@.answer
"""
攪攪震 gaau^^2^^gaau^^2^^zan^^3^^
to make trouble, to disturb
攪 gaau^^2^^ — disturb, stir
震 zan^^3^^ — shake, quake, greatly excited
"""
@@
@@.answer
"""
攬 laam^^2^^ laam^^5^^ laam^^6^^ / lan^^3^^
粵: laam^^2^^ laam^^5^^ 華: lan^^3^^
to embrace, hug, hold in one’s arms
to take on (task), take upon oneself, monopolise
to attract (talented people), solicit
粵: laam^^6^^ 華: lan^^3^^
to loop (scarf, belt, etc) around, fasten with a rope
粵: laam^^5^^ literary, laam^^2^^ colloquial
攬 laam^^2^^ and 擸 laap^^3^^ are one pair of nasal–stop alternants
"""
@@
@@.answer
"""
支 zi^^1^^/ zhi^^1^^
to prop up, erect, set up
to sustain, support, withstand
to protrude, raise, prick up
to branch, offshoot, subdivision
to separate, divide, dismember
to send away, dispatch, put sb off
to pay/draw (money), disburse
classifier for long, slender, inflexible objects (pen, toothpaste, pistol)
the twelve earthly branches
"""
@@
@@.answer
"""
收到風 sau^^1^^dou^^3^^fung^^1^^
to hear a rumour, to have received information, to get wind of something, get inside information or advice //lit.// to get wind
收 sau^^1^^ — receive, gather, collect
到 dou^^3^^ dou^^3*2^^ — arrive, go to
風 fung^^1^^ fung^^3^^ — wind
"""
@@
@@.answer
"""
收口 sau^^1^^hau^^2^^
to close up, heal, an impolite way of telling someone to be quiet, “shut up!”
收 sau^^1^^ — receive, gather, collect
口 hau^^2^^ — mouth
"""
@@
@@.answer
"""
收嗲 sau^^1^^de^^1^^
used to tell someone to be quiet or to leave, “shut up!”, “shut your mouth” //syn.// 收聲, 收皮
收 sau^^1^^ — receive, gather, collect
嗲 de^^2^^ de^^1^^ de^^4^^ — coquettish, chat, drip
"""
@@
@@.answer
"""
收工 sau^^1^^gung^^1^^
to come off work, to stop work for the day, to knock off, 粵–only //syn.// 放工, 華–only //syn.// 下班
收 sau^^1^^/shou^^1^^ shou^^4^^ — receive, gather, collect
工 gung^^1^^/gong^^1^^ — labour, work
"""
@@
@@.answer
"""
收得 sau^^1^^dak^^1^^
to be a success with the public, to be sought after (e.g. tickets for a show, film, exhibition, etc.), well–received
收 sau^^1^^ — receive, gather, collect
得 dak^^1^^ — get, obtain, fit, finished, able to, must
"""
@@
@@.answer
"""
收手 sau^^1^^sau^^2^^
to knock it off, hands off, stop doing sth, //lit.// to withdraw one’s hand
收 sau^^1^^ — receive, gather, collect
手 sau^^2^^ — hand
"""
@@
@@.answer
"""
收數 sau^^1^^sou^^3^^
to collect debts (on high–interest loans), debt collection
收 sau^^1^^ — receive, gather, collect
數 sou^^3^^ sou^^2^^ sok^^3^^ — number, figure, several, count
"""
@@
@@.answer
"""
收火 sau^^1^^fo^^2^^
to calm down, to simmer down, cool down, recompose
收 sau^^1^^ — receive, gather, collect
火 fo^^2^^ — fire
"""
@@
@@.answer
"""
收益 sau^^1^^jik^^1^^
earnings, profit
收 sau^^1^^/shou^^1^^ shou^^4^^ — receive, gather, collect
益 jik^^1^^/yi^^4^^ — increase, profit, benefit
"""
@@
@@.answer
"""
收穫 sau^^1^^wok^^6^^
results, gains, rewards
to harvest, reap, gather in
收 sau^^1^^ — receive, gather, collect
穫 wok^^6^^ — harvest
"""
@@
@@.answer
"""
收縮 sau^^1^^suk^^1^^
to shrink, to contract, to pull back
收 sau^^1^^/shou^^1^^ shou^^4^^ — receive, gather, collect
縮 suk^^1^^/suo^^1^^ — shrink, recoil
"""
@@
@@.answer
"""
收聲 sau^^1^^seng^^1^^
an impolite way of telling someone to keep quiet, “shut up!”; 華: 閉口, 住口
收 sau^^1^^ — receive, gather, collect
聲 sing^^1^^ seng^^1^^ — sound, voice, declare, fame
"""
@@
@@.answer
"""
收買人命 sau^^1^^maai^^5^^jan^^4^^meng^^6^^
“you could kill someone like that!” abuse shouted at someone who is putting others at risk, e.g. a careless driver
收 sau^^1^^ — receive, gather, collect
買 maai^^5^^ — buy, purchase
人 jan^^4^^ — person, human being
命 ming^^6^^ meng^^6^^ — life, destiny, order
"""
@@
@@.answer
"""
收買佬 sau^^1^^maai^^5^^lou^^2^^
someone who makes a living buying old household objects and repairing them for sale, scrap merchant
收 sau^^1^^ — receive, gather, collect
買 maai^^5^^ — buy, purchase
佬 lou^^2^^ — guy, fellow, bloke, chap
"""
@@
@@.answer
"""
收集 sau^^1^^zaap^^6^^
to collect, to gather
收 sau^^1^^/shou^^1^^ shou^^4^^ — receive, gather, collect
集 zaap^^6^^/ji^^2^^ — assemble, collect, gather
"""
@@
@@.answer
"""
改為 goi^^2^^wai^^4^^
instead
改 goi^^2^^/gai^^3^^ — change, revise, switch to
為 wai^^4^^ wai^^6^^/wei^^2^^ wei^^4^^ — do, act, serve as, be, for
"""
@@
@@.answer
"""
改變 goi^^2^^bin^^3^^
to change
改 goi^^2^^/gai^^3^^ — change, revise, switch to
變 bin^^3^^/bian^^4^^ — change, alter, accident, uncommon
"""
@@
@@.answer
"""
改進 goi^^2^^zeon^^3^^
to improve
改 goi^^2^^ — change, revise, switch to
進 zeon^^3^^ — advance, enter, eat, present
"""
@@
@@.answer
"""
改過 goi^^2^^gwo^^3^^
to correct, to fix
改 goi^^2^^/gai^^3^^ — change, revise, switch to
過 gwo^^3^^/guo^^4^^ guo^^5^^ — pass through, across
"""
@@
@@.answer
"""
攻勢 gung^^1^^sai^^3^^
an offensive, campaign, initiative, push
攻 gung^^1^^ — attack, raid, assault
勢 sai^^3^^ — power, situation, posture
"""
@@
@@.answer
"""
放假 fong^^3^^gaa^^3^^
to go on vacation, to take leave
放 fong^^3^^/fang^^4^^ — release, dismiss, put, let off, distribute
假 gaa^^2^^ gaa^^3^^/jia^^3^^ jia^^4^^ — false, fake, suppose, if, borrow, holiday
"""
@@
@@.answer
"""
放手 fong^^3^^sau^^2^^
to let go, to release, to let go one’s hold
to have a free hand, to have a free rein, to have //carte blanche//, to go all out, to have access to, to have leeway
放 fong^^3^^/fang^^4^^ — release, dismiss, put, let off, distribute
手 sau^^2^^/shou^^3^^ — hand
"""
@@
@@.answer
"""
放棄 fong^^3^^hei^^3^^
to give up, to give up on something, to abandon something, to throw away something useful
放 fong^^3^^/fang^^4^^ — release, dismiss, put, let off, distribute
棄 hei^^3^^/qi^^4^^ — throw away, discard, abandon
"""
@@
@@.answer
"""
故此 gu^^3^^ci^^2^^
for this reason, on this account
故 gu^^3^^/gu^^4^^ — former, reason, therefore, pass away, friend
此 ci^^2^^/ci^^3^^ — this, these, if so, thus
"""
@@
@@.answer
"""
效 haau^^6^^ / xiao^^4^^
an effect, result, efficacy
to devote, render service to
"""
@@
@@.answer
"""
效率 haau^^6^^leot^^6*2^^
efficiency
效 haau^^6^^/xiao^^4^^ — effect, devote
率 seot^^1^^ leot^^6*2^^/shuai^^4^^ lv^^4^^ — lead, command, rate
"""
@@
@@.answer
"""
救人 gau^^3^^jan^^4^^
to save a person
救 gau^^3^^/jiu^^4^^ — rescue, relieve
人 jan^^4^^/ren^^2^^ — person, human being
"""
@@
@@.answer
"""
教員 gaau^^3^^jyun^^4^^
a teacher, instructor
教 gaau^^3^^ gaau^^1^^ — teach, religion
員 jyun^^4^^ — personnel, staff, member
"""
@@
@@.answer
"""
教書 gaau^^3^^syu^^1^^
to teach
教 gaau^^3^^ gaau^^1^^ — teach, religion
書 syu^^1^^ — book, writings
"""
@@
@@.answer
"""
敝 bai^^6^^ / bi^^4^^
worn–out, ragged, tattered
waning, languishing, declining
[self–depreciatory] my, our, this
"""
@@
@@.answer
"""
散 saan^^3^^ saan^^2^^ / san^^3^^,san^^4^^
saan^^3^^ & san^^4^^
to disperse, scatter, break up
to distribute, disseminate, spread
to get rid of, remove, get over
as a verb, the nasal–ending syllable has a stop–ending synonym in 撒 saat^^3^^
saan^^2^^ & san^^3^^
undisciplined, unrestricted, slack
scattered, dissolved, broken up
a medicinal powder
"""
@@
@@.answer
"""
散修修 saan^^2^^sau^^1^^sau^^1^^
messy, in pieces, dismantled
散 saan^^3^^ saan^^2^^ — disperse, distribute, undisciplined
修 sau^^1^^ — decorate, repair, build, write, study, trim
"""
@@
@@.answer
"""
散銀 saan^^3*2^^ngan^^4*2^^
small change
散 saan^^3^^ saan^^2^^/san^^4^^ san^^3^^ — disperse, distribute, undisciplined
銀 ngan^^4^^/yin^^2^^ — silver, currency
"""
@@
@@.answer
"""
敬意 ging^^3^^ji^^3^^
a respect, tribute, compliments
敬 ging^^3^^/jing^^4^^ — respect, honour, esteem
意 ji^^3^^/yi^^4^^ — wish, meaning, expect
"""
@@
@@.answer
"""
敬稱 ging^^3^^cing^^1^^
an honorific, term of respect
敬 ging^^3^^ — respect, honour, esteem
稱 cing^^1^^ can^^3^^ cing^^3^^ — call, name, say, praise, fit, match
"""
@@
@@.answer
"""
整蠱 zing^^2^^gu^^2^^
to make fun of; 華: 捉弄
to trick, to frame, to wind up, to trap; 華: 陷害
prank; 華: 惡作劇
整 zing^^2^^/zheng^^3^^ — neat, tidy, whole, complete
蠱 gu^^2^^/gu^^3^^ — poison, contaminate
"""
@@
@@.answer
"""
敵人 dik^^6^^jan^^4^^
an enemy
敵 dik^^6^^ — enemy, hostile
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
敷衍 fu^^1^^hin^^2^^
to be perfunctory, to skimp (a task), to be apathetic
to treat sb. lightly/flippantly
to barely get by, to just manage
敷 fu^^1^^/fu^^1^^ — apply, spread, suffice
衍 jin^^2^^ hin^^2^^/yan^^3^^ — spread, breed
"""
@@
@@.answer
"""
數 sou^^3^^ sou^^2^^ sok^^3^^/shu^^4^^ shu^^3^^ shuo^^4^^
粵: sou^^3^^; 華: shu^^4^^
a number, figure, digit
several, a few, some
a fate, destiny, rule of nature
粵: sou^^2^^; 華: shu^^3^^
to count, enumerate, list
to be reckoned/counted as
to scold, rebuke
粵: sok^^3^^; 華: shuo^^4^^
[literary] frequently, repeatedly
"""
@@
@@.answer
"""
數口 sou^^3^^hau^^2^^
to be quick with figures, clever with numbers
a hard bargainer, someone who drives a hard bargain //lit.// number mouth
數 sou^^3^^ sou^^2^^ sok^^3^^ — number, figure, several, count
口 hau^^2^^ — mouth
"""
@@
@@.answer
"""
數尾 sou^^3^^mei^^5^^
money still owed, remainder of a loan not yet completely paid off //var.// 尾數
數 sou^^3^^ sou^^2^^ sok^^3^^ — number, figure, several, count
尾 mei^^5^^ — tail, rear, end, remnant
"""
@@
@@.answer
"""
數碼 sou^^3^^maa^^5^^
digital
數 sou^^3^^ sou^^2^^ sok^^3^^ — number, figure, several, count
碼 maa^^5^^ — numeral, symbol, yard (length)
"""
@@
@@.answer
"""
數碼光碟 sou^^3^^maa^^5^^gwong^^1^^dip^^6*2^^
a CD, digital compact disc
數 sou^^3^^ sou^^2^^ sok^^3^^ — number, figure, several, count
碼 maa^^5^^ — numeral, symbol, yard (length)
光 gwong^^1^^ — light, shine
碟 dip^^6^^ dip^^2^^ — dish, plate, disc, CD
"""
@@
@@.answer
"""
數碼影像 sou^^3^^maa^^5^^jing^^2^^zoeng^^6^^
a digitised image
數 sou^^3^^ sou^^2^^ sok^^3^^ — number, figure, several, count
碼 maa^^5^^ — numeral, symbol, yard (length)
影 jing^^2^^ — shadow, image, reflection
像 zoeng^^6^^ — portrait, resemble
"""
@@
@@.answer
"""
數碼攝錄機 sou^^3^^maa^^5^^sip^^3^^luk^^6^^gei^^1^^
a digital video camera
數 sou^^3^^ sou^^2^^ sok^^3^^ — number, figure, several, count
碼 maa^^5^^ — numeral, symbol, yard (length)
攝 sip^^3^^ — take a photograph
錄 luk^^6^^ — record, write down, hire, register
機 gei^^1^^ — machine
"""
@@
@@.answer
"""
數臭 sou^^2^^cau^^3^^
to list someone’s faults directly to their face, to scold, to “tell off” //lit.// to count shame
數 sou^^3^^ sou^^2^^ sok^^3^^ — number, figure, several, count
臭 cau^^3^^ — stinking, disgusting
"""
@@
@@.answer
"""
文字 man^^4^^zi^^6^^
writing, script
文 man^^4^^ man^^4*1^^ man^^6^^ — written language, literary, civilian
字 zi^^6^^ — word, glyph
"""
@@
@@.answer
"""
文房四寶 man^^4^^fong^^4*2^^sei^^3^^bou^^2^^
brush 筆, ink 墨, paper 紙 and inkstone 硯, the essentials of calligraphy and scholarship //lit.// the four treasures of the culture room
文 man^^4^^ man^^4*1^^ man^^6^^ — written language, literary, civilian
房 fong^^4^^ fong^^4*2^^ — room, house
四 sei^^3^^ — four
寶 bou^^2^^ — treasure, precious
"""
@@
@@.answer
"""
文明 man^^4^^ming^^4^^
civilised, civilisation
文 man^^4^^ man^^4*1^^ man^^6^^ — written language, literary, civilian
明 ming^^4^^ — bright, clear
"""
@@
@@.answer
"""
文言 man^^4^^jin^^4^^
classical chinese, literary chinese
文 man^^4^^ man^^4*1^^ man^^6^^ — written language, literary, civilian
言 jin^^4^^ — words, speech
"""
@@
@@.answer
"""
斜 ce^^3^^ ce^^4^^ / xie^^2^^
slanting, sloping, leaning, inclined, oblique, diagonal, tilted, askew; ce^^3^^ is a colloquial pronunciation in HK
"""
@@
@@.answer
"""
斜線 ce^^3^^sin^^3^^
a slash (punct.), diagonal line, slanting line, forward slash (comp.)
斜 ce^^4^^ ce^^3^^/xie^^2^^ — slanting, sloping
線 sin^^3^^/xian^^4^^ — thread, line
"""
@@
@@.answer
"""
斟水 zam^^1^^seoi^^2^^
粵: to pour out water
斟 zam^^1^^/zhen^^1^^ — pour, discuss
水 seoi^^2^^/shui^^3^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
新仔 san^^1^^zai^^2^^
a new recruit, a greenhorn (male)
新 san^^1^^ — new, novel, fresh, beginning
仔 zai^^2^^ zi^^2^^ — son, child
"""
@@
@@.answer
"""
新屎坑 san^^1^^si^^2^^haang^^1^^
a passing fad, new thing that cannot hold people’s interest long //lit.// new public toilet
this is the first part of a 歇後語 that has 三日香 as the second part //lit.// even a new public toilet smells good for the first three days
新 san^^1^^ — new, novel, fresh, beginning
屎 si^^2^^ — excrement, no good
坑 haang^^1^^ — pit, bury alive, entrap
"""
@@
@@.answer
"""
新年 san^^1^^nin^^4^^
New Year’s Day
the new year
新 san^^1^^ — new, novel, fresh, beginning
年 nin^^4^^ — year
"""
@@
@@.answer
"""
新年好 san^^1^^nin^^4^^hou^^2^^
“Happy New Year!”
新 san^^1^^ — new, novel, fresh, beginning
年 nin^^4^^ — year
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
"""
@@
@@.answer
"""
新牌 san^^1^^paai^^4^^
someone who has just passed their driving test
新 san^^1^^ — new, novel, fresh, beginning
牌 paai^^4^^ — board, trademark, cards
"""
@@
@@.answer
"""
新簇簇 san^^1^^cuk^^1^^cuk^^1^^
brand–new, completely new //var.// 簇新
新 san^^1^^ — new, novel, fresh, beginning
簇 cuk^^1^^ — cluster, pile, completely
"""
@@
@@.answer
"""
新血 san^^1^^hyut^^3^^
a new recruit
//lit.// fresh blood
新 san^^1^^ — new, novel, fresh, beginning
血 hyut^^3^^ — blood, blood relationship
"""
@@
@@.answer
"""
新高 san^^1^^gou^^1^^
a new high, a record high
新 san^^1^^ — new, novel, fresh, beginning
高 gou^^1^^ — tall, high
"""
@@
@@.answer
"""
新鮮 san^^1^^sin^^1^^
fresh
新 san^^1^^/xin^^1^^ — new, novel, fresh, beginning
鮮 sin^^1^^ sin^^2^^/xian^^1^^ xian^^3^^ — fresh, tasty, bright, rarely
"""
@@
@@.answer
"""
斷定 dyun^^3^^ding^^6^^
to come to a conclusion; 粵: 睇白
斷 tyun^^5^^ dyun^^6^^ dyun^^3^^/duan^^4^^ — break, cut off, judge, absolutely
定 ding^^6^^ deng^^6^^/ding^^4^^ — stable, decide, surely, order, deposit
"""
@@
@@.answer
"""
斷尾 tyun^^5^^mei^^5^^
to be over for good, to be definitively finished, to be completely cured, e.g. illness, relationships //lit.// to cut off the tail; 華: 斷根
斷 tyun^^5^^ dyun^^6^^ dyun^^3^^ — break, cut off, judge, absolutely
尾 mei^^5^^ — tail, rear, end, remnant
"""
@@
@@.answer
"""
斷癮 tyun^^5^^jan^^5^^
to escape an addiction
斷 tyun^^5^^ dyun^^6^^ dyun^^3^^ — break, cut off, judge, absolutely
癮 jan^^5^^ — addiction, habitual craving
"""
@@
@@.answer
"""
斷裂 tyun^^5^^lit^^6^^
to break and split, split
斷 tyun^^5^^ dyun^^6^^ dyun^^3^^ — break, cut off, judge, absolutely
裂 lit^^6^^ lit^^3^^ — split, break, crack
"""
@@
@@.answer
"""
斷送 dyun^^6^^sung^^3^^
to forfeit, wreck, ruin, lose for good
斷 tyun^^5^^ dyun^^6^^ dyun^^3^^ — break, cut off, judge, absolutely
送 sung^^3^^ — send, give, see sb off
"""
@@
@@.answer
"""
方形 fong^^1^^jing^^4^^
square, a square
方 fong^^1^^ — direction, angle
形 jing^^4^^ — form, shape, description
"""
@@
@@.answer
"""
日光日白 jat^^6^^gwong^^1^^jat^^6^^baak^^6^^
in broad daylight (used when something bad is done in the public eye)
日 jat^^6^^/ri^^4^^ — sun, day
光 gwong^^1^^/guang^^1^^ guang^^2^^ guang^^4^^ — light, shine
日 jat^^6^^/ri^^4^^ — sun, day
白 baak^^6^^/bai^^2^^ — white, clear, pure
"""
@@
@@.answer
"""
日文 jat^^6^^man^^4*2^^
the Japanese language; 華: pronounced as lv^^4^^wen^^4^^ in Taiwan
日 jat^^6^^ — sun, day
文 man^^4^^ man^^4*1^^ man^^6^^ — written language, literary, civilian
"""
@@
@@.answer
"""
日記 jat^^6^^gei^^3^^
a diary, blog
日 jat^^6^^ — sun, day
記 gei^^3^^ — keep in mind, remember, record
"""
@@
@@.answer
"""
日頭唔好講人, 夜晚唔好講鬼 jat^^6^^tau^^4*2^^m^^4^^hou^^2^^gong^^2^^jan^^4^^, je^^6^^maan^^5^^m^^4^^hou^^2^^gong^^2^^gwai^^2^^
used when someone one has been talking about or gossiping against appears, “speak of the devil (and he comes running)” //lit.// by day don’t talk about people, by night don’t talk about ghost
日 jat^^6^^/ri^^4^^ — sun, day
頭 tau^^4^^/tou^^2^^ tou^^5^^ — head, first, chief
唔 m^^4^^/wu^^2^^ — not, no
好 hou^^2^^ hou^^3^^/hao^^3^^ hao^^4^^ — good, very, friendly, healthy, ready
講 gong^^2^^/jiang^^3^^ — say, speak
人 jan^^4^^/ren^^2^^ — person, human being
夜 je^^6^^/ye^^4^^ yi^^4^^ — night, dark, darkness
晚 maan^^5^^/wan^^3^^ — night, late
鬼 gwai^^2^^/gui^^3^^ — ghost, devil, dishonest, terrible
"""
@@
@@.answer
"""
日食 jat^^6^^sik^^6^^
a solar eclipse
日 jat^^6^^ — sun, day
食 sik^^6^^ zi^^6^^ — eat, food
"""
@@
@@.answer
"""
早先 zou^^2^^sin^^1^^
華: earlier on, previously; 粵: 一早就
早 zou^^2^^ — early
先 sin^^1^^ — first, before, temporarily
"""
@@
@@.answer
"""
早唞 zou^^2^^tau^^2^^
粵: good night, take an early rest
drop dead, shut up, go away
早 zou^^2^^/zao^^3^^ — early
唞 tau^^2^^/tou^^3^^ — rest, catch one’s breath
"""
@@
@@.answer
"""
早安 zou^^2^^on^^1^^
華: good morning
早 zou^^2^^ — early
安 on^^1^^ — peaceful, stabilise, install, fabricate
"""
@@
@@.answer
"""
早知 zou^^2^^zi^^1^^
to know earlier; e.g. in “if only i’d known earlier i would have…”
早 zou^^2^^ — early@@.answer
知 zi^^1^^ zi^^3^^ — know; knowledge; inform
"""
@@
@@.answer
"""
旱地 hon^^5^^dei^^6^^
dry land
旱 hon^^5^^ — dry, arid, drought
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
"""
@@
@@.answer
"""
旺 wong^^6^^ / wang^^4^^
prosperous, flourishing, vigorous, popular
brilliant, bright, brisk (said of light, fires, etc.)
"""
@@
@@.answer
"""
昆蟲 kwan^^1^^cung^^4^^
insects
昆 kwan^^1^^ gwan^^1^^ — elder brother
蟲 cung^^4^^ — insect, worm
"""
@@
@@.answer
"""
明日 ming^^4^^jat^^6^^
tomorrow
明 ming^^4^^ — bright, clear
日 jat^^6^^ — sun, day
"""
@@
[[手嶌葵|https://youtu.be/r1HVp3GfyBY]] <iframe height="10px" width="40px" src="music/20210729 明日への手紙 手嶌葵.m4a" frameborder="0"></iframe>
@@.answer
"""
明早 ming^^4^^zou^^2^^
tomorrow morning //syn.// 明朝; 粵: 聽朝
明 ming^^4^^ — bright, clear
早 zou^^2^^ — early
"""
@@
@@.answer
"""
明朝 ming^^4^^ziu^^1^^/ciu^^4^^
tomorrow morning ming^^4^^ziu^^1^^ //syn.// 明早; 粵: 聽朝
Ming Dynasty ming^^4^^ciu^^4^^
明 ming^^4^^ — bright, clear
朝 ziu^^1^^ ciu^^4^^ — morning, face towards, dynasty
"""
@@
@@.answer
"""
明白 ming^^4^^baak^^6^^
to understand; 粵: also simply 明
clear, obvious, evident
明 ming^^4^^/ming^^2^^ — bright, clear
白 baak^^6^^/bai^^2^^ — white, clear, pure
"""
@@
@@.answer
"""
明確 ming^^4^^kok^^3^^
clear, definite, certain
明 ming^^4^^ — bright, clear
確 kok^^3^^ — sure, certain, real, true
"""
@@
@@.answer
"""
易過借火 ji^^6^^gwo^^3^^ze^^3^^fo^^2^^
too easy //lit.// easier than getting a light (for a cigarette, from another smoker)
易 ji^^6^^ jik^^6^^ — easy, change
過 gwo^^3^^ — pass through, across
借 ze^^3^^ — borrow, lend
火 fo^^2^^ — fire
"""
@@
@@.answer
"""
星期三 sing^^1^^kei^^4^^saam^^1^^
Wednesday //syn.// 禮拜三
星 sing^^1^^ — star
期 kei^^4^^ — period of time, phase, expect
三 saam^^1^^ saam^^3^^ — three, several
"""
@@
@@.answer
"""
星期尾 sing^^1^^kei^^4^^mei^^5^^
粵: the weekend; 華: 週末
星 sing^^1^^ — star
期 kei^^4^^ — period of time, phase, expect
尾 mei^^5^^ — tail, rear, end, remnant
"""
@@
@@.answer
"""
星辰 sing^^1^^san^^4^^
a star, stars
星 sing^^1^^ — star
辰 san^^4^^ — heavenly body, fortune
"""
@@
@@.answer
"""
春卷 ceon^^1^^gyun^^2^^
a spring roll (sometimes also called egg roll) — a fried roll featuring a light pastry wrap filled with minced vegetables and (optionally) meat — also seen written as 春捲
春 ceon^^1^^ — spring
卷 gyun^^2^^ kyun^^4^^ — volume, file, exam paper
"""
@@
@@.answer
"""
春捲 ceon^^1^^gyun^^2^^
a spring roll (sometimes also called egg roll), a fried roll featuring a light pastry wrap filled with minced vegetables and (optionally) meat; also seen written as 春卷
春 ceon^^1^^ — spring
捲 gyun^^2^^ — roll up, roll (food), sweep off, involve
"""
@@
@@.answer
"""
春節 ceon^^1^^zit^^3^^
華: Spring Festival, Chinese New Year
春 ceon^^1^^/chun^^1^^ chun^^3^^ — spring
節 zit^^3^^/jie^^2^^ jie^^1^^ — festival, section, chastity, restrict
"""
@@
@@.answer
"""
昨天 zok^^6^^tin^^1^^
華: yesterday //syn.// 昨日; 粵: 琴日, 尋日
昨 zok^^3^^ zok^^6^^ — yesterday
天 tin^^1^^ — sky, heaven
"""
@@
@@.answer
"""
昨日 zok^^6^^jat^^6^^
yesterday //syn.// 琴日, 尋日; 華: this is more bookish than 昨天
昨 zok^^3^^ zok^^6^^ — yesterday
日 jat^^6^^ — sun, day
"""
@@
@@.answer
"""
是不是 si^^6^^bat^^1^^si^^6^^
華: whether or not, is it or is it not?, to be or not to be si^^6^^bat^^1^^si^^6*2^^ (rhetorical) is it the case? isn’t it so? 粵: 係唔係, 係咪
是 si^^6^^ — is
不 bat^^1^^ — not, no, un–
"""
@@
@@.answer
"""
是嗎 si^^6^^maa^^3^^
華: “Is that so?”, “Really?”
是 si^^6^^ — is
嗎 maa^^1^^ — interrogative particle
"""
@@
@@.answer
"""
是麼 si^^6^^mo^^1^^
華: Is that so? Really?
是 si^^6^^ — is
麼 mo^^1^^ — (suffix)
"""
@@
<$details summary ="pitch">
f <<f4>>
</$details>
<$details summary ="kato tokiko">
[[kato tokiko|https://www.youtube.com/watch?v=4VYuzNJZ1vc]] <iframe height="10px" width="40px" src="music/20210606 時には昔の話を.m4a" frameborder="0"></iframe>
</$details>
<$details summary ="repun guitar">
repun guitar <iframe height="10px" width="40px" src="music/20210606 toki niwa mukashi no hanashi wo tokiko kato (cover)porco rosso.m4a" frameborder="0"></iframe>
</$details>
"""
translated makiaea 20100329, 20120121
時には昔の話をしようか
TOKIniwaMUKASHInoHANASHIwoshiyouka
once in a while, shall we talk about the old days?
通いなれた なじみのあの店
KAYOinareta najiminoanoMISE
that familiar shop we used to visit so often
マロニエの並木が窓辺に見えてた
maronienoNAMIKIgaMADOBEniMIeteta
you could see rows of chestnut trees from the window
コーヒーを一杯で一日
koohiiwoIPPAIdeICHI–NICHI
we’d pass each day with a cup of coffee
見えない明日を むやみにさがして
MIenaiASHITAwo muyaminisagashite
recklessly seeking an unseen tomorrow
誰もが希望をたくした
DAREmogaKI–BOUwotakushita
everyone entrusted their hopes
ゆれていた時代の熱い風にふかれて
yureteitaJI–DAInoATSUiKAZEnifukarete
blown by the hot wind of a restless era
体中で瞬間を感じた そうだね
KARADA–JUUdeTO–KIwoKANjita soudane
we felt the moment throughout our being; that’s how it was, wasn’t it?
道端で眠ったこともあったね
MICHI–BATAdeNEMUttakotomoattane
weren’t there times we slept by the roadside?
どこにも行けない みんなで
dokonimoYUkenai minnade
not going anywhere, everyone there
お金はなくても なんとか生きてた
oKANEwanakutemo nantokaIkiteta
though we had no money, we managed somehow
貧しさが明日を運んだ
MAZUshisagaASHITAwoHAKOnda
tomorrows carried by poverty
小さな下宿屋にいく人もおしかけ
CHIIsanaGE–SHOKU–YAniikuNINmooshikake
a number of us would intrude on a small lodgehouse
朝まで騒いで眠った
ASAmadeSAWAideNEMUtta
living it up til morning and then falling asleep
嵐のように毎日が燃えていた
ARASHInoyouniMAINICHIgaMOeteita
each day burning like a storm
息がきれるまで走った そうだね
IKIgakirerumadeHASHItta soudane
we ran until we had no more breath, isn’t that so?
一枚残った写真をごらんよ
ICHIMAI–NOKOttaSHA–SHINwogoranyo
look at that one remaining photograph
ひげづらの男は君だね
higezuranoOTOKOwaKIMIdane
the man sporting the moustache, isn’t that you?
どこにいるのか今ではわからない
dokoniirunokaIMAdewawakaranai
where you might be right now i do not know
友達もいく人かいるけど
TOMODACHImoikuNINgairukedo
a handful of our friends are here though
あの日のすべてが空しいものだと
anoHInosubetegaMUNAshiimonodato
that everything about those days was empty
それは誰にも言えない
sorewaDAREnimoIenai
that is something no–one can say
今でも同じように見果てぬ夢を描いて
IMAdemoONAJIyouniMI–HAtenuYUMEwoEGAite
even now painting those unfulfilled dreams just the same
走りつづけているよね どこかで
HASHIritsuzuketeiruyone dokokade
you continue to run don’t you? somewhere out there
"""
@@.answer
"""
時候 si^^4^^hau^^6^^
a (point in) time, moment
時 si^^4^^/shi^^2^^ — time
候 hau^^6^^/hou^^4^^ — wait, expect, period, time
"""
@@
@@.answer
"""
時嘜 si^^4^^mak^^1^^
粵: smart (as phonetic loanword)
時 si^^4^^ — time
嘜 mak^^1^^ maak^^1^^ — brand, mug
"""
@@
@@.answer
"""
時期 si^^4^^kei^^4^^
a period, time, age, phase
時 si^^4^^ — time
期 kei^^4^^ — period of time, phase, expect
"""
@@
@@.answer
"""
時間 si^^4^^gaan^^3^^; si^^4^^gaan^^1^^
si^^4^^gaan^^3^^ — a point in time, e.g. Greenwich time, arrival time, closing time
si^^4^^gaan^^1^^ — duration of time, e.g. an hour’s time, working time, wasting time
時 si^^4^^ — time
間 gaan^^1^^ gaan^^3^^ — interval of time or space
"""
@@
@@.answer
"""
晚上好 maan^^5^^soeng^^6^^hou^^2^^
‘good evening’ (greeting)
晚 maan^^5^^ — night, late
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
"""
@@
@@.answer
"""
晚安 maan^^5^^on^^1^^
‘good evening’ (formal greeting)
晚 maan^^5^^ — night, late
安 on^^1^^ — peaceful, stabilise, install, fabricate
"""
@@
@@.answer
"""
晚餐 maan^^5^^caan^^1^^
a dinner, supper, evening meal
晚 maan^^5^^ — night, late
餐 caan^^1^^ — meal, dine
"""
@@
@@.answer
"""
晦氣 fui^^3^^hei^^3^^
unlucky, bad luck
a pale and gloomy look
晦 fui^^3^^/hui^^4^^ — obscure, dark, night
氣 hei^^3^^/qi^^4^^ — gas, air, breath, anger
"""
@@
@@.answer
"""
普洱 pou^^2^^nei^^5*2^^
a type of tea, Pu’er city in Yunnan
普 pou^^2^^/pu^^3^^ — universal, general
洱 ji^^5^^ nei^^5*2^^/er^^3^^ — name of a lake and sea in Yunnan
"""
@@
@@.answer
"""
景轟 ging^^2^^gwang^^1*2^^
a hidden motive, ulterior motive; 華: 蹊蹺之事, 曖昧的事
景 ging^^2^^/jing^^3^^ — view, situation, setting, admire
轟 gwang^^1^^/hong^^1^^ — bang, boom, bombard, shoo away, grand
"""
@@
@@.answer
"""
晴天 cing^^4^^tin^^1^^
a clear sky, sunny sky; 華: fine day
晴 cing^^4^^ — fine (weather)
天 tin^^1^^ — sky, heaven
"""
@@
@@.answer
"""
晶片 zing^^1^^pin^^3^^
a microchip
晶 zing^^1^^ — crystal, bright, glittering
片 pin^^3^^ pin^^2^^ — slice, sheet, fragmentary, film
"""
@@
@@.answer
"""
晾 long^^3^^ long^^6^^ / liang^^4^^
to dry in the air, hang in the wind to dry
to dry in the sun, give (washing) a sunning
"""
@@
@@.answer
"""
暖水壺 nyun^^5^^seoi^^2^^wu^^4*2^^
粵: a thermos flask, vacuum flask, hot–water bottle; 華: 暖水屏, 暖壺, 暖瓶
暖 nyun^^5^^ — warm
水 seoi^^2^^ — water, liquid, dough (money)
壺 wu^^4^^ — jar, pot, jug
"""
@@
@@.answer
"""
暗格 am^^3^^gaak^^3^^
a secret place, a hiding place, a place to conceal objects //lit.// hidden divide
暗 am^^3^^/an^^4^^ — dark, dim, hidden
格 gaak^^3^^/ge^^2^^ — square, shelf, pattern
"""
@@
@@.answer
"""
暗病 am^^3^^beng^^6^^, ngam^^3^^bing^^6^^
an unmentionable disease
暗 am^^3^^/an^^4^^ — dark, dim, hidden
病 beng^^6^^ bing^^6^^/bing^^4^^ — sick, ill, defect, fault
"""
@@
@@.answer
"""
暴躁 bou^^6^^cou^^3^^
irritable, fiery, explosive (temper)
暴 bou^^6^^ buk^^6^^ — violent, cruel, expose
躁 cou^^3^^ — hot–tempered, rash
"""
@@
@@.answer
"""
曝光 bou^^6^^gwong^^1^^
to expose, disclose (esp. sth. disgraceful) //var.// 走光
曝 buk^^6^^ bou^^6^^ — expose
光 gwong^^1^^ — light, shine
"""
@@
@@.answer
"""
曳 jai^^5^^ jai^^4^^ jai^^6^^ / ye^^4^^
粵: jai^^ 5^^ jai^^4^^ — 粵: only
naughty, mischievous
inferior, poor, substandard
jai^^5^^ is standard reading, jai^^4^^ is variant
粵: jai^^6^^; 華: ye^^4^^ yi^^4^^
to drag, haul, draw, tow; 華: ye^^4^^ is used in China while yi^^4^^ is used in Taiwan
"""
@@
@@.answer
"""
更加 gang^^3^^gaa^^1^^
more, even more; 粵: also 重 zung^^6^^
更 gang^^1^^ gaang^^1^^ gang^^3^^ ang^^3^^/geng^^1^^ geng^^4^^ — change, shift, further
加 gaa^^1^^/jia^^1^^ — plus, add to, increase, append
"""
@@
@@.answer
"""
更多 gang^^3^^do^^1^^
more, even more
更 gang^^1^^ gaang^^1^^ gang^^3^^ ang^^3^^/geng^^1^^ geng^^4^^ — change, shift, further
多 do^^1^^/duo^^1^^ — many, much, more, more than
"""
@@
@@.answer
"""
更大 gang^^3^^daai^^6^^
bigger
更 gang^^1^^ gaang^^1^^ gang^^3^^ ang^^3^^ — change, shift, further
大 daai^^6^^ — big
"""
@@
@@.answer
"""
更好 gang^^3^^hou^^2^^
even better
更 gang^^1^^ gaang^^1^^ gang^^3^^ ang^^3^^ — change, shift, further
好 hou^^2^^ hou^^3^^ — good, very, friendly, healthy, ready
"""
@@
@@.answer
"""
書局 syu^^1^^guk^^6*2^^
a bookstore, bookshop
書 syu^^1^^ — book, writings
局 guk^^6^^ — bureau, game, situation, party, trap
"""
@@
@@.answer
"""
書板 syu^^1^^baan^^2^^
a (writing) tablet
書 syu^^1^^ — book, writings
板 baan^^2^^ — plank, board
"""
@@
@@.answer
"""
書桌 syu^^1^^coek^^3^^/zoek^^3^^
華: a desk; 粵: 書檯
書 syu^^1^^ — book, writings
桌 coek^^3^^ — table, desk
"""
@@
@@.answer
"""
書櫃 syu^^1^^gwai^^6^^
a bookcase, bookshelf
書 syu^^1^^ — book, writings
櫃 gwai^^6^^ — cupboard, wardrobe
"""
@@
@@.answer
"""
曾 cang^^4^^ zang^^1^^ / ceng^^2^^,zeng^^1^^
粵: cang^^4^^; 華: ceng^^2^^
once, formerly, ever
粵: zang^^1^^; 華: zeng^^1^^
related as between great–grandchildren and great–grandparents
a Chinese family name
"""
@@
@@.answer
"""
替 tai^^3^^ / ti^^4^^
to take the place of, replace, substitute for, on behalf of
to decay, decline
to neglect
"""
@@
@@.answer
"""
替死鬼 tai^^3^^sei^^2^^gwai^^2^^
a scapegoat, a “fall–guy”, a substitute victim //syn.// 替罪羊
替 tai^^3^^ — replace, substitute
死 sei^^2^^ — die, death, dead
鬼 gwai^^2^^ — ghost, devil, dishonest, terrible
"""
@@
@@.answer
"""
會 wui^^5^^ wui^^6^^ kui^^2^^
粵: wui^^5^^; 華: hui^^4^^
will, shall, would, be likely to
to understand, know, be able to
粵: wui^^6^^; 華: hui^^4^^
to get together, assemble, gather
to meet with, see, receive (a guest)
a meeting, party, conference
an association, society, union
a chief city, capital, metropolis
粵: wui^^6^^ kui^^2^^; 華: kuai^^4^^
to compute, calculate, do the accounts
"""
@@
@@.answer
"""
會仔 wui^^6*2^^zai^^2^^
members of an informal group who pool their savings
會 wui^^5^^ wui^^6^^ kui^^2^^/hui^^4^^ kuai^^4^^ — will, would, get together, meet, city
仔 zai^^2^^ zi^^2^^/zai^^3^^ zi^^1^^ — son, child
"""
@@
@@.answer
"""
月份 jyut^^6^^fan^^6^^
the month, monthly
月 jyut^^6^^ — moon, month
份 fan^^6^^ — portion, part, share
"""
@@
@@.answer
"""
月曆 jyut^^6^^lik^^6^^
the lunar calendar, chinese calendar
月 jyut^^6^^ — moon, month
曆 lik^^6^^ — calendar, era
"""
@@
@@.answer
"""
月薪 jyut^^6^^san^^1^^
a monthly income
月 jyut^^6^^ — moon, month
薪 san^^1^^ — salary, firewood
"""
@@
@@.answer
"""
月食 jyut^^6^^sik^^6^^
a lunar eclipse, eclipse of the moon; also written as 月蝕
月 jyut^^6^^ — moon, month
食 sik^^6^^ zi^^6^^ — eat, food
"""
@@
@@.answer
"""
有可能 jau^^5^^ho^^2^^nang^^4^^
it is possible
有 jau^^5^^ jau^^6^^ — have, there is
可 ho^^2^^ hak^^1^^ — can, approve, need, but
能 nang^^4^^ — can, may, able to, ability, energy
"""
@@
@@.answer
"""
有得找 jau^^5^^dak^^1^^zaau^^2^^
粵: can give back the change; 華: 找得開
有 jau^^5^^ jau^^6^^ — have, there is
得 dak^^1^^ — get, obtain, fit, finished, able to, must
找 zaau^^2^^ — search for, give change
"""
@@
@@.answer
"""
有怪莫怪 jau^^5^^gwaai^^3^^mok^^6^^gwaai^^3^^
used to admit that one is in the wrong, that one owes an apology, no hard feelings, no offense
有 jau^^5^^ jau^^6^^/you^^3^^ you^^4^^ — have, there is
怪 gwaai^^3^^/guai^^4^^ — strange, blame, find sth strange, monster
莫 mok^^6^^/mo^^4^^ — not, don’t, none, nothing
"""
@@
@@.answer
"""
有效 jau^^5^^haau^^6^^
valid, in effect, effective
有 jau^^5^^ jau^^6^^/you^^3^^ you^^4^^ — have, there is
效 haau^^6^^/xiao^^4^^ — effect, devote
"""
@@
@@.answer
"""
有料到 jau^^5^^liu^^6*2^^dou^^3^^
found an important clue, relevant information (phrase)
substantial, useful, offering a benefit
有 jau^^5^^ jau^^6^^/you^^3^^ you^^4^^ — have, there is
料 liu^^6^^ liu^^2^^/liao^^4^^ — anticipate, deal with, material, fodder
到 dou^^3^^ dou^^3*2^^/dao^^4^^ — arrive, go to
"""
@@
@@.answer
"""
有時候 jau^^5^^si^^4^^hau^^6^^
sometimes, occasionally, there are times when //syn.// 有時
有 jau^^5^^ jau^^6^^ — have, there is
時 si^^4^^ — time
候 hau^^6^^ — wait, expect, period, time
"""
@@
@@.answer
"""
有眼不識泰山 jau^^5^^ngaan^^5^^bat^^1^^sik^^1^^taai^^3^^saan^^1^^
to miss the obvious, to be blind to a salient fact, to overlook something or someone important (to entertain an angel while unaware)
有 jau^^5^^ jau^^6^^/you^^3^^ you^^4^^ — have, there is
眼 ngaan^^5^^/yan^^3^^ — eye
不 bat^^1^^/bu^^4^^ — not, no, un–
識 sik^^1^^ zi^^3^^/shi^^2^^ shi^^4^^ zhi^^4^^ — know, remember
泰 taai^^3^^/tai^^4^^ — safe, Thailand
山 saan^^1^^/shan^^1^^ — mountain, hill, peak
"""
@@
@@.answer
"""
有突 jau^^5^^dat^^6^^
something left over, excess amount, more than, to repay more than one owes
有 jau^^5^^ jau^^6^^/you^^3^^ you^^4^^ — have, there is
突 dat^^6^^/tu^^1^^ tu^^2^^ — dash forward, abruptly, protrude
"""
@@
@@.answer
"""
有線 jau^^5^^sin^^3^^
wired, cable (television)
有 jau^^5^^ jau^^6^^ — have, there is
線 sin^^3^^ — thread, line
"""
@@
@@.answer
"""
有限 jau^^5^^haan^^6^^
limited
有 jau^^5^^ jau^^6^^/you^^3^^ you^^4^^ — have, there is
限 haan^^6^^/xian^^4^^ — boundary, limit, restriction
"""
@@
@@.answer
"""
有風 jau^^5^^fung^^1^^
windy
有 jau^^5^^ jau^^6^^ — have, there is
風 fung^^1^^ fung^^3^^ — wind
"""
@@
@@.answer
"""
朝朝 ziu^^1^^ziu^^1^^
粵: every morning //syn.// 朝朝早
朝 ziu^^1^^ ciu^^4^^ — morning, face towards, dynasty
"""
@@
@@.answer
"""
期間 kei^^4^^gaan^^1^^
a period, time
期 kei^^4^^ — period of time, phase, expect
間 gaan^^1^^ gaan^^3^^ — interval of time or space
"""
@@
@@.answer
"""
木 muk^^6^^ / mu^^4^^
a tree
wood, lumber, timber
made of wood, wooden
simple, honest
senseless, benumbed, dull
a coffin
"""
@@
@@.answer
"""
木板 muk^^6^^baan^^2^^
a wooden board, plank
木 muk^^6^^ — tree, wood
板 baan^^2^^ — plank, board
"""
@@
@@.answer
"""
未免 mei^^6^^min^^5^^
rather too, a bit too, a little
unavoidably, naturally, bound to
未 mei^^6^^/wei^^4^^ — not yet, not
免 min^^5^^/mian^^3^^ — avoid, spare from, dismiss from
"""
@@
@@.answer
"""
末日 mut^^6^^jat^^6^^
doomsday, judgement day (in Christian mythology), the last day
末 mut^^6^^/mo^^4^^ mie^^4^^ — final, late, end
日 jat^^6^^/ri^^4^^ — sun, day
"""
@@
@@.answer
"""
本地薑唔辣 bun^^2^^dei^^6^^goeng^^1^^m^^4^^laat^^6^^
a local people or local things aren’t as valued as outside ones, the grass is greener on the other side of the fence //lit.// local ginger isn’t spicy
本 bun^^2^^/ben^^3^^ — basis, original, copy
地 dei^^6^^ dei^^6*2^^/di^^4^^ de^^5^^ — earth, land, district, location
薑 goeng^^1^^/jiang^^1^^ — ginger
唔 m^^4^^/wu^^2^^ — not, no
辣 laat^^6^^/la^^4^^ — hot, piquant
"""
@@
@@.answer
"""
本心 bun^^2^^sam^^1^^
粵: a conscience; 華: 良心
本 bun^^2^^ — basis, original, copy
心 sam^^1^^ — heart
"""
@@
@@.answer
"""
本色 bun^^2^^sik^^1^^
natural (original) colour
inherent
natural qualities
本 bun^^2^^ — basis, original, copy
色 sik^^1^^ — colour
"""
@@
@@.answer
"""
朱 zyu^^1^^/ zhu^^1^^
red, cinnabar, vermilion
a Chinese family name
"""
@@
@@.answer
"""
杜絕 dou^^6^^zyut^^6^^
to put an end to
杜 dou^^6^^/du^^4^^ — to shut out, to stop, to prevent, surname
絕 zyut^^6^^/jue^^2^^ — cut off, exhaust, superb, desperate
"""
@@
@@.answer
"""
東 dung^^1^^ / dong^^1^^
the east, eastern
to travel eastward
a host, master, owner
a Chinese family name
"""
@@
@@.answer
"""
東北 dung^^1^^bak^^1^^
northeast
東 dung^^1^^ — east , host, master, owner, family name
北 bak^^1^^ — north
"""
@@
@@.answer
"""
東南 dung^^1^^naam^^4^^ — southeast
東 dung^^1^^ — east ; host, master, owner; family name
南 naam^^4^^ — south
"""
@@
@@.answer
"""
東南西北 dung^^1^^naam^^4^^sai^^1^^bak^^1^^
the four cardinal directions, in all directions, north, south, east, and west (in Chinese, the order is east–south–west–north)
東 dung^^1^^ — east, host, master, owner, family name
南 naam^^4^^ — south
西 sai^^1^^ — west
北 bak^^1^^ — north
"""
@@
@@.answer
"""
東邊 dung^^1^^bin^^1^^
the eastern side
東 dung^^1^^ — east , host, master, owner, family name
邊 bin^^1^^ — edge, nearby, border, side; 粵: which
"""
@@
@@.answer
"""
東面 dung^^1^^min^^6^^
the east side, eastern face (of a hill, etc.)
東 dung^^1^^ — east , host, master, owner, family name
面 min^^6^^ — face, surface, top, side, aspect, extent
"""
@@
@@.answer
"""
枉 wong^^2^^ / wang^^3^^
unjust, wrong, aggrieved
in vain, to no avail, fruitless
to distort, twist, pervert
crooked, bent
"""
@@
@@.answer
"""
枕頭 zam^^2^^tau^^4^^
a pillow
枕 zam^^2^^/zhen^^3^^ — pillow
頭 tau^^4^^/tou^^2^^ tou^^5^^ — head, first, chief
"""
@@
@@.answer
"""
果 gwo^^2^^ / guo^^3^^
a fruit of a plant
an effect (in cause and effect), result, fruit, consequence
surely, really, truly, exactly
to stuff, fill
to succeed
a Chinese family name
"""
@@
@@.answer
"""
果汁 gwo^^2^^zap^^1^^
a fruit juice
果 gwo^^2^^ — fruit
汁 zap^^1^^ — juice, sap
"""
@@
@@.answer
"""
果然 gwo^^2^^jin^^4^^
sure enough, as expected/anticipated, really
刀 dou^^1^^ — knife, sword
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
某日 mau^^5^^jat^^6^^
華: at a certain date
某 mau^^5^^ — a certain thing or person, I
日 jat^^6^^ — sun, day
"""
@@
@@.answer
"""
查家宅 caa^^4^^gaa^^1^^zaak^^6^^
to make a thorough and detailed inquiry into somebody, to be over–inquisitive //lit.// to investigate the family house
查 caa^^4^^/cha^^2^^ — check, inspect, consult, look up
家 gaa^^1^^/jia^^1^^ — home, family, specialist
宅 zaak^^6^^ zaak^^6*2^^/zhai^^2^^ — house, residence, dwelling
"""
@@
@@.answer
"""
柯打 o^^1^^daa^^2^^
an order (loanword); 華: 訂購 , 訂貨
柯 o^^1^^/ke^^1^^ — axe–handle, stalk
打 daa^^2^^ daa^^1^^/da^^3^^ da^^2^^ — hit, strike, dozen
"""
@@
@@.answer
"""
柳 lau^^5^^ / liu^^3^^
a willow
a fillet
one of 28 constellations in ancient Chinese astronomy
"""
@@
@@.answer
"""
校園 haau^^6^^jyun^^4^^
a campus, schoolyard, school grounds
校 haau^^6^^ gaau^^3^^ — school, field officer, check
園 jyun^^4^^ jyun^^4*2^^ — garden, park
"""
@@
@@.answer
"""
校正 gaau^^3^^zing^^3^^
to rectify, proofread, correct, amend, see also 糾正
校 haau^^6^^ gaau^^3^^ — school, field officer, check
正 zing^^3^^ zing^^1^^ zeng^^3^^ — upright, standard, pure, main
"""
@@
@@.answer
"""
核突 wat^^6^^dat^^6^^
very ugly, horrible, revolting, disgusting, gross; 華: 難看, a modern derivative of the classical word 滑汰
核 hat^^6^^ wat^^6^^/he^^2^^ hu^^2^^ — nucleus, verify, seed, pip, kernel
突 dat^^6^^/tu^^1^^ tu^^2^^ — dash forward, abruptly, protrude
"""
@@
@@.answer
"""
桂 gwai^^3^^ / gui^^4^^
cassia or cinnamon
a short name of Kwangsi province
a surname
"""
@@
@@.answer
"""
桃花運 tou^^4^^faa^^1^^wan^^6^^
luck in love, romance, good luck
桃 tou^^4^^ — peach
花 faa^^1^^ — flower
運 wan^^6^^ — move, revolve, transport, ship
"""
@@
@@.answer
"""
案 on^^3^^ ngon^^3^^ / an^^4^^
a legal case, offence, incident
a record, file, archives
a draft, proposal, plan, option
a long narrow table or desk
[archaic] a wooden tray (used to serve food)
"""
@@
@@.answer
"""
桑拿 song^^1^^naa^^4^^
a sauna
also transliterated as 三溫暖 in Taiwan
桑 song^^1^^ — mulberry tree
拿 naa^^4^^ — take
"""
@@
@@.answer
"""
梁 loeng^^4^^ / liang^^2^^
a Chinese surname
Liang dynasty (<small>AD</small>502–557) in southern China
Liang state (also known as Wei until 361<small>BC</small>)
variant and simplified form of 樑
"""
@@
@@.answer
"""
梅 mui^^4^^ / mei^^2^^
a plum, prune
a surname
"""
@@
@@.answer
"""
條 tiu^^4^^ / tiao^^2^^
a long narrow piece, slip, strip
classifier for long, narrow objects (fish, rope, road, etc) also used in slang for people
an item, article, clause
order, orderliness
"""
@@
@@.answer
"""
梳打 so^^1^^daa^^2^^
粵: a soda (as phonetic loanword)
梳 so^^1^^ — comb
打 daa^^2^^ daa^^1^^ — hit, strike | dozen
"""
@@
@@.answer
"""
棍子 gwan^^3^^zi^^2^^
a stick, rod, staff; 粵: 棍, 士的
棍 gwan^^3^^ — rod, scoundrel, swindle
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
棒子 paang^^5^^zi^^2^^
a stick, club, cudgel, maize (corn), ear of maize, corncob
棒 paang^^5^^ — stick, club, leg (race)
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
棖雞 caang^^4^^gai^^1^^
forceful, formidable, unruly, shrewish (generally used to refer to a woman)
棖 caang^^4^^ — shrewish
雞 gai^^1^^ — chicken
"""
@@
[[gundam covers 1|https://www.youtube.com/watch?v=9uEMFHKpaOQ]]
<iframe height="10px" width="40px" src="music/20210706森口博子「一千万年銀河 with 塩谷哲」.m4a" frameborder="0"></iframe>
[[一千万年銀河|https://www.youtube.com/watch?v=cU_55aphkwI]]
<iframe height="10px" width="40px" src="music/20210706森口博子「フリージア with 塩谷哲」.m4a" frameborder="0"></iframe>
[[フリージア|https://www.youtube.com/watch?v=OI6cUZwbQpc]]
<iframe height="10px" width="40px" src="music/20210706GUNDAM SONG COVERS 2 Hiroko Moriguchi.m4a" frameborder="0"></iframe>
[[gundam covers 2|https://m.youtube.com/watch?v=E9MWaxhBo7k]]
<iframe height="10px" width="40px" src="music/20210706GUNDAM SONG COVERS Hiroko Moriguchi.m4a" frameborder="0"></iframe>
@@.answer
"""
森林 sam^^1^^lam^^4^^
a forest; 粵: 樹林
森 sam^^1^^ — forest
林 lam^^4^^ — forest, grove
"""
@@
@@.answer
"""
椰 je^^4^^ / ye^^1^^ ye^^2^^
a coconut, coconut palm, coconut tree
華: ye^^1^^ is China reading, ye^^2^^ is Taiwan
"""
@@
@@.answer
"""
椰子 je^^4^^zi^^2^^
a coconut
椰 je^^4^^ — coconut
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
楊枝甘露 joeng^^4^^zi^^1^^gam^^1^^lou^^6^^
a type of drink made of mango sago with pomelo
楊 joeng^^4^^/yang^^2^^ — a type of tree, Chinese family name
枝 zi^^1^^/zhi^^1^^ — tree branch, twig
甘 gam^^1^^/gan^^1^^ — sweet, pleasant, willingly, a surname
露 lou^^6^^/lu^^4^^ lou^^4^^ — dew, beverages, cosmetics, show, reveal
"""
@@
@@.answer
"""
業主 jip^^6^^zyu^^2^^
a home owner, proprietor, landlord //syn.// 屋主, 房東
業 jip^^6^^/ye^^4^^ — profession, trade, occupation
主 zyu^^2^^/zhu^^3^^ zhu^^4^^ — master, chief, leader
"""
@@
@@.answer
"""
概要 koi^^3^^jiu^^3^^
an overview, outline (as a summary)
概 koi^^3^^/gai^^4^^ — broad outline, without exception
要 jiu^^3^^ jiu^^1^^/yao^^4^^ yao^^1^^ — want, must, shall, important, demand, if
"""
@@
@@.answer
"""
概要圖 koi^^3^^jiu^^3^^tou^^4^^
schematics, summary chart
概 koi^^3^^/gai^^4^^ — broad outline, without exception
要 jiu^^3^^ jiu^^1^^/yao^^4^^ yao^^1^^ — want, must, shall, important, demand, if
圖 tou^^4^^/tu^^2^^ — map, picture, diagram
"""
@@
@@.answer
"""
槓 gong^^3^^ gong^^6^^ lung^^5^^ / gang^^4^^
粵: gong^^3^^ 華: gang^^4^^
a thick stick/rod, carrying pole, lever
[gym] a horizontal bar
[mahjong] a call to create a quadruplet (four of a kind)
粵: gong^^6^^ — 粵: only
claws/chelas of a crab, lobster, etc
粵: lung^^5^^ — 粵: only
a large chest/box
a trick, move, device
Simplified form 杠 is also widely used in HK
"""
@@
@@.answer
"""
槳 zoeng^^2^^ / jiang^^3^^
an oar, paddle; classifiers: 根, 隻, 對
"""
@@
@@.answer
"""
樂器 ngok^^6^^hei^^3^^
a musical instrument
樂 lok^^6^^ ngok^^6^^ ngaau^^6^^ — joy, music, be fond of
器 hei^^3^^ — instrument, tool, utensil
"""
@@
@@.answer
"""
樂意 lok^^6^^ji^^3^^
pleased (to do something); 粵: 中意
樂 lok^^6^^ ngok^^6^^ ngaau^^6^^/le^^4^^ yue^^4^^ yao^^4^^ — joy, music, be fond of
意 ji^^3^^/yi^^4^^ — wish, meaning, expect
"""
@@
@@.answer
"""
樂觀 lok^^6^^gun^^1^^
optimistic, hopeful
樂 lok^^6^^ ngok^^6^^ ngaau^^6^^ — joy, music, be fond of
觀 gun^^1^^ gun^^3^^ — observe, view, outlook, Taoist temple
"""
@@
_in the shade of spring leaves: the life and writings of higuchi ichiyo, a woman of letters in meiji japan: the life of higuchi ichiyo, with nine of her best stories_
danly lyons robert 1981
@@.answer
"""
樑 loeng^^4^^ / liang^^2^^
a bridge, ridge
a horizontal beam, supporting beam
"""
@@
@@.answer
"""
樓上 lau^^4^^soeng^^6^^
upstairs
樓 lau^^4^^/lou^^2^^ — multi–storey building
上 soeng^^6^^ soeng^^5^^/shang^^4^^ — upper, superior, preceding, up, on
"""
@@
@@.answer
"""
標尾會 biu^^1^^mei^^5^^wui^^6*2^^
to grab/capture the final chance, take the last chance to do sth //var.// 執尾會
標 biu^^1^^/biao^^1^^ — symptom, mark, prize, standard, tender
尾 mei^^5^^/wei^^3^^ yi^^3^^ — tail, rear, end, remnant
會 wui^^5^^ wui^^6^^ kui^^2^^/hui^^4^^ kuai^^4^^ — will, would, get together, meet, city
"""
@@
@@.answer
"""
標青 biu^^1^^ceng^^1^^
outstanding, distinguished, exceptional, out of the ordinary; 華: 出眾
標 biu^^1^^/biao^^1^^ — symptom, mark, prize, standard, tender
青 ceng^^1^^ cing^^1^^/qing^^1^^ — green, young
"""
@@
@@.answer
"""
樹 syu^^6^^
a tree; classifiers: 棵, 樖
to plant, cultivate
to set up, establish, uphold
"""
@@
@@.answer
"""
樹木 syu^^6^^muk^^6^^
trees
樹 syu^^6^^ — tree, plant
木 muk^^6^^ — tree, wood
"""
@@
@@.answer
"""
橘子 gwat^^1^^zi^^2^^
華: an orange; 粵: 橘, 橙 caang^^2^^
橘 gwat^^1^^ — tangerine
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
橙色 caang^^4*2^^sik^^1^^
orange (colour)
橙 caang^^2^^ caang^^4^^ — orange
色 sik^^1^^ — colour
"""
@@
@@.answer
"""
橙色的 caang^^4*2^^sik^^1^^dik^^1^^
orange (colour)
橙 caang^^2^^ caang^^4^^ — orange
色 sik^^1^^ — colour
的 dik^^1^^ — possessive suffix
"""
@@
@@.answer
"""
機器 gei^^1^^hei^^3^^
a machine, machinery, apparatus
classifiers: 部, 台
機 gei^^1^^ — machine
器 hei^^3^^ — instrument, tool, utensil
"""
@@
@@.answer
"""
檸 ning^^4^^
a lemon, mainly used in compound form 檸檬
"""
@@
@@.answer
"""
權利 kyun^^4^^lei^^6^^
a right (entitlement to do sth.)
權 kyun^^4^^/quan^^2^^ — power, right, weigh, measure, temporarily
利 lei^^6^^, lai^^6^^/li^^4^^ — profit, gains, benefit, serve
"""
@@
@@.answer
"""
欠 him^^3^^ / qian^^4^^
to lack, want, fall short of
to owe, be behind with
to raise slightly (a part of the body)
to yawn
"""
@@
@@.answer
"""
欲 juk^^6^^ / yu^^4^^
to want, wish, hope, desire
about to, just going to, on the point of
[literary] to need, require, demand
also simplified form of 慾 — a desire
"""
@@
@@.answer
"""
欺詐 hei^^1^^zaa^^3^^
to cheat, swindle, scam
欺 hei^^1^^ — cheat, deceive, take advantage of
詐 zaa^^3^^ — deceive, swindle, pretend, feign
"""
@@
@@.answer
"""
歌手 go^^1^^sau^^2^^
a singer
歌 go^^1^^ — song, sing, extol
手 sau^^2^^ — hand
"""
@@
@@.answer
"""
止步 zi^^2^^bou^^6^^
halt, no admittance
止 zi^^2^^ — stop, halt
步 bou^^6^^ — step, pace, fortune
"""
@@
@@.answer
"""
正常 zing^^3^^soeng^^4^^
normal, ordinary, regular
正 zing^^3^^ zing^^1^^ zeng^^3^^ — upright, standard, pure, main
常 soeng^^4^^ — common, ordinary, frequently
"""
@@
@@.answer
"""
正所謂 zing^^3^^so^^2^^wai^^6^^
so–called
正 zing^^3^^ zing^^1^^ zeng^^3^^/zheng^^4^^ zheng^^1^^ — upright, standard, pure, main
所 so^^2^^/suo^^3^^ — location, position, building, office
謂 wai^^6^^/wei^^4^^ — say, call
"""
@@
@@.answer
"""
正方形 zing^^3^^fong^^1^^jing^^4^^
a square, square–shaped
正 zing^^3^^ zing^^1^^ zeng^^3^^ — upright, standard, pure, main
方 fong^^1^^ — direction, angle
形 jing^^4^^ — form, shape, description
"""
@@
@@.answer
"""
此地 ci^^2^^dei^^6^^
華: here, at this place
此 ci^^2^^ — this, these, if so, thus
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
"""
@@
@@.answer
"""
此時 ci^^2^^si^^4^^
華: now, this moment, at this time
此 ci^^2^^ — this, these, if so, thus
時 si^^4^^ — time
"""
@@
@@.answer
"""
此致 ci^^2^^zi^^3^^
regards (used in ending of letters)
此 ci^^2^^ — this, these, if so, thus
致 zi^^3^^ — deliver, incur, devote
"""
@@
@@.answer
"""
武 mou^^5^^ / wu^^3^^
a force, military
martial, warlike
footprints, steps
the length of a half pace
the string of an ancient hat
to inherit
a Chinese family name
"""
@@
@@.answer
"""
歸去 gwai^^1^^heoi^^3^^
to return
歸 gwai^^1^^ — return, come together, belong to
去 heoi^^3^^ heoi^^2^^ — go, leave, past, remove
"""
@@
@@.answer
"""
死人燈籠 sei^^2^^jan^^4^^dang^^1^^lung^^4^^
to report an inflated figure, cook up an exaggerated report, overcharge someone in the business //lit.// dead man’s lantern
This is the first part of a two–part allegorical saying that has 報大數 as the second part.
Traditionally, a pair of lanterns, on which the age of the deceased is written, are hung up outside the house of the mourning family. The figure represents an inflated one by adding three years to the actual age
死 sei^^2^^/si^^3^^ — die, death, dead
人 jan^^4^^/ren^^2^^ — person, human being
燈 dang^^1^^/deng^^1^^ — light, lamp
籠 lung^^4^^ lung^^5^^/long^^2^^ long^^3^^ — cage, bamboo steamer, envelop, large box
"""
@@
@@.answer
"""
死剩把口 sei^^2^^sing^^6^^/zing^^6^^baa^^2^^hau^^2^^
to talk too much, to keep chattering away //lit.// dead still but mouth
死 sei^^2^^/si^^3^^ — die, death, dead
剩 sing^^6^^ zing^^6^^/sheng^^4^^ — remain, be left over, residual
把 baa^^2^^/ba^^3^^ — grasp, handle, bundle
口 hau^^2^^/kou^^3^^ — mouth
"""
@@
@@.answer
"""
死咕咕 sei^^2^^gu^^1*4^^gu^^1*4^^
dull, inflexible, torpid, rigid //syn.// 死板
死 sei^^2^^/si^^3^^ — die, death, dead
咕 gu^^1^^/gu^^1^^ — mumble, murmur, coo, cluck
"""
@@
@@.answer
"""
死心 sei^^2^^sam^^1^^
to lose one’s feelings for someone, to fall out of love, give up the idea forever
死 sei^^2^^/si^^3^^ — die, death, dead
心 sam^^1^^/xin^^1^^ — heart
"""
@@
@@.answer
"""
死死下 sei^^2^^sei^^2^^haa^^6*2^^
exhausted, half–dead, dejected
死 sei^^2^^/si^^3^^ — die, death, dead
下 haa^^6^^ haa^^5^^/xia^^4^^ — under, lower, next, go down
"""
@@
@@.answer
"""
死海 sei^^2^^hoi^^2^^
the Dead Sea
死 sei^^2^^ — die, death, dead
海 hoi^^2^^ — sea, ocean
"""
@@
@@.answer
"""
死火 sei^^2^^fo^^2^^
to break down (referring to a car, unable to start)
to come to a standstill (referring to a situation)
死 sei^^2^^/si^^3^^ — die, death, dead
火 fo^^2^^/huo^^3^^ — fire
"""
@@
@@.answer
"""
死硬 sei^^2^^ngaang^^6^^
diehard, stubborn, inflexible
粵: to be in a crisis, certainly beyond recovery, be sure to die, 硬 is a pun of 梗 (“certain”) due to their close resemblance in written form
死 sei^^2^^/si^^3^^ — die, death, dead
硬 ngaang^^6^^/ying^^4^^ — hard, stiff, strong, forcibly
"""
@@
@@.answer
"""
死蛇爛鱔 sei^^2^^se^^4^^laan^^6^^sin^^5^^
a lazy person, a slob
very lazy, idle, doing nothing
//lit.// dead snake rotten eel
死 sei^^2^^/si^^3^^ — die, death, dead
蛇 se^^4^^ ji^^4^^ seu^^4^^/she^^2^^ yi^^2^^ — snake
爛 laan^^6^^/lan^^4^^ — rotten, worn–out
鱔 sin^^5^^/shan^^4^^ — eel
"""
@@
@@.answer
"""
死貓彈 sei^^2^^maau^^1^^daan^^6^^
a dead cat bounce: a small, short–lived recovery in the price of a declining security, such as a stock
死 sei^^2^^/si^^3^^ — die, death, dead
貓 maau^^1^^/mao^^1^^ mao^^2^^ — cat
彈 daan^^2^^ daan^^6^^ taan^^4^^/dan^^4^^ tan^^2^^ — pellet, catapult, bounce, pluck, impeach
"""
@@
@@.answer
"""
死路一條 sei^^2^^lou^^6^^jat^^1^^tiu^^4^^
a doomed course of action, a fatal strategy or direction //lit.// a single deadly path
死 sei^^2^^/si^^3^^ — die, death, dead
路 lou^^6^^/lu^^4^^ — road, path, way, means, line
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
條 tiu^^4^^/tiao^^2^^ — long narrow piece
"""
@@
@@.answer
"""
死雞撐飯蓋 sei^^2^^gai^^1^^caang^^3^^faan^^6^^goi^^3^^
to refuse to admit one is at fault (and continue arguing), to defend oneself furiously, to grasp/clutch at straws, [shortened form] 死撐 //syn.// 強辯, 嘴硬, 死不認錯 //lit.// the dead chicken props up the lid of rice–cooker
死 sei^^2^^/si^^3^^ — die, death, dead
雞 gai^^1^^/ji^^1^^ — chicken
撐 caang^^1^^ caang^^3^^/cheng^^1^^ — prop up/open, punt (a boat), back up
飯 faan^^6^^/fan^^4^^ — cooked rice
蓋 goi^^3^^ koi^^3^^/gai^^4^^ — lid, to cover, cover up, build, surpass
"""
@@
@@.answer
"""
死頂 sei^^2^^ding^^2^^
to try to bear or withstand as much as one can
死 sei^^2^^/si^^3^^ — die, death, dead
頂 deng^^2^^ ding^^2^^/ding^^3^^ — top, carry on the head, most, retort
"""
@@
@@.answer
"""
死黨 sei^^2^^dong^^2^^
a partner, a close friend, a “mate”, a “buddy”
死 sei^^2^^ — die, death, dead
黨 dong^^2^^ — party, gang, faction
"""
@@
@@.answer
"""
殊 syu^^4^^ / shu^^1^^
different, special, unusual, strange
outstanding, remarkable, distinguished
extremely, very much
[literary] to cut off, sever
"""
@@
後藤真希 https://www.youtube.com/watch?v=0Pz9kQv9XrE
コバソロ & 若菜 https://m.youtube.com/watch?v=y5wkebBCwAE
@@.answer
"""
殭 goeng^^1^^
a stiff corpse, used only in compound noun 殭屍
"""
@@
@@.answer
"""
段 dyun^^6^^ / duan^^4^^
a section, paragraph, phase, division
a grade, rank (in the game of 囲碁 go / 圍棋 weiqi)
a Chinese family name
"""
@@
@@.answer
"""
殷勤 jan^^1^^kan^^4^^
politely, solicitously, eagerly attentive
殷 jan^^1^^ jin^^1^^ jan^^2^^/yin^^1^^ yan^^1^^ yin^^3^^ — ardent, abundant
勤 kan^^4^^/qin^^2^^ — hardworking, duty, frequently
"""
@@
@@.answer
"""
殺 saat^^3^^
to kill, butcher, slaughter
to fight, go into the battle
to abate, weaken, spoil
terribly, exceedingly
"""
@@
@@.answer
"""
殺人 saat^^3^^jan^^4^^
to murder, to kill (a person)
殺 saat^^3^^/sha^^1^^ — kill, butcher, fight, abate, terribly
人 jan^^4^^/ren^^2^^ — person, human being
"""
@@
@@.answer
"""
殿軍 din^^6^^gwan^^1^^
the fourth place, last among the winners
殿 din^^6^^ — palace, rear
軍 gwan^^1^^ — army, military, soldiers
"""
@@
@@.answer
"""
毅 ngai^^6^^ / yi^^4^^
resolute, firm, staunch, determined
"""
@@
@@.answer
"""
母親 mou^^5^^can^^1^^
mother (formal); 粵: 老母
母 mou^^5^^ — mother, female
親 can^^1^^ can^^3^^ — parent, relative, intimate, personally
"""
@@
@@.answer
"""
母語 mou^^5^^jyu^^5^^
native language, mother tongue
母 mou^^5^^ — mother, female
語 jyu^^5^^ — language, speech, speak
"""
@@
@@.answer
"""
每一 mui^^5^^jat^^1^^
every
每 mui^^5^^ — every, each, per
一 jat^^1^^ — one, a, same, whole, each, once, a little
"""
@@
@@.answer
"""
每人 mui^^5^^jan^^4^^
each person
per person
粵: 一人, 人人
每 mui^^5^^ — every, each, per
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
每個人 mui^^5^^go^^3^^jan^^4^^
everyone, everybody
每 mui^^5^^ — every, each, per
個 go^^3^^ — unit, individual
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
每年 mui^^5^^nin^^4^^
every year, annually
每 mui^^5^^ — every, each, per
年 nin^^4^^ — year
"""
@@
@@.answer
"""
每年一度 mui^^5^^nin^^4^^jat^^1^^dou^^6^^
[arch.] once a year (every year), 一年一度 is how it is said now
每 mui^^5^^ — every, each, per
年 nin^^4^^ — year
一 jat^^1^^ — one, a, same, whole, each, once, a little
度 dou^^6^^ dok^^6^^ dou^^2^^ — measure, rules, estimate, roughly
"""
@@
@@.answer
"""
每日 mui^^5^^jat^^6^^
every day, daily
每 mui^^5^^ — every, each, per
日 jat^^6^^ — sun, day
"""
@@
@@.answer
"""
每次 mui^^5^^ci^^3^^
every time, each time, each instance; 粵: //alt.// 次次
每 mui^^5^^ — every, each, per
次 ci^^3^^ — order, second, second–rate, time
"""
@@
@@.answer
"""
每當 mui^^5^^dong^^1^^
華: every time, whenever
每 mui^^5^^ — every, each, per
當 dong^^1^^ dong^^3^^ — work as, in charge, appropriate, regard as
"""
@@
@@.answer
"""
比分 bei^^2^^fan^^1^^
to score (to allocate game points)
比 bei^^2^^ bei^^3^^ bei^^6^^ — compare with, liken to, than
分 fan^^1^^ fan^^6^^ — divide, distribute, distinguish, point
"""
@@
@@.answer
"""
比賽 bei^^2^^coi^^3^^
to compete, competition, race, contest
比 bei^^2^^ bei^^3^^ bei^^6^^/bi^^3^^ bi^^4^^ — compare with, liken to, than
賽 coi^^3^^/sai^^4^^ — match, compete
"""
@@
@@.answer
"""
比高 bei^^2^^gou^^1^^
粵: a bagel (loanword)
比 bei^^2^^ bei^^3^^ bei^^6^^ — compare with, liken to, than
高 gou^^1^^ — tall, high
"""
@@
@@.answer
"""
毛巾 mou^^4^^gan^^1^^
a towel; 粵: 手巾
毛 mou^^4^^/mao^^2^^ — hair, fur, feathers
巾 gan^^1^^/jin^^1^^ — hankerchief, towel
"""
@@
@@.answer
"""
毛筆 mou^^4^^bat^^1^^
a chinese calligraphy brush
毛 mou^^4^^ — hair, fur, feathers
筆 bat^^1^^ — pen, pencil, writing brush
"""
@@
@@.answer
"""
毛絨絨 mou^^4^^jung^^4*2^^jung^^4*2^^
furry, fluffy
毛 mou^^4^^/mao^^2^^ — hair, fur, feathers
絨 jung^^4*2^^/rong^^2^^ — fine wool, down, floss
"""
@@
@@.answer
"""
毛蟲 mou^^4^^cung^^4^^
a caterpillar; 粵: 狗毛蟲
毛 mou^^4^^ — hair, fur, feathers
蟲 cung^^4^^ — insect, worm
"""
@@
@@.answer
"""
氈 zin^^1^^ / 毡 zhan^^1^^
felt, blanket
"""
@@
@@.answer
"""
氈酒 zin^^1^^zau^^2^^
粵: gin (alcohol)
氈 zin^^1^^ — felt, blanket
酒 zau^^2^^ — wine, spirits
"""
@@
@@.answer
"""
民主 man^^4^^zyu^^2^^
a democracy
民 man^^4^^ — the people, civilian
主 zyu^^2^^ — master, chief, leader
"""
@@
@@.answer
"""
民國 man^^4^^gwok^^3^^
a republic
民 man^^4^^ — the people, civilian
國 gwok^^3^^ — nation, country, state
"""
@@
@@.answer
"""
民族 man^^4^^zuk^^6^^
an ethnic group, nationality
民 man^^4^^ — the people, civilian
族 zuk^^6^^ — clan, tribe, race, ehnic group
"""
@@
@@.answer
"""
氣化 hei^^3^^faa^^3^^
vaporise, gasify, aerification
氣 hei^^3^^ — gas, air, breath, anger
化 faa^^3^^ — change, melt, –ize, –ify
"""
@@
"""
森口博子 with 寺井尚子 [[acoustic|https://www.youtube.com/watch?v=oBpcxICf-xU]]
intro b glissando to f, start e, chorus d to g
"""
@@.answer
"""
水份 seoi^^2^^fan^^6^^
moisture content
水 seoi^^2^^ — water, liquid, dough (money)
份 fan^^6^^ — portion, part, share
"""
@@
@@.answer
"""
水力 seoi^^2^^lik^^6^^
water power, hydraulic power
水 seoi^^2^^ — water, liquid, dough (money)
力 lik^^6^^ — strength, force, power
"""
@@
@@.answer
"""
水口 seoi^^2^^hau^^2^^
a mouth of a stream (used especially in placenames)
水 seoi^^2^^ — water, liquid, dough (money)
口 hau^^2^^ — mouth
"""
@@
@@.answer
"""
水土 seoi^^2^^tou^^2^^
water and soil
a natural environment, climate
水 seoi^^2^^ — water, liquid, dough (money)
土 tou^^2^^ — soil, earth
"""
@@
@@.answer
"""
水平 seoi^^2^^ping^^4^^
the water level
(measurement) level (of achievement, competency etc.), a standard
horizontal
水 seoi^^2^^ — water, liquid, dough (money)
平 ping^^4^^ peng^^4^^ — peaceful, level
"""
@@
@@.answer
"""
水果 seoi^^2^^gwo^^2^^
a fruit 粵: 生果
水 seoi^^2^^ — water, liquid, dough (money)
果 gwo^^2^^ — fruit
"""
@@
@@.answer
"""
水溝油 seoi^^2^^kau^^1^^jau^^4^^
two people/groups who cannot stand each other, //lit.// water mix oil //var.// 水勼油; 華: 水火不相容
水 seoi^^2^^ — water, liquid, dough (money)
溝 kau^^1^^ gau^^1^^ — ditch, groove; 粵: mix together, pick up
油 jau^^4^^ — oil, fat, grease, petroleum
"""
@@
@@.answer
"""
水煮 seoi^^2^^zyu^^2^^
boiled
水 seoi^^2^^/shui^^3^^ — water, liquid, dough (money)
煮 zyu^^2^^/zhu^^3^^ — cook
"""
@@
@@.answer
"""
水牛 seoi^^2^^ngau^^4^^
a water–buffalo
水 seoi^^2^^ — water, liquid, dough (money)
牛 ngau^^4^^ — cow, ox, cattle
"""
@@
@@.answer
"""
水田 seoi^^2^^tin^^4^^
a paddy, irrigated fields
水 seoi^^2^^ — water, liquid, dough (money)
田 tin^^4^^ — field
"""
@@
@@.answer
"""
水道 seoi^^2^^dou^^6^^ — aqueduct
水 seoi^^2^^ — water; liquid; dough (money)
道 dou^^6^^ — road; way; channel; doctrine; Taoism; skill
"""
@@
@@.answer
"""
水餃 seoi^^2^^gaau^^2^^
steamed dumplings
水 seoi^^2^^ — water, liquid, dough (money)
餃 gaau^^2^^ — stuffed dumpling
"""
@@
@@.answer
"""
永不 wing^^5^^bat^^1^^
never
永 wing^^5^^ — forever, perpetual, eternal
不 bat^^1^^ — not, no, un–
"""
@@
@@.answer
"""
永久 wing^^5^^gau^^2^^
permanent
永 wing^^5^^ — forever, perpetual, eternal
久 gau^^2^^ — long, for a long time
"""
@@
@@.answer
"""
永遠 wing^^5^^jyun^^5^^
forever
永 wing^^5^^/yong^^3^^ — forever, perpetual, eternal
遠 jyun^^5^^ jyun^^6^^/yuan^^3^^ — far away, distant, by far, keep away from
"""
@@
@@.answer
"""
氹 tam^^5^^ tam^^3^^ / dang^^4^^
tam^^5^^ & dang^^4^^
a puddle, pool, water hole, manure pit
tam^^3^^
粵: to cajole, lure, sweet–talk
𠱁 is a variant form for 氹^^3^^
"""
@@
@@.answer
"""
氹鬼食豆腐 tam^^3^^gwai^^2^^sik^^6^^dau^^6^^fu^^6^^
//lit.// to induce a ghost to eat bean curd
to lure someone into a trap, to deceive someone
used to express scepticism or disbelief, “you’re kidding me!”
"""
@@
@@.answer
"""
求婚 kau^^4^^fan^^1^^
to propose marriage
求 kau^^4^^/qiu^^2^^ — request, seek, demand
婚 fan^^1^^/hun^^1^^ — to wed, to marry, marriage, wedding
"""
@@
@@.answer
"""
汗水 hon^^6^^seoi^^2^^
sweat
汗 hon^^6^^ hon^^4^^ — sweat
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
污漬 wu^^1^^zik^^1^^
a stain
污 wu^^1^^/wu^^1^^ — dirt, dirty, corrupt, pollute
漬 zik^^1^^ zi^^3^^/zi^^4^^ — stain, be soiled
"""
@@
@@.answer
"""
污糟貓 wu^^1^^zou^^1^^maau^^1^^
an untidy person, a messy, sloppy person //lit.// dirty cat
污 wu^^1^^/wu^^1^^ — dirt, dirty, corrupt, pollute
糟 zou^^1^^/zao^^1^^ — messy, rotten, wine dregs, pickle
貓 maau^^1^^/mao^^1^^ mao^^2^^ — cat
"""
@@
@@.answer
"""
沒 mut^^6^^
粵: mut^^6^^ 華: mei^^2^^
to not have, be without, there is not //ant.// 有
to be less/fewer than, be inferior to
粵: mut^^6^^ 華: mo^^4^^
to sink, submerge, be drowned
to overflow, rise beyond
to confiscate, take possession of
to disappear, hide, go into oblivion
to come to an end, die
"""
@@
@@.answer
"""
沒有 mut^^6^^jau^^5^^
to not have, none, be without
not so … as
less than
did not, sometimes shortened to 沒; 粵: 冇, Classical Chinese: 無
沒 mut^^6^^ — not have, less than, sink, confiscate
有 jau^^5^^ jau^^6^^ — have, there is
"""
@@
@@.answer
"""
沒關係 mut^^6^^gwaan^^1^^hai^^6^^
華: no relation to; 粵: 唔關
never mind, it doesn’t matter; 粵: 唔緊要, 冇相干, 冇所謂, 冇關係
沒 mut^^6^^ — not have, less than, sink, confiscate
關 gwaan^^1^^ — close, frontier pass, turning point, concern
係 hai^^6^^ — yes, it is, indeed, right, positive, to be
"""
@@
@@.answer
"""
沖盃茶 cung^^1^^bui^^1^^caa^^4^^
to make a cup of tea
沖 cung^^1^^ — pour, make drinks
盃 bui^^1^^ — cup, variant of 杯
茶 caa^^4^^ — tea
"""
@@
@@.answer
"""
沙哩弄銃 saa^^4^^li^^1^^lung^^6^^cung^^3^^
to mess around, to fiddle about, to act unwisely, to mess up a problem or situation, to act irresponsibly
沙 saa^^1^^ — sand
哩 lei^^5^^ li^^1^^ lei^^1^^ le^^1^^ — mile, indistinct
弄 lung^^6^^ — play with, manage, make fun of, alley, lane
銃 cung^^3^^ — blunderbuss (firearm)
"""
@@
@@.answer
"""
沙塵 saa^^1^^can^^4^^
dust and sand, yellow dust, gravel dust
粵: boastful, cocky, arrogant
沙 saa^^1^^ — sand
塵 can^^4^^ — dust, this world, trace
"""
@@
@@.answer
"""
沙岩 saa^^1^^ngaam^^4^^
sandstone
沙 saa^^1^^ — sand
岩 ngaam^^4^^ — large rock, mountain
"""
@@
@@.answer
"""
沙沙滾 saa^^1*4^^saa^^1*4^^gwan^^2^^
to swing, to be a swinger (date many people), careless, slapdash
沙 saa^^1^^ — sand
滾 gwan^^2^^ — roll, boil, piss off, trick, illicit sex
"""
@@
@@.answer
"""
油瓶女 jau^^4^^peng^^4*2^^neoi^^5*2^^ — a step–daughter //lit.// oil bottle girl
油 jau^^4^^/you^^2^^ — oil, fat, grease, petroleum
瓶 ping^^4^^ peng^^4^^/ping^^2^^ — bottle, vase, jar
女 neoi^^5^^ neoi^^2^^/nv^^3^^ — woman, daughter
"""
@@
@@.answer
"""
沿住 jyun^^4^^zyu^^6^^
粵: along, parallel to; 華: 沿着
沿 jyun^^4^^ — follow, along, edge
住 zyu^^6^^ — live, reside, stay
"""
@@
@@.answer
"""
沿途 jyun^^4^^tou^^4^^
on the way //syn.// 順路
沿 jyun^^4^^/yan^^2^^ — follow, along, edge
途 tou^^4^^/tu^^2^^ — road, way, journey
"""
@@
@@.answer
"""
法人 faat^^3^^jan^^4^^
a lawyer, paralegal, etc. //lit.// law person
法 faat^^3^^ — French, methods, rules
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
法子 faat^^3^^zi^^2^^
a way, method, means; 粵: also 計 gai^^3*2^^
法 faat^^3^^/fa^^3^^ fa^^4^^ — French, methods, rules
子 zi^^2^^/zi^^3^^ zi^^5^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
法律 faat^^3^^leot^^6^^
law
法 faat^^3^^ — French, methods, rules
律 leot^^6^^ — statute, law, regulation
"""
@@
@@.answer
"""
波士 bo^^1^^si^^6*2^^
a boss (loanword); 華: 老闆, 老板
波 bo^^1^^/bo^^1^^ — waves, unexpected changes, ball, gear
士 si^^6^^/shi^^4^^ — commendable person
"""
@@
@@.answer
"""
波子 bo^^1^^zi^^2^^
[1]粵:[n] a marble, marbles (i.e. small glass balls used by children to play the game of marbles); classifier: nap^^1^^ 粒; 華: 彈珠
[2]粵:[n] the testicles, a man’s “balls”
波 bo^^1^^/bo^^1^^ — waves, unexpected changes, ball, gear
子 zi^^2^^/zi^^3^^ zi^^5^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
波樓 bo^^1^^lau^^4*2^^
a snooker, pool or billiard hall
波 bo^^1^^/bo^^1^^ — waves, unexpected changes, ball, gear
樓 lau^^4^^/lou^^2^^ — multi–storey building
"""
@@
@@.answer
"""
波浪 bo^^1^^long^^6^^
a wave
波 bo^^1^^ — waves, unexpected changes, ball, gear
浪 long^^6^^ — wave, dissolute
"""
@@
@@.answer
"""
波餅 bo^^1^^beng^^2^^
to be hit by the ball; “食波餅” //lit.// to eat ball biscuit
波 bo^^1^^/bo^^1^^ — waves, unexpected changes, ball, gear
餅 beng^^2^^/bing^^3^^ — cake, biscuit
"""
@@
@@.answer
"""
泥 nai^^4^^ nei^^6^^ / ni^^2^^,ni^^4^^
粵: nai^^4^^ 華: ni^^2^^
mud, soil, mire, clay, plaster
mashed vegetable or fruit, paste
粵: nei^^6^^ 華: ni^^4^^
to cover with plaster, putty
bigoted, obstinate, stubborn
"""
@@
@@.answer
"""
泥菩薩過江 nai^^4^^pou^^4^^saat^^3^^gwo^^3^^gong^^1^^
//lit.// a clay Bodhisattva crossing the river→自身難保
in a sorry/pitiable plight, unable to protect even one’s own interests, hardly able to save oneself (let alone anyone else); 華: 泥菩薩過河
a two–part allegorical saying with 自身難保 as the latter part
泥 nai^^4^^ nei^^6^^ — mud, plaster, bigoted
菩 pou^^4^^ — bodhi
薩 saat^^3^^ — Buddhist gods, (transliteration)
過 gwo^^3^^ — pass through, across
江 gong^^1^^ — large river, Chinese surname
"""
@@
@@.answer
"""
泰國 taai^^3^^gwok^^3^^
thailand
泰 taai^^3^^ — safe, Thailand
國 gwok^^3^^ — nation, country, state
"""
@@
@@.answer
"""
泳帽 wing^^6^^mou^^6*2^^
a bathing/swimming cap
泳 wing^^6^^ — dive, swim
帽 mou^^6*2^^ mou^^6^^ — hat
"""
@@
@@.answer
"""
洋娃娃 joeng^^4^^waa^^1^^waa^^1^^
華: a doll (foreign because of 洋); 粵: 公仔
洋 joeng^^4^^ — ocean, foreign, Western, vast
娃 waa^^1^^ — baby, pretty girl
"""
@@
@@.answer
"""
洗碗 sai^^2^^wun^^2^^
to wash the dishes
洗 sai^^2^^ — wash, clear, sack, develop, shuffle
碗 wun^^2^^ — bowl
"""
@@
@@.answer
"""
洗米 sai^^2^^mai^^5^^
to wash uncooked rice
粵: slang for a loser, from the character 洗米華 in a TV series
洗 sai^^2^^ — wash, clear, sack, develop, shuffle
米 mai^^5^^ — uncooked rice
"""
@@
@@.answer
"""
洗面梘 sai^^2^^min^^6^^gaan^^2^^
粵: a face cleanser
洗 sai^^2^^ — wash, clear, sack, develop, shuffle
面 min^^6^^ — face, surface, top, side, aspect, extent
梘 gaan^^2^^ — soap
"""
@@
@@.answer
"""
洗頭水 sai^^2^^tau^^4^^seoi^^2^^
粵: a shampoo
洗 sai^^2^^ — wash, clear, sack, develop, shuffle
頭 tau^^4^^ — head, first, chief
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
洪 hung^^4^^ / hong^^2^^
a flood, deluge, torrent
vast, big, loud, mighty
a Chinese family name
"""
@@
@@.answer
"""
活水 wut^^6^^seoi^^2^^
華: flowing water, running water
活 wut^^6^^ — live, exist, work, vivid, movable, alive
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
活潑 wut^^6^^put^^3^^
lively, vivacious, brisk, active
活 wut^^6^^/huo^^2^^ — live, exist, work, vivid, movable, alive
潑 put^^3^^/po^^1^^ — splash, ferocious
"""
@@
@@.answer
"""
活火山 wut^^6^^fo^^2^^saan^^1^^
an active volcano
活 wut^^6^^ — live, exist, work, vivid, movable, alive
火 fo^^2^^ — fire
山 saan^^1^^ — mountain, hill, peak
"""
@@
@@.answer
"""
派兵 paai^^3^^bing^^1^^
to deploy troops
派 paai^^3^^ — faction, group, style, manner, send, censure
兵 bing^^1^^ — weapons, soldier, troops, military
"""
@@
@@.answer
"""
派司 paa^^1^^si^^1*2^^
粵: to pass (loanword)
派 paai^^3^^ — faction, group, style, manner, send, censure
司 si^^1^^ — department, manage, control
"""
@@
@@.answer
"""
派士 paa^^1^^si^^6*2^^
to pass (as a phonetic loanword)
派 paai^^3^^ — faction, group, style, manner, send, censure
士 si^^6^^ — commendable person
"""
@@
@@.answer
"""
派士砵 paa^^1^^si^^6*2^^but^^3^^
粵: a passport (as a phonetic loanword)
派 paai^^3^^ — faction, group, style, manner, send, censure
士 si^^6^^ — commendable person
砵 but^^3^^ but^^1^^ — bowl, port (wine)
"""
@@
@@.answer
"""
派對 paai^^3^^deoi^^3^^
a party, loanword from the English “party”
派 paai^^3^^ — faction, group, style, manner, send, censure
對 deoi^^3^^ — correct, answer, counter, face, opposite
"""
@@
@@.answer
"""
派籌 paai^^3^^cau^^4*2^^
a quota, chips allotment
派 paai^^3^^ — faction, group, style, manner, send, censure
籌 cau^^4^^ cau^^4*2^^ — chip, plan, strategy
"""
@@
@@.answer
"""
派頭 paai^^3*1^^tau^^4^^
a style, manner, panache, impressive air, showy
派 paai^^3^^/pai^^4^^ — faction, group, style, manner, send, censure
頭 tau^^4^^/tou^^2^^ tou^^5^^ — head, first, chief
"""
@@
@@.answer
"""
流口水 lau^^4^^hau^^2^^seoi^^2^^
to dribble, drool, slobber, slaver; 華: 口水
(of quality) inferior, below par //syn.// 差勁
流 lau^^4^^/liu^^2^^ — flow, drift, circulate, current, class, fake
口 hau^^2^^/kou^^3^^ — mouth
水 seoi^^2^^/shui^^3^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
流料 lau^^4^^liu^^2^^
false information, misleading information
流 lau^^4^^/liu^^2^^ — flow, drift, circulate, current, class, fake
料 liu^^6^^ liu^^2^^/liao^^4^^ — anticipate, deal with, material, fodder
"""
@@
@@.answer
"""
流汗 lau^^4^^hon^^6^^
to perspire, to sweat
流 lau^^4^^ — flow, drift, circulate, current, class, fake
汗 hon^^6^^ hon^^4^^ — sweat
"""
@@
@@.answer
"""
海岸 hoi^^2^^ngon^^6^^
a coast, seashore
海 hoi^^2^^ — sea, ocean
岸 ngon^^6^^ — shore
"""
@@
@@.answer
"""
海星 hoi^^2^^sing^^1^^
a starfish, sea star
海 hoi^^2^^ — sea, ocean
星 sing^^1^^ — star
"""
@@
@@.answer
"""
海水魚 hoi^^2^^seoi^^2^^jyu^^4*2^^
粵: a sea fish
海 hoi^^2^^ — sea, ocean
水 seoi^^2^^ — water, liquid, dough (money)
魚 jyu^^4^^ — fish
"""
@@
@@.answer
"""
海洋 hoi^^2^^joeng^^4^^
an ocean
海 hoi^^2^^ — sea, ocean
洋 joeng^^4^^ — ocean, foreign, Western, vast
"""
@@
@@.answer
"""
海草 hoi^^2^^cou^^2^^
seaweed
海 hoi^^2^^ — sea, ocean
草 cou^^2^^ — grass, herbs, weed
"""
@@
@@.answer
"""
海螺 hoi^^2^^lo^^4*2^^
a sea snail, whelk, conch
海 hoi^^2^^ — sea, ocean
螺 lo^^4^^ — spiral shell
"""
@@
@@.answer
"""
涼 loeng^^4^^
粵: loeng^^4^^ 華: liang^^2^^
cool, cold, a cool place
desolate, forlorn, god–forsaken
depressed, discouraged, disheartened
粵: loeng^^4^^ 華: liang^^4^^
to let sth cool off
"""
@@
@@.answer
"""
淆底 ngaau^^4^^dai^^2^^
to be afraid, to be scared, to retreat in fear
淆 ngaau^^4^^ — confused, mixed
底 dai^^2^^ — bottom, base
"""
@@
@@.answer
"""
淘汰 tou^^4^^taai^^3^^
to eliminate through competition or selection, to sift out, to weed out, to die out, to fall into disuse, to become obsolete
淘 tou^^4^^/tao^^2^^ — wash away, dredge
汰 taai^^3^^/tai^^4^^ — discard
"""
@@
@@.answer
"""
淝 fe^^4^^
粵: only
to spray/sprinkle (water)
to shoot, gun down
"""
@@
@@.answer
"""
淨重 zing^^6^^cung^^5^^
net weight
淨 zing^^6^^ zeng^^6^^ — clean, pure, net, cleanse, always
重 cung^^5^^ zung^^6^^ cung^^4^^ — heavy, important, furthermore, repeat
"""
@@
@@.answer
"""
淫 jam^^4^^ / yin^^2^^
licentious, lewd, adulterous, lust
excessive, extreme, unrestrained
"""
@@
@@.answer
"""
深水 sam^^1^^seoi^^2^^
deep water
深 sam^^1^^ — deep
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
混淆 wan^^6^^ngaau^^4^^
to mix up, to obscure, to blur, to confuse, to mislead
混 wan^^6^^/hun^^4^^ hun^^2^^ — mix, confuse, muddle along, muddy
淆 ngaau^^4^^/xiao^^2^^ — confused, mixed
"""
@@
@@.answer
"""
淺色 cin^^2^^sik^^1^^
a light colour, light–coloured
淺 cin^^2^^ — shallow, superficial, simple, light, short
色 sik^^1^^ — colour
"""
@@
@@.answer
"""
清 cing^^1^^ / qing^^1^^
clear, fresh, pure //ant.// 濁
quiet, silent, still
distinct, clarified, explicit
to clean/clear up, purify, settle
the Qing dynasty (1644–1911)
"""
@@
@@.answer
"""
清倉 cing^^1^^cong^^1^^
to make an inventory of the stock in a warehouse
清 cing^^1^^ — clear, fresh, quiet, distinct, clean up
倉 cong^^1^^ — storehouse
"""
@@
@@.answer
"""
清幽 cing^^1^^jau^^1^^
quiet and beautiful
清 cing^^1^^/qing^^1^^ — clear, fresh, quiet, distinct, clean up
幽 jau^^1^^/you^^1^^ — quiet, dark, deep, hidden
"""
@@
@@.answer
"""
清晨 cing^^1^^san^^4^^
the early morning
清 cing^^1^^ — clear, fresh, quiet, distinct, clean up
晨 san^^4^^ — daybreak, early morning
"""
@@
@@.answer
"""
減 gaam^^2^^
[1] subtract; deduct; minus
[2] reduce; decrease; cut
"""
@@
@@.answer
"""
渡 dou^^6^^ / du^^4^^
to cross (river, ocean), ferry across
to tide (sb) over, pull through
a ferry, ferryboat, ferry crossing
"""
@@
@@.answer
"""
港人 gong^^2^^jan^^4^^
a Hong Kong person / people
港 gong^^2^^ — port, harbour, Hong Kong
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
游擊 jau^^4^^gik^^1^^
guerrilla (forces, warfare, base area, etc.), (to launch) guerrilla attacks
游 jau^^4^^ — swim, wander, roam, surname
擊 gik^^1^^ — hit, beat, attack, assault, bump into
"""
@@
@@.answer
"""
游水池 jau^^4^^seoi^^2^^ci^^4^^
粵: a swimming pool; 華: 游泳池
游 jau^^4^^ — swim, wander, roam, surname
水 seoi^^2^^ — water, liquid, dough (money)
池 ci^^4^^ — pool, pond, moat
"""
@@
@@.answer
"""
游泳 jau^^4^^wing^^6^^
華: to swim, swimming; 粵: 游水
游 jau^^4^^ — swim, wander, roam, surname
泳 wing^^6^^ — dive, swim
"""
@@
@@.answer
"""
湊蹺 cau^^3^^kiu^^2^^
by coincidence, it so happens
湊 cau^^3^^ — gather together, move close to, chance upon
蹺 hiu^^1^^ kiu^^2^^ — lift up (leg), on tiptoe
"""
@@
@@.answer
"""
湯水 tong^^1^^seoi^^2^^
a soup
湯 tong^^1^^ soeng^^1^^/tang^^1^^ shang^^1^^ — soup, hot water, a surname
水 seoi^^2^^/shui^^3^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
準媽 zeon^^2^^maa^^1^^
an expectant mother, mother–to–be
準 zeon^^2^^ — criterion, accurate, quasi–, definitely
媽 maa^^1^^ — ma, mama, mom, mother
"""
@@
@@.answer
"""
溝通 kau^^1^^tung^^1^^
to connect, to exchange, communication
溝 kau^^1^^ gau^^1^^/gou^^1^^ — ditch, groove; 粵: mix together, pick up
通 tung^^1^^/tong^^1^^ — through, notify, general, know
"""
@@
@@.answer
"""
溪水 kai^^1^^seoi^^2^^
a stream
溪 kai^^1^^ — stream, creek, brook
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
溫暖 wan^^1^^nyun^^5^^
warm
溫 wan^^1^^/wen^^1^^ — warm, temperature, to review
暖 nyun^^5^^/nuan^^3^^ — warm
"""
@@
@@.answer
"""
滾 gwan^^2^^
to roll, rotate, trundle
to boil, boiling, boiled
to piss off, get out, beat it
粵: to trick, fool, cheat //syn.// 棍, 坤
粵: to have illicit sex, visit prostitutes
"""
@@
@@.answer
"""
漁夫 jyu^^4^^fu^^1^^
a fisherman
漁 jyu^^4^^ — fishing
夫 fu^^1^^ fu^^4^^ — husband, male adult, manual worker
"""
@@
@@.answer
"""
漁船 jyu^^4^^syun^^4^^
a fishing boat
漁 jyu^^4^^ — fishing
船 syun^^4^^ — ship, boat, vessel
"""
@@
@@.answer
"""
漏 lau^^6^^ / lou^^4^^
to leak, drip
to miss out, leave out, omit
to divulge, give away, disclose
a leak, loophole, flaw
a hourglass, water clock, time
"""
@@
@@.answer
"""
演示 jin^^2^^si^^6^^
a demonstration, to show, presentation, to demonstrate
演 jin^^2^^ jin^^5^^/yan^^3^^ — perform, play, act, deduce, drill, develop
示 si^^6^^/shi^^4^^ qi^^2^^ — show, indicate, make known
"""
@@
@@.answer
"""
演野 jin^^2^^je^^5^^
to show off
演 jin^^2^^ jin^^5^^ — perform, play, act, deduce, drill, develop
野 je^^5^^ — open country, uncultivated, rude
"""
@@
@@.answer
"""
漢人 hon^^3^^jan^^4^^
a Han Chinese person or people
漢 hon^^3^^ — Han nationality, Han dynasty, guy, fellow
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
潛入 cim^^4^^jap^^6^^
to sneak/slip into, steal in
to dive into, submerge
潛 cim^^4^^ — go underwater, hide, potential
入 jap^^6^^ — enter
"""
@@
@@.answer
"""
潦倒 lou^^5^^dou^^2^^ / liao^^2^^dao^^3^^
disappointed, frustrated, dejected
潦 lou^^5^^ liu^^2^^ — frustrated, heavy rainfall, sloppy
倒 dou^^2^^ dou^^3^^ — fall over, pour out, turn upside down
"""
@@
@@.answer
"""
澗 gaan^^3^^ / jian^^4^^
ravine, gully
stream, brook
"""
@@
@@.answer
"""
濃霧 nung^^4^^mou^^6^^
a thick fog
濃 nung^^4^^/nong^^2^^ — concentrated, deep, keen
霧 mou^^6^^/wu^^4^^ — fog, mist, fine spray
"""
@@
@@.answer
"""
濕水雞 sap^^1^^seoi^^2^^gai^^1^^
soaked through, completely drenched //lit.// wet chicken
濕 sap^^1^^ — wet, moist, damp, humid
水 seoi^^2^^ — water, liquid, dough (money)
雞 gai^^1^^ — chicken
"""
@@
@@.answer
"""
濕滯 sap^^1^^zai^^6^^
gone wrong (of a situation), messed–up, a nuisance
濕 sap^^1^^ — wet, moist, damp, humid
滯 zai^^6^^ — stagnant, sluggish, bloated, fatty
"""
@@
@@.answer
"""
濕碎 sap^^1^^seoi^^3^^
a trivial matter, something easy to deal with, no big deal, similar to the English phrase “piece of cake”, meaning something is trivially easy to achieve
a small amount of money, small change; 華: 零碎
濕 sap^^1^^ — wet, moist, damp, humid
碎 seoi^^3^^ — broken, break to pieces, smash, busted
"""
@@
@@.answer
"""
濕貨 sap^^1^^fo^^3^^
produce such as meat, fish, vegetables sold in the market //lit.// wet goods
濕 sap^^1^^ — wet, moist, damp, humid
貨 fo^^3^^ — goods, products, cargo
"""
@@
@@.answer
"""
瀟 siu^^1^^ / xiao^^1^^
beating (rain), whistling/roaring (wind)
deep and clear (water)
"""
@@
@@.answer
"""
瀟湘 siu^^1^^soeng^^1^^
slim, slender (of figure)
瀟 siu^^1^^ — beating rain, whistling wind
湘 soeng^^1^^ — Hunan
"""
@@
@@.answer
"""
瀨嘢 laai^^6*2^^je^^5^^
to make a mistake and be caught, to get into trouble, to get into a mess
to be caught by the police, to fall into a trap //var.// 賴嘢
瀨 laai^^6^^ — rice noodle, sprinkle, rapids
嘢 je^^5^^ — 粵: thing, articles
"""
@@
@@.answer
"""
火山口 fo^^2^^saan^^1^^hau^^2^^
a crater (of a volcano)
火 fo^^2^^ — fire
山 saan^^1^^ — mountain, hill, peak
口 hau^^2^^ — mouth
"""
@@
@@.answer
"""
火把 fo^^2^^baa^^2^^
a torch (fire, not electric)
火 fo^^2^^/huo^^3^^ — fire
把 baa^^2^^/ba^^3^^ — grasp, handle, bundle
"""
@@
@@.answer
"""
火星 fo^^2^^sing^^1^^
the planet Mars
a spark 粵: 火屎
火 fo^^2^^ — fire
星 sing^^1^^ — star
"""
@@
@@.answer
"""
火水 fo^^2^^seoi^^2^^
粵: kerosene
火 fo^^2^^ — fire
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
火船 fo^^2^^syun^^4^^
a steamer, motor vessel, sailing ship, a fire ship
火 fo^^2^^ — fire
船 syun^^4^^ — ship, boat, vessel
"""
@@
@@.answer
"""
灼 coek^^3^^ zoek^^3^^ / zhuo^^2^^
to burn, scorch, cauterise
bright, shining, luminous
clear, obvious, indisputable
粵: to cook by soaking in boiling water
colloquial coek^^3^^ more common than literary zoek^^3^^
"""
@@
@@.answer
"""
灼低 coek^^3^^dai^^1^^
to shoot down, take out, shoot
灼 coek^^3^^ zoek^^3^^ — burn, bright, clear
低 dai^^1^^ — lower, bend, low
"""
@@
@@.answer
"""
炒樓 caau^^2^^lau^^4*2^^
to speculate on property, property speculation
炒 caau^^2^^ — fry, speculate, boost, dismiss
樓 lau^^4^^ — multi–storey building
"""
@@
@@.answer
"""
炒燶 caau^^2^^nung^^1^^
to lose through speculation //lit.// stir–fry until scorched
炒 caau^^2^^ — fry, speculate, boost, dismiss
燶 nung^^1^^ — scorch, burn
"""
@@
@@.answer
"""
炒老細魷魚 caau^^2^^lou^^5^^sai^^3^^jau^^4^^jyu^^4*2^^
to quit a job (also 炒老板魷魚) //lit.// to fire the boss
炒 caau^^2^^ — fry, speculate, boost, dismiss
老 lou^^5^^ — old, venerable
細 sai^^3^^ — small
魷 jau^^4^^ — squid
魚 jyu^^4^^ — fish
"""
@@
@@.answer
"""
炒魷 caau^^2^^jau^^4^^
to dismiss an employee //lit.// to stir–fry squid
炒 caau^^2^^ — fry, speculate, boost, dismiss
魷 jau^^4^^ — squid
"""
@@
@@.answer
"""
炒魷魚 caau^^2^^jau^^4^^jyu^^4*2^^
to get the sack, to be fired //lit.// to fry squid
In the 1950s and 60s, shop assistants in Hong Kong usually lived in the rear portion of the shop where they had to bring along their own straw mat to sleep on at night. If they were fired by their boss, they would have to take away their mat which, being made of straw, could be readily rolled up. And this rolled–up mat, some of them had cross–shaped design, looked very much like a piece of freshly–fried squid which rolls up as a result of the cross–shaped cuts made on its back
炒 caau^^2^^ — fry, speculate, boost, dismiss
魷 jau^^4^^ — squid
魚 jyu^^4^^ — fish
"""
@@
@@.answer
"""
炸 zaa^^3^^/zha^^2^^,zha^^4^^
粵: zaa^^3^^ 華: zha^^4^^
to explode, burst, break
to blow up, blast, bomb
to flare up, fly into a rage
粵: zaa^^3^^ 華: zha^^2^^
to deep–fry, fry in deep fat or oil
華: to scald; 粵: 焯
"""
@@
@@.answer
"""
為乜 wai^^6^^mat^^1^^
粵: why? //syn.// 點解 , 為乜嘢; 書: 為甚麼, 為什麼; 文: 為何
為 wai^^4^^ wai^^6^^ — do, act, serve as, be, for
乜 mat^^1^^ me^^1^^ — 粵: what
"""
@@
@@.answer
"""
為口奔馳 wai^^6^^hau^^2^^ban^^1^^ci^^4^^
to work extremely hard to make a living, to struggle to “make ends meet”
為 wai^^4^^ wai^^6^^ — do, act, serve as, be, for
口 hau^^2^^ — mouth
奔 ban^^1^^ — run quickly, head for
馳 ci^^4^^ — go quickly or swiftly, hurry, rush, spread
"""
@@
@@.answer
"""
為甚麼 wai^^6^^sam^^6^^mo^^1^^
華: why; also: 為什麼; 粵: 點解, 為乜
為 wai^^4^^ wai^^6^^ — do, act, serve as, be, for
甚 sam^^6^^ — extremely, exceed, what
麼 mo^^1^^ — (suffix)
"""
@@
@@.answer
"""
為非作歹 wai^^4^^fei^^1^^zok^^3^^daai^^2^^
to commit all kinds of misdeeds and crimes, to commit evil acts
為 wai^^4^^ wai^^6^^ — do, act, serve as, be, for
非 fei^^1^^ — not, non–, wrong
作 zok^^3^^ — make, write, regard as
歹 daai^^2^^ — bad, evil, vicious
"""
@@
@@.answer
"""
為食 wai^^6^^sik^^6^^
greedy, gluttonous, gourmand, greedy (for food) //syn.// 爲食
為 wai^^4^^ wai^^6^^ — do, act, serve as, be, for
食 sik^^6^^ zi^^6^^ — eat, food
"""
@@
@@.answer
"""
烏雲 wu^^1^^wan^^4^^
black clouds
烏 wu^^1^^ — crow, dark
雲 wan^^4^^ — cloud
"""
@@
@@.answer
"""
焉道 bin^^1^^dou^^6^^
粵: where, commonly written 邊度
焉 jin^^4^^ jin^^1^^ — here, this, only after, how, where
道 dou^^6^^ — road, way, channel, doctrine, Taoism, skill
"""
@@
@@.answer
"""
焗 guk^^6^^ / ju^^2^^
to heat up (or bake) with steam
stuffy, sultry, stifling, suffocating, muggy
to be forced/coerced to, be trapped
"""
@@
@@.answer
"""
無力 mou^^4^^lik^^6^^
powerless
無 mou^^4^^ — not, negative, don’t have
力 lik^^6^^ — strength, force, power
"""
@@
@@.answer
"""
無恥 mou^^4^^ci^^2^^
shameless, unembarrassed, thick–skinned
無 mou^^4^^/wu^^2^^ — not, negative, don’t have
恥 ci^^2^^/chi^^3^^ — shame, disgrace
"""
@@
@@.answer
"""
無比 mou^^4^^bei^^2^^
beyond compare, incomparable, peerless
無 mou^^4^^ — not, negative, don’t have
比 bei^^2^^ bei^^3^^ bei^^6^^ — compare with, liken to, than
"""
@@
@@.answer
"""
無論 mou^^4^^leon^^6^^
regardless of, no matter, without regard to, irrespective of
無 mou^^4^^/wu^^2^^ — not, negative, don’t have
論 leon^^6^^/lun^^4^^ — discuss, determine, view, theory
"""
@@
@@.answer
"""
焦點 ziu^^1^^dim^^2^^
a focus, focal point
焦 ziu^^1^^/jiao^^1^^ — burnt, scorched, worried, a surname
點 dim^^2^^/dian^^3^^ — dot, point, drop, select, touch, instruct
"""
@@
@@.answer
"""
煉奶 lin^^6^^naai^^5^^
condensed milk
煉 lin^^6^^/lian^^4^^ — smelt, polish, temper
奶 naai^^5^^/nai^^3^^ — milk
"""
@@
@@.answer
"""
煎魚 zin^^1^^jyu^^4*2^^
to pan–fry a fish, pan–fried fish
煎 zin^^1^^ — fry in oil, simmer in water
魚 jyu^^4^^ — fish
"""
@@
@@.answer
"""
煙斗 jin^^1^^dau^^2^^
a smoking pipe
煙 jin^^1^^/yan^^1^^ — smoke, cigarette
斗 dau^^2^^/dou^^3^^ — measurement unit for grains
"""
@@
@@.answer
"""
煠 saap^^6^^ zaa^^3^^
粵: saap^^6^^ — 粵: only
boil, cook in boiling water; no standard character for saap^^6^^. 實用廣州話分類詞典 uses 煠, 廣州話正音字典 and 廣州話方言詞典 both use 熠, 廣州話普通話詞典 uses 烚, UniHan lists both 炠 and 𤆣
粵: zaa^^3^^; 華: zha^^2^^
deep–fry, fry in deep fat or oil; 煠 is used only occasionally as a variant of 炸
"""
@@
@@.answer
"""
煠熟狗頭 saap^^6^^suk^^6^^gau^^2^^tau^^4^^
a huge grin, often intended to dissemble or disguise true motives //lit.// boil cooked dog head
煠 saap^^6^^ zaa^^3^^ — boil, deep–fry
熟 suk^^6^^ — cooked, ripe, processed, familiar, skilled
狗 gau^^2^^ — dog
頭 tau^^4^^ — head, first, chief
"""
@@
@@.answer
"""
照顧 ziu^^3^^gu^^3^^
to look after, to care for, to consider
照 ziu^^3^^/zhao^^4^^ — shine, light, take care of
顧 gu^^3^^/gu^^4^^ — look at, look after, visit, customer
"""
@@
@@.answer
"""
煩 faan^^4^^
troublesome, irritable, fed up with
to vex, annoy, bore, disturb
to [polite] trouble, bother
redundant and confusing
"""
@@
@@.answer
"""
煲呔 bou^^1^^taai^^1^^
a bow tie (loanword), also seen as 褒呔
煲 bou^^1^^ — cooker, boiler, cook, stew
呔 taai^^1^^ — tyre, necktie
"""
@@
@@.answer
"""
煲水新聞 bou^^1^^seoi^^2^^san^^1^^man^^4^^
news without substantial facts, gossip news, fabricated news //lit.// boil water news
煲 bou^^1^^/bao^^1^^ — cooker, boiler, cook, stew
水 seoi^^2^^/shui^^3^^ — water, liquid, dough (money)
新 san^^1^^/xin^^1^^ — new, novel, fresh, beginning
聞 man^^4^^ man^^6^^/wen^^2^^ wen^^4^^ — hear, smell, news
"""
@@
@@.answer
"""
煲無米粥 bou^^1^^mou^^4^^mai^^5^^zuk^^1^^
//lit.// to boil congee without rice
to waste time planning something
to discuss something that will not amount to anything
煲 bou^^1^^/bao^^1^^ — cooker, boiler, cook, stew
無 mou^^4^^/wu^^2^^ — not, negative, don’t have
米 mai^^5^^/mi^^3^^ — uncooked rice
粥 zuk^^1^^/zhou^^1^^ — congee, rice gruel, porridge
"""
@@
@@.answer
"""
煲電話粥 bou^^1^^din^^6^^waa^^6*2^^zuk^^1^^
to talk a long time on the telephone //lit.// to cook telephone rice porridge
煲 bou^^1^^/bao^^1^^ — cooker, boiler, cook, stew
電 din^^6^^/dian^^4^^ — lightning, electricity
話 waa^^6^^ waa^^2^^/hua^^4^^ — word, talk, speak, language
粥 zuk^^1^^/zhou^^1^^ — congee, rice gruel, porridge
"""
@@
@@.answer
"""
熊市 hung^^4^^si^^5^^
a falling stock–market, a financial situation in which confidence in stock prices etc. is low //lit.// bear market
熊 hung^^4^^/xiong^^2^^ — a bear
市 si^^5^^/shi^^4^^ — market, fair, city, metropolis, trade
"""
@@
@@.answer
"""
熟口熟面 suk^^6^^hau^^2^^suk^^6^^min^^6^^
a phrase describing someone who (you believe) you recognise, but cannot exactly identify //lit.// familiar mouth familiar face //syn.// 熟口面
熟 suk^^6^^ — cooked, ripe, processed, familiar, skilled
口 hau^^2^^ — mouth
面 min^^6^^ — face, surface, top, side, aspect, extent
"""
@@
@@.answer
"""
熟口面 suk^^6^^hau^^2^^min^^6^^
a familiar face, familiar person; 華: 熟悉的
熟 suk^^6^^ — cooked, ripe, processed, familiar, skilled
口 hau^^2^^ — mouth
面 min^^6^^ — face, surface, top, side, aspect, extent
"""
@@
@@.answer
"""
熟行 suk^^6^^hong^^4^^ — well acquainted with a task or trade; [n] expert, [adj] experienced
熟 suk^^6^^ — cooked; ripe; processed; familiar; skilled
行 hang^^4^^ haang^^4^^ hong^^4^^ hang^^6^^ — walk; circulate; line; trade; shop; conduct
"""
@@
@@.answer
"""
熨斗 tong^^3^^dau^^2^^
a clothes–iron
熨 tong^^3^^ wan^^6^^ wat^^1^^ — iron, press (clothes)
斗 dau^^2^^ — measurement unit for grains
"""
@@
@@.answer
"""
熬夜 ngou^^4^^je^^6^^
華: to stay up late; 粵: 捱夜
熬 ngou^^4^^ ngaau^^4^^ — endure, cook, stew
夜 je^^6^^ — night, dark, darkness
"""
@@
@@.answer
"""
熱流 jit^^6^^lau^^4^^
heat flow, heat currents, thermal currents
熱 jit^^6^^ — hot
流 lau^^4^^ — flow, drift, circulate, current, class, fake
"""
@@
@@.answer
"""
熱線 jit^^6^^sin^^3^^
a telephone hotline
熱 jit^^6^^ — hot
線 sin^^3^^ — thread, line
"""
@@
@@.answer
"""
熱身 jit^^6^^san^^1^^
a warmup (exercise)
熱 jit^^6^^ — hot
身 san^^1^^ — body, life, oneself
"""
@@
@@.answer
"""
熱門 jit^^6^^mun^^4*2^^
the favourite in a competition, a “hot favourite”, popular, in great demand //lit.// hot gate; [antonym] 冷門
熱 jit^^6^^ — hot
門 mun^^4^^ — gate, door, entrance
"""
@@
@@.answer
"""
熱頭 jit^^6^^tau^^4*2^^
粵: the sun //syn.// 日頭; 華: 太陽
熱 jit^^6^^ — hot
頭 tau^^4^^ — head, first, chief
"""
@@
@@.answer
"""
㷫 hing^^3^^
to warm or dry sth by slow fire
hot, scalding, feverish
angry, furious, ferocious
"""
@@
@@.answer
"""
燒冷灶 siu^^1^^laang^^5^^zou^^3^^
to support someone who has fallen from power or status //lit.// warm a cold stove
燒 siu^^1^^ — burn, heat, cook, fever
冷 laang^^5^^ laang^^5*1^^ — cold, cool, chilly
灶 zou^^3^^ — kitchen range
"""
@@
@@.answer
"""
爆冷 baau^^3^^laang^^5^^
an unexpected result in a race or match, an “upset”
爆 baau^^3^^/bao^^4^^ — explode, disclose
冷 laang^^5^^ laang^^5*1^^/leng^^3^^ — cold, cool, chilly
"""
@@
@@.answer
"""
爆煲 baau^^3^^bou^^1^^
to let out a secret, to reveal a secret
to go over the limit, i.e. to “bust” (e.g. in blackjack)
爆 baau^^3^^/bao^^4^^ — explode, disclose
煲 bou^^1^^/bao^^1^^ — cooker, boiler, cook, stew
"""
@@
@@.answer
"""
爆石 baau^^3^^sek^^6^^
rock blasting, (slang) defecate, to take a shit
爆 baau^^3^^/bao^^4^^ — explode, disclose
石 sek^^6^^ daam^^3^^/shi^^2^^ dan^^4^^ — stone, rock, stone inscription
"""
@@
@@.answer
"""
爆粗 baau^^3^^cou^^1^^
to scream an obscenity, yell an obscenity
爆 baau^^3^^/bao^^4^^ — explode, disclose
粗 cou^^1^^/cu^^1^^ — rough, careless
"""
@@
@@.answer
"""
爛鬼 laan^^6^^gwai^^2^^
a bad guy, a hoodlum
useless, cheap //lit.// rotten ghost
爛 laan^^6^^ — rotten, worn–out
鬼 gwai^^2^^ — ghost, devil, dishonest, terrible
"""
@@
@@.answer
"""
爪 zaau^^2^^ / zhao^^3^^ zhua^^3^^
a claw, talon, paw, unguis, nail; 華: zhao^^3^^ is standard reading, zhua^^3^^ is variant
"""
@@
@@.answer
"""
爭些少 zaang^^1^^se^^1^^siu^^2^^
almost, lacking by a little bit, slightly deficient or inadequate //syn.// 爭啲; 華: 差點(兒)
爭 zaang^^1^^ zang^^1^^/zheng^^1^^ — compete, dispute, owe, lack, partial to
些 se^^1^^/xie^^1^^ — some, a bit
少 siu^^2^^ siu^^3^^/shao^^3^^ shao^^4^^ — few, lack, be missing, young
"""
@@
@@.answer
"""
爭氣 zang^^1^^hei^^3^^
to work hard for sth
爭 zaang^^1^^ zang^^1^^/zheng^^1^^ — compete, dispute, owe, lack, partial to
氣 hei^^3^^/qi^^4^^ — gas, air, breath, anger
"""
@@
@@.answer
"""
爵士 zoek^^3^^si^^6^^
Sir — used before the Christian name
a knight (title)
jazz (music)
爵 zoek^^3^^ — peerage, rank of nobility
士 si^^6^^ — commendable person
"""
@@
@@.answer
"""
父母親 fu^^6^^mou^^5^^can^^1^^
parents
父 fu^^6^^ fu^^2^^ — father
母 mou^^5^^ — mother, female
親 can^^1^^ can^^3^^ — parent, relative, intimate, personally
"""
@@
@@.answer
"""
爹哋 de^^1^^di^^6^^
粵: daddy (loanword) 華: 爸爸
爹 de^^1^^ — dad
哋 dei^^6^^ dei^^6*2^^ — somewhat, (plural/adverb suffix)
"""
@@
@@.answer
"""
爽手 song^^2^^sau^^2^^
quick, quickly
爽 song^^2^^ — refreshing, frank, quick
手 sau^^2^^ — hand
"""
@@
@@.answer
"""
片語 pin^^3^^jyu^^5^^
a phrase
片 pin^^3^^ pin^^2^^ — slice, sheet, fragmentary, film
語 jyu^^5^^ — language, speech, speak
"""
@@
@@.answer
"""
牙刷 ngaa^^4^^caat^^3*2^^
a toothbrush, classifier: 把,支
牙 ngaa^^4^^ — teeth, tooth
刷 caat^^3^^ saat^^3^^ — brush, scrub, clean
"""
@@
@@.answer
"""
牙力 ngaa^^4^^lik^^6^^
a tooth
牙 ngaa^^4^^ — teeth, tooth
力 lik^^6^^ — strength, force, power
"""
@@
@@.answer
"""
牙尖嘴利 ngaa^^4^^zim^^1^^zeoi^^2^^lei^^6^^
glib, smooth–talking
牙 ngaa^^4^^ — teeth, tooth
尖 zim^^1^^ — sharp, pointed, advanced
嘴 zeoi^^2^^ — mouth
利 lei^^6^^, lai^^6^^ — profit, gains, benefit, serve
"""
@@
@@.answer
"""
牙屎屎 ngaa^^4^^si^^2^^si^^2^^
to boast, to talk big
牙 ngaa^^4^^ — teeth, tooth
屎 si^^2^^ — excrement; no good
"""
@@
@@.answer
"""
牙斬斬 ngaa^^4^^zaam^^2^^zaam^^2^^
to boast, to talk big (also 牙屎屎)
牙 ngaa^^4^^ — teeth, tooth
斬 zaam^^2^^ — chop, cut
"""
@@
@@.answer
"""
牙痛 nga^^4^^tung^^3^^
a toothache
牙 ngaa^^4^^/ya^^2^^ — teeth, tooth
痛 tung^^3^^/tong^^4^^ — painful, aching
"""
@@
@@.answer
"""
牙骹 ngaa^^4^^gaau^^3^^
the jawbone
牙 ngaa^^4^^ — teeth, tooth
骹 gaau^^3^^ haau^^1^^ — joint
"""
@@
@@.answer
"""
牙齒當金使 ngaa^^4^^ci^^2^^dong^^3^^gam^^1^^sai^^2^^
to be reliable, trustworthy
牙 ngaa^^4^^ — teeth, tooth
齒 ci^^2^^ — teeth, tooth–like object
當 dong^^1^^ dong^^3^^ — work as, in charge, appropriate, regard as
金 gam^^1^^ — gold
使 sai^^2^^ si^^2^^ si^^3^^ — send, enable, use, envoy
"""
@@
@@.answer
"""
牛仔 ngau^^4^^zai^^2^^
a calf
a cowboy
牛 ngau^^4^^/niu^^2^^ — cow, ox, cattle
仔 zai^^2^^ zi^^2^^/zai^^3^^ zi^^1^^ — son, child
"""
@@
@@.answer
"""
牛公 ngau^^4^^gung^^1^^
粵: a bull, ox
牛 ngau^^4^^ — cow, ox, cattle
公 gung^^1^^ — public, common, international, impartial
"""
@@
@@.answer
"""
牛市 ngau^^4^^si^^5^^
a rising market, a bull market (as opposed to 熊市)
牛 ngau^^4^^ / niu^^2^^ — cow, ox, cattle
市 si^^5^^/ shi^^4^^ — market, fair, city, metropolis, trade
"""
@@
@@.answer
"""
牛皮燈籠 ngau^^4^^pei^^4^^dang^^1^^lung^^4^^
A two–part idiom (歇後語), the second part is 點極都唔明. 牛皮燈籠 literally means “a lantern mounted with hide”. So this lantern emits no light no matter how it is kindled, i.e. 點極都唔明. The pun lies in the two words 點 and 明, which can also mean “to teach” and “to understand” respectively. Therefore, apart from the apparent meaning of “no light no matter how it is kindled”, 牛皮燈籠 also contains a hidden meaning of “not bright no matter how one is taught”.
牛 ngau^^4^^/niu^^2^^ — cow, ox, cattle
皮 pei^^4^^ pei^^4*2^^/pi^^2^^ — skin, leather, wrapper, naughty, buck
燈 dang^^1^^/deng^^1^^ — light, lamp
籠 lung^^4^^ lung^^5^^/long^^2^^ long^^3^^ — cage, bamboo steamer, envelop, large box
"""
@@
@@.answer
"""
牛精 ngau^^4^^zing^^1^^
rude and unreasonable, a rude and unreasonable person, to behave like a bully
牛 ngau^^4^^/niu^^2^^ — cow, ox, cattle
精 zing^^1^^ zeng^^1^^/jing^^1^^ — refined, best, smart, essence, energy
"""
@@
@@.answer
"""
牛雜 ngau^^4^^zaap^^6^^
ox offal, ox entrails, assorted ox organs //var.// 牛什
牛 ngau^^4^^/niu^^2^^ — cow, ox, cattle
雜 zaap^^6^^/za^^2^^ — mix, blend, mingle
"""
@@
@@.answer
"""
牧童笛 muk^^6^^tung^^4^^dek^^6*2^^
a recorder (musical instrument)
erroneously written as 木筒笛; classifier: 支
牧 muk^^6^^/mu^^4^^ — herd, tend
童 tung^^4^^/tong^^2^^ — child
笛 dek^^6^^ dek^^6*2^^/di^^2^^ — bamboo flute, whistle
"""
@@
@@.answer
"""
物 mat^^6^^ / wu^^4^^
a thing, substance, creature, being, matter
content, substance, stuff
the physical world, nature
other people
"""
@@
@@.answer
"""
物色 mat^^6^^sik^^1^^
to scout about for, search for, look around for, seek out, choose
物 mat^^6^^/wu^^4^^ — thing, substance, stuff
色 sik^^1^^/se^^4^^ — colour
"""
@@
@@.answer
"""
特地 dak^^6^^dei^^6*2^^
華: specially, purposefully, for a particular purpose //syn.// 特意; 粵: 特登, 故意
特 dak^^6^^ — special, unique, unusual
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
"""
@@
@@.answer
"""
牽引 hin^^1^^jan^^5^^
to pull, to draw (a cart), to tow
牽 hin^^1^^ — lead along, pull, drag, implicate, hold up
引 jan^^5^^ — pull, attract, guide
"""
@@
@@.answer
"""
犧牲 hei^^1^^sang^^1^^
to sacrifice (one’s time, freedom, career, health, life, etc), give up
犧 hei^^1^^/xi^^1^^ — sacrifice
牲 saang^^1^^ sang^^1^^/sheng^^1^^ — domestic animal
"""
@@
@@.answer
"""
犯賤 faan^^6^^zin^^6^^
masochistic, asking for pain and suffering
犯 faan^^6^^ faan^^6*2^^ — offend, violate, invade, criminal
賤 zin^^6^^ — low–priced, lowly, low–down
"""
@@
@@.answer
"""
狀況 zong^^6^^fong^^3^^
a condition, state, situation
狀 zong^^6^^ — form, condition, certificate
況 fong^^3^^ — condition, moreover, much less
"""
@@
@@.answer
"""
狼狗 long^^4^^gau^^2^^
a wolfdog, a wolfhound
狼 long^^4^^/lang^^2^^ — wolf, fierce
狗 gau^^2^^/gou^^3^^ hou^^4^^ — dog
"""
@@
@@.answer
"""
猖狂 coeng^^1^^kong^^4^^
savage, furious
猖 coeng^^1^^ — rampant, mad, unruly
狂 kong^^4^^ kwong^^4^^ — mad, violent, wildly
"""
@@
@@.answer
"""
猛人 maang^^5^^jan^^4^^
somebody else
猛 maang^^5^^/meng^^3^^ — ferocious, energetic, abruptly
人 jan^^4^^/ren^^2^^ — person, human being
"""
@@
@@.answer
"""
猜拳 caai^^1^^kyun^^4^^
(to play) a guessing game with numbers usually played in pubs and bars in which the loser must drink or pay some forfeit after each turn //lit.// to guess fist
猜 caai^^1^^ — guess, suspect, clue
拳 kyun^^4^^ — fist, various forms of boxing
"""
@@
@@.answer
"""
猥瑣 wai^^2^^so^^2^^
wretched, boorish, vulgar, despicable (of appearance or behaviour)
粵: wai^^2^^so^^2^^ standard, wui^^1^^so^^2^^ variant
猥 wai^^2^^ wui^^1^^/wei^^3^^ — vulgar, obscene, numerous
瑣 so^^2^^/suo^^3^^ — trivial, petty
"""
@@
@@.answer
"""
猴子 hau^^4^^zi^^2^^
a monkey
猴 hau^^4^^ — monkey
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
猿人 jyun^^4^^jan^^4^^
an ape man
猿 jyun^^4^^ — ape
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
獎狀 zoeng^^2^^zong^^6^^
a certificate (of prize, degree, diploma etc.)
獎 zoeng^^2^^ — reward, award, praise
狀 zong^^6^^ — form, condition, certificate
"""
@@
@@.answer
"""
獨食 duk^^6^^sik^^6^^
to eat alone
selfish, domineering
獨 duk^^6^^ — single, alone, uniquely
食 sik^^6^^ zi^^6^^ — eat, food
"""
@@
@@.answer
"""
獻世 hin^^3^^sai^^3^^
make a spectacle/fool of oneself, bring shame on oneself, lose face, be disgraced
feel one’s life to be worthless/pointless, live the rest of one’s life in pain or disgrace, be penanced for one’s ill deeds
//lit.// to present oneself before the world
華: 現世, 丟臉, 出醜
獻 hin^^3^^/xian^^4^^ — offer, show
世 sai^^3^^ — generation, lifespan
"""
@@
@@.answer
"""
王朝 wong^^4^^ciu^^4^^
a dynasty, monarchy
an imperial court, royal court
王 wong^^4^^ wong^^6^^ — king, monarch, duke
朝 ziu^^1^^ ciu^^4^^ — morning, face towards, dynasty
"""
@@
@@.answer
"""
玩兒 wun^^6^^ji^^4^^
華: to play (with a toy); 粵: 玩 waan^^2^^, 反 faan^^2^^
玩 waan^^2^^ wun^^6^^ — play, have fun, employ, enjoy
兒 ji^^4^^ — child, son
"""
@@
@@.answer
"""
玩具 wun^^6^^geoi^^6^^
a toy
玩 waan^^2^^ wun^^6^^ — play, have fun, employ, enjoy
具 geoi^^6^^ — tool, provide
"""
@@
@@.answer
"""
玩具舖 wun^^6^^geoi^^6^^pou^^3*2^^
a toy shop
玩 waan^^2^^ wun^^6^^ — play, have fun, employ, enjoy
具 geoi^^6^^ — tool, provide
舖 pou^^3^^ pou^^3*2^^ — shop, store
"""
@@
@@.answer
"""
玩弄 wun^^6^^lung^^6^^
to flirt with, dally with, toy with, wind up
to play with, juggle with; 粵: 玩 waan^^2^^, 撚 nan^^2^^
to resort to, engage in, employ
玩 waan^^2^^ wun^^6^^ — play, have fun, employ, enjoy
弄 lung^^6^^ — play with, manage, make fun of, alley, lane
"""
@@
@@.answer
"""
玫 mui^^4^^/ mei^^2^^
a rose (flower or tree)
another name for black mica, a sparkling red gem, a kind of jade
"""
@@
@@.answer
"""
珠峰 zyu^^1^^fung^^1^^
mount everest
珠 zyu^^1^^/zhu^^1^^ — pearl, bead, drop
峰 fung^^1^^/feng^^1^^ — peak, summit, hump of camel
"""
@@
@@.answer
"""
班水 baan^^1^^seoi^^2^^
to borrow or raise money (to deal with an emergency) //lit.// to gather water
班 baan^^1^^/ban^^1^^ — class, shift, scheduled runs
水 seoi^^2^^/shui^^3^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
班馬 baan^^1^^maa^^5^^
to call for reinforcements
班 baan^^1^^/ban^^1^^ — class, shift, scheduled runs
馬 maa^^5^^/ma^^3^^ — horse
"""
@@
@@.answer
"""
現款 jin^^6^^fun^^2^^
cash
現 jin^^6^^/xian^^4^^ — appear, emerge, now, available
款 fun^^2^^/kuan^^3^^ — sum of money, pattern, entertain, section
"""
@@
@@.answer
"""
現況 jin^^6^^fong^^3^^
the present time or situation
現 jin^^6^^/xian^^4^^ — appear, emerge, now, available
況 fong^^3^^/kuang^^4^^ — condition, moreover, much less
"""
@@
@@.answer
"""
球果 kau^^4^^gwo^^2^^
華: a cone (such as on a pine tree or bush)
球 kau^^4^^ — ball
果 gwo^^2^^ — fruit
"""
@@
@@.answer
"""
瑜珈 jyu^^4^^gaa^^1^^
yoga (loanword) also 瑜伽
瑜 jyu^^4^^ — fine jade, virtues
珈 gaa^^1^^ — jade hairpin
"""
@@
@@.answer
"""
瓊 king^^4^^
a fine jade, agate
excellent, beautiful, elegant, fabulous
粵: to coagulate, congeal, solidify, settle, also written as 凝
"""
@@
@@.answer
"""
瓜子 gwaa^^1^^zi^^2^^
melon seeds
瓜 gwaa^^1^^ — gourd, melon
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
瓷器 ci^^4^^hei^^3^^
porcelain, chinaware, china
瓷 ci^^4^^/ci^^2^^ — porcelain, chinaware
器 hei^^3^^/qi^^4^^ — instrument, tool, utensil
"""
@@
@@.answer
"""
甚至乎 sam^^6^^zi^^3^^fu^^4^^
粵: even, to the point that…
甚 sam^^6^^ — extremely, exceed, what
至 zi^^3^^ — reach (place), arrive at, extremely, very
乎 fu^^4^^ — to, at, in, interrogative
"""
@@
@@.answer
"""
甜 tim^^4^^ / tian^^2^^
sweet, sweetness, luscious
agreeable, pleasant
"""
@@
@@.answer
"""
甜椒 tim^^4^^ziu^^1^^
a sweet pepper
甜 tim^^4^^ — sweet
椒 ziu^^1^^ — hot spice plant
"""
@@
@@.answer
"""
甜絲絲 tim^^4^^si^^1^^si^^1^^
pleasantly sweet, quite pleased, gratified, happy
甜 tim^^4^^ — [adj] sweet
絲 si^^1^^ — silk
"""
@@
@@.answer
"""
甜菜 tim^^4^^coi^^3^^
a beet, beetroot //lit.// sweet vegetable
甜 tim^^4^^ — sweet
菜 coi^^3^^ — vegetables, dish
"""
@@
@@.answer
"""
生安白造 saang^^1^^on^^1^^baak^^6^^zou^^6^^
to exaggerate, to embellish a story, fabricate, cook up a story, make up without evidence
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
安 on^^1^^ — peaceful, stabilise, install, fabricate
白 baak^^6^^ — white, clear, pure
造 zou^^6^^ cou^^3^^ — make, create, build, construct
"""
@@
@@.answer
"""
生日 saang^^1^^jat^^6^^
a birthday
生 saang^^1^^ sang^^1^^/sheng^^1^^ — born, grow, life, alive, unripe
日 jat^^6^^/ri^^4^^ — sun, day
"""
@@
@@.answer
"""
生氣 saang^^1^^hei^^3^^
to get angry, take offence; 粵: 激氣, 嬲
liveliness, vibrancy, vitality
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
氣 hei^^3^^ — gas, air, breath, anger
"""
@@
@@.answer
"""
生水 saang^^1^^seoi^^2^^
unboiled water, raw water
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
生活 sang^^1^^wut^^6^^
a lifestyle, activity
生 saang^^1^^ sang^^1^^/sheng^^1^^ — born, grow, life, alive, unripe
活 wut^^6^^/huo^^2^^ — live, exist, work, vivid, movable, alive
"""
@@
@@.answer
"""
生涯 sang^^1^^ngaai^^4^^
a career
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
涯 ngaai^^4^^ — margin, waterside
"""
@@
@@.answer
"""
生物 sang^^1^^mat^^6^^
a living creature
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
物 mat^^6^^ — thing, substance, stuff
"""
@@
@@.answer
"""
生蝦噉跳 saang^^1^^haa^^1^^gam^^2^^tiu^^3^^
粵: furious, fuming, enraged //lit.// jump like a live shrimp
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
蝦 haa^^1^^ haa^^4*1^^ — shrimp, prawn, bully
噉 gam^^2^^ — such, like this, this way, in that case
跳 tiu^^3^^ — jump
"""
@@
@@.answer
"""
生鏽 saang^^1^^sau^^3^^
to rust, rusty //var.// 生銹; 粵: also 生鍟
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
鏽 sau^^3^^ — rust
"""
@@
@@.answer
"""
生魚片 saang^^1^^jyu^^4*2^^pin^^3*2^^
a slice of //sashimi// or raw fish; 日: 刺身
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
魚 jyu^^4^^ — fish
片 pin^^3^^ pin^^2^^ — slice, sheet, fragmentary, film
"""
@@
@@.answer
"""
產假 caan^^2^^gaa^^3^^
maternity leave, baby break [related term] 侍產假
產 caan^^2^^ — bear offspring, produce, property
假 gaa^^2^^ gaa^^3^^ — false, fake, suppose, if, borrow, holiday
"""
@@
@@.answer
"""
產品 caan^^2^^ban^^2^^
a product, goods
產 caan^^2^^ — bear offspring, produce, property
品 ban^^2^^ — product, commodity
"""
@@
@@.answer
"""
用手 jung^^6^^sau^^2^^
manually
用 jung^^6^^ — use, operate
手 sau^^2^^ — hand
"""
@@
@@.answer
"""
由頭到尾 jau^^4^^tau^^4^^dou^^3^^mei^^5^^
from first to last, from beginning to end, from start to finish, from top to bottom, from A to Z, from end to end, from cover to cover //lit.// from head to tail; 華: 從頭到尾
由 jau^^4^^ — cause, reason, from
頭 tau^^4^^ — head, first, chief
到 dou^^3^^ dou^^3*2^^ — arrive, go to
尾 mei^^5^^ — tail, rear, end, remnant
"""
@@
@@.answer
"""
男友 naam^^4^^jau^^5^^ — male friend, boyfriend | abbreviation for: 男朋友
男 naam^^4^^ — man
友 jau^^5^^ — friend, friendship
"""
@@
@@.answer
"""
男子 naam^^4^^zi^^2^^
a man, a male, male (person) also 男人
男 naam^^4^^ — man
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
男孩兒 naam^^4^^haai^^4^^ji^^4^^
華: a boy; 粵: 男仔
男 naam^^4^^ — man
孩 haai^^4^^ — baby
兒 ji^^4^^ — child, son
"""
@@
@@.answer
"""
男朋友 naam^^4^^pang^^4^^jau^^5^^
a boyfriend (lover) //syn.// 男友
男 naam^^4^^ — man
朋 pang^^4^^ — friend
友 jau^^5^^ — friend, friendship
"""
@@
@@.answer
"""
畀人飛 bei^^2^^jan^^4^^fei^^1^^
to be dumped by one’s lover
畀 bei^^2^^/bi^^4^^ — give to, confer, bestow
人 jan^^4^^/ren^^2^^ — person, human being
飛 fei^^1^^/fei^^1^^ — fly, move swiftly; 粵: cut; 粵: fare
"""
@@
@@.answer
"""
畀你 bei^^2^^nei^^5^^
粵: to give you, let you
畀 bei^^2^^ — give to, confer, bestow
你 nei^^5^^ — you
"""
@@
@@.answer
"""
畀佢 bei^^2^^keoi^^5^^
粵: give him/her, let him/her
畀 bei^^2^^ — give to, confer, bestow
佢 keoi^^5^^ — he, him, his, she, her, hers, it
"""
@@
@@.answer
"""
畀稅 bei^^2^^seoi^^3^^
粵: to pay tax, duties or tariff
畀 bei^^2^^ — give to, confer, bestow
稅 seoi^^3^^ — tax, duty, revenue
"""
@@
@@.answer
"""
畏縮 wai^^3^^suk^^1^^
to recoil, shrink, flinch
畏 wai^^3^^ — fear, dread, admire
縮 suk^^1^^ — shrink, recoil
"""
@@
@@.answer
"""
異國 ji^^6^^gwok^^3^^
a foreign country
異 ji^^6^^ — different, unusual, strange, surprise
國 gwok^^3^^ — nation, country, state
"""
@@
@@.answer
"""
番茄 faan^^1^^ke^^4*2^^
a tomato //var.// 蕃茄
番 faan^^1^^ pun^^1^^ — foreign, times, back, again
茄 ke^^2^^ ke^^1^^ gaa^^1^^ — tomato, eggplant, excrement
"""
@@
@@.answer
"""
畫圖 waak^^6^^tou^^4^^
to paint pictures, draw pictures, sketch etc.
a picture, painting, drawing
畫 waak^^6^^ waa^^2^^ waa^^6^^ — draw, paint, drawing
圖 tou^^4^^ — map, picture, diagram
"""
@@
@@.answer
"""
畫家 waa^^6*2^^gaa^^1^^
a painter
畫 waak^^6^^ waa^^2^^ waa^^6^^/hua^^4^^ — draw, paint, drawing
家 gaa^^1^^/jia^^1^^ — home, family, specialist
"""
@@
@@.answer
"""
畫龜 waak^^6^^gwai^^1^^
[slang] to sign one’s name
畫 waak^^6^^ waa^^2^^ waa^^6^^/hua^^4^^ — draw, paint, drawing
龜 gwai^^1^^/gui^^1^^ — turtle, tortoise
"""
@@
@@.answer
"""
當 dong^^1^^ dong^^3^^
粵: dong^^1^^; 華: dang^^1^^
to serve/work as, accept/take (responsibility)
to be in charge, preside, control
at a certain time/place, when, while
to be equal to, match, be commensurate with
to should, ought to, must
to hold back, block, be in sb’s presence
粵: dong^^3^^; 華: dang^^4^^
appropriate, proper, right
to regard/treat as, take for
to pawn, mortgage, pledge
粵: dong^^1^^; 華: dang^^4^^
at/in/on (that very moment/day/month/year)
"""
@@
@@.answer
"""
當值 dong^^1^^zik^^6^^
on duty
當 dong^^1^^ dong^^3^^ — work as, in charge, appropriate, regard as
值 zik^^6^^ — value, worth, happen to, on duty
"""
@@
@@.answer
"""
當堂 dong^^1^^tong^^4^^
then and there, immediately
當 dong^^1^^ dong^^3^^ — work as, in charge, appropriate, regard as
堂 tong^^4^^ — hall, room, cousins, period, class
"""
@@
@@.answer
"""
當家 dong^^1^^gaa^^1^^
to manage household affairs
當 dong^^1^^ dong^^3^^ — work as, in charge, appropriate, regard as
家 gaa^^1^^ — home, family, specialist
"""
@@
@@.answer
"""
當心 dong^^1^^sam^^1^^
to take care, look out, be careful //syn.// 留意; 粵: 顧住, 因住
當 dong^^1^^ dong^^3^^ — work as, in charge, appropriate, regard as
心 sam^^1^^ — heart
"""
@@
@@.answer
"""
當我 dong^^1^^ngo^^5^^
when i…
當 dong^^1^^ dong^^3^^ — work as, in charge, appropriate, regard as
我 ngo^^5^^ — I, me, my
"""
@@
@@.answer
"""
當時 dong^^1^^si^^4^^
at that time, then, while, at that point in time
當 dong^^1^^ dong^^3^^ — work as, in charge, appropriate, regard as
時 si^^4^^ — time
"""
@@
@@.answer
"""
當紅炸子雞 dong^^1^^hung^^4^^zaa^^3^^zi^^2^^gai^^1^^
a popular entertainment personality //lit.// like a red fried chicken
當 dong^^1^^ dong^^3^^ — work as, in charge, appropriate, regard as
紅 hung^^4^^ gung^^1^^ — red, successful, revolutionary, bonus
炸 zaa^^3^^ — explode, blow up, flare up, deep–fry
子 zi^^2^^ — son, person, egg, young, subsidiary
雞 gai^^1^^ — chicken
"""
@@
@@.answer
"""
當舖 dong^^3^^pou^^3*2^^
a pawn shop
當 dong^^1^^ dong^^3^^ — work as, in charge, appropriate, regard as
舖 pou^^3^^ pou^^3*2^^ — shop, store
"""
@@
@@.answer
"""
當食生菜 dong^^3^^sik^^6^^saang^^1^^coi^^3^^
to regard sth as easy (as eating lettuce)
當 dong^^1^^ dong^^3^^ — work as, in charge, appropriate, regard as
食 sik^^6^^ zi^^6^^ — eat, food
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
菜 coi^^3^^ — vegetables, dish
"""
@@
@@.answer
"""
當黑 dong^^1^^hak^^1^^
to have bad luck, be out of luck, rotten luck
當 dong^^1^^ dong^^3^^ — work as, in charge, appropriate, regard as
黑 hak^^1^^ haak^^1^^ — black, dark, secret, wicked
"""
@@
@@.answer
"""
疊韻 dip^^6^^wan^^6^^
to rhyme, a rhyme
疊 dip^^6^^ daap^^6^^/die^^2^^ — pile up, fold up
韻 wan^^6^^ wan^^5^^/yun^^4^^ — melodious sound, rhyme, charm
"""
@@
@@.answer
"""
疑似 ji^^4^^ci^^5^^
to appear that, to seem like, to suspect
疑 ji^^4^^ — doubt, suspect, doubtful, uncertain
似 ci^^5^^ — resemble, similar to, seemingly
"""
@@
@@.answer
"""
疲弱 pei^^4^^joek^^6^^
tired, exhausted, fatigued and weak
疲 pei^^4^^ — tired
弱 joek^^6^^ — weak, fragile, delicate
"""
@@
@@.answer
"""
疼惜 tung^^3^^sek^^3^^
to love tenderly, have tender affection for sb
疼 tang^^4^^ tung^^3^^/teng^^2^^ — ache, hurt, dote on
惜 sik^^1^^ sek^^3^^/xi^^1^^ xi^^2^^ — cherish, stint, have pity on, kiss
"""
@@
@@.answer
"""
疾病 zat^^6^^beng^^6^^
a disease, illness, sickeness, ailment
疾 zat^^6^^/ji^^2^^ — disease, ache, hate, swift
病 beng^^6^^ bing^^6^^/bing^^4^^ — sick, ill, defect, fault
"""
@@
@@.answer
"""
病倒 beng^^6^^dou^^2^^
to come down with an illness
病 beng^^6^^ bing^^6^^ — sick, ill, defect, fault
倒 dou^^2^^ dou^^3^^ — fall over, pour out, turn upside down
"""
@@
@@.answer
"""
病鬼 beng^^6^^gwai^^2^^
a sick person //lit.// sick ghost
病 beng^^6^^ bing^^6^^/bing^^4^^ — sick, ill, defect, fault
鬼 gwai^^2^^/gui^^3^^ — ghost, devil, dishonest, terrible
"""
@@
@@.answer
"""
痛 tung^^3^^ / tong^^4^^
painful, aching
sorrowful, sad, bitter, poignant, bitterly
heartily, to one’s heart’s content
"""
@@
@@.answer
"""
痣 zi^^3^^ / zhi^^4^^
a mole, spot, naevus, nevus
"""
@@
@@.answer
"""
瘦田冇人耕, 耕開有人爭 sau^^3^^tin^^4^^mou^^5^^jan^^4^^gaang^^1^^, gaang^^1^^hoi^^1^^jau^^5^^jan^^4^^zaang^^1^^
something which at first is not in demand, but which later becomes very popular once someone takes an interest
//lit.// no one wants to farm a poor field, yet when someone does the (hard) work of opening it up for farming, people compete for it
"""
@@
@@.answer
"""
瘦蜢蜢 sau^^3^^maang^^5*2^^maang^^5*2^^, sau^^3^^maang^^5*1^^maang^^5*1^^
very thin, scrawny, scraggy, as thin as a rake
瘦 sau^^3^^ — thin, lean, skinny
蜢 maang^^5*2^^ — grasshopper
"""
@@
@@.answer
"""
瘦身 sau^^3^^san^^1^^
to lose weight
to lay–off staff, to stream–line operations, to down–size
瘦 sau^^3^^ — thin, lean, skinny
身 san^^1^^ — body, life, oneself
"""
@@
@@.answer
"""
療 liu^^4^^
to cure, heal, treat
to relieve, alleviate
"""
@@
@@.answer
"""
發出 faat^^3^^ceot^^1^^
to issue, to send out
發 faat^^3^^ — send out, launch, generate, trigger off
出 ceot^^1^^ — go out, show up, exceed, put up, produce
"""
@@
@@.answer
"""
發噏風 faat^^3^^ngap^^1^^fung^^1^^
to prattle aimlessly, to talk nonsense //var.// 發噏瘋; 華: 胡說, 胡說八道 //syn.// 亂噏
發 faat^^3^^ — send out, launch, generate, trigger off
噏 ngap^^1^^ ap^^1^^ — babble, prattle, gossip
風 fung^^1^^ fung^^3^^ — wind
"""
@@
@@.answer
"""
發展 faat^^3^^zin^^2^^
to develop, development
發 faat^^3^^/fa^^1^^ — send out, launch, generate, trigger off
展 zin^^2^^/zhan^^3^^ — open up, expand, prolong, exhibit
"""
@@
@@.answer
"""
發晦氣 faat^^3^^fui^^3^^hei^^3^^
to have a bad temper
發 faat^^3^^ — send out, launch, generate, trigger off
晦 fui^^3^^ — obscure, dark, night
氣 hei^^3^^ — gas, air, breath, anger
"""
@@
@@.answer
"""
發泡膠 faat^^3^^pou^^5^^gaau^^1^^
a foam plastic, foam rubber
發 faat^^3^^/fa^^1^^ — send out, launch, generate, trigger off
泡 pou^^5^^ pou^^4^^ paau^^3^^ paau^^1^^ pok^^1^^/pao^^4^^ pao^^1^^ — bubbles, foam, kill time, soak, brew, puff
膠 gaau^^1^^/jiao^^1^^ — glue, sticky, rubber, plastic
"""
@@
@@.answer
"""
發燒友 faat^^3^^siu^^1^^jau^^5*2^^
a fan, an enthusiast, e.g. 集郵發燒友 an avid stamp collector //syn.// 迷; 華: 愛好者, 狂慕者
發 faat^^3^^ — send out, launch, generate, trigger off
燒 siu^^1^^ — burn, heat, cook, fever
友 jau^^5^^ — friend, friendship
"""
@@
@@.answer
"""
發爛渣 faat^^3^^laan^^6^^zaa^^2^^ — throw a tantrum; fly off the handle; kick up a row; sometimes pronounced in a blended form as ‘frenja’ //syn.// 發火, 發嬲, 發脾氣, 發狼戾; //var// 發爛喳, 發爛咋, 發爛炸, 發爛苲
發 faat^^3^^ — send out, launch; generate; trigger off
爛 laan^^6^^ — rotten; worn–out
渣 zaa^^1^^ zaa^^2^^ — dregs; crumbs; poor quality
"""
@@
@@.answer
"""
發癲 faat^^3^^din^^1^^
to go crazy, become mad, get hysterical
發 faat^^3^^/fa^^1^^ — send out, launch, generate, trigger off
癲 din^^1^^/dian^^1^^ — crazy, mad, insane
"""
@@
@@.answer
"""
發窮惡 faat^^3^^kung^^4^^ok^^3^^
to be furious, to be very angry
發 faat^^3^^ — send out, launch, generate, trigger off
窮 kung^^4^^ — poor, destitute
惡 ok^^3^^ wu^^3^^ wu^^1^^ — evil, vice, bad, fierce, loathe, dislike
"""
@@
@@.answer
"""
發薪 faat^^3^^san^^1^^
to pay salary, pay wages
發 faat^^3^^ — send out, launch, generate, trigger off
薪 san^^1^^ — salary, firewood
"""
@@
@@.answer
"""
發言 faat^^3^^jin^^4^^
a statement
發 faat^^3^^ — send out, launch, generate, trigger off
言 jin^^4^^ — words, speech
"""
@@
@@.answer
"""
發軟蹄 faat^^3^^jyun^^5^^tai^^4^^
to go weak at the knees
發 faat^^3^^ — send out, launch, generate, trigger off
軟 jyun^^5^^ — soft, flexible
蹄 tai^^4^^ — hoof
"""
@@
@@.answer
"""
白 baak^^6^^ / bai^^2^^
white, clear, pure, unblemished, bright, clean, plain
empty, blank
in vain, for nothing
free of charge, //gratis//
the spoken part in an opera, etc.
to state, explain
a Chinese family name
"""
@@
@@.answer
"""
白內障 baak^^6^^noi^^6^^zoeng^^3^^
[醫] a cataract, opacity of the lens or capsule of the eye, causing impairment of vision or blindness
白 baak^^6^^/bai^^2^^ — white, clear, pure
內 noi^^6^^/nei^^4^^ — inside, within
障 zoeng^^3^^/zhang^^4^^ — barrier, block, obstacle
"""
@@
@@.answer
"""
白切雞 baak^^6^^cit^^3^^gai^^1^^
a poached/steamed chicken — usually chopped to pieces when being served //var.// 白斬雞
[slang] a person without much body hair, particularly a woman with shaved pubic area
白 baak^^6^^/bai^^2^^ — white, clear, pure
切 cit^^3^^ cai^^3^^/qie^^1^^ qie^^4^^ — cut, correspond to, close to, eager, all
雞 gai^^1^^/ji^^1^^ — chicken
"""
@@
@@.answer
"""
白日仔 baak^^6^^jat^^6^^zai^^2^^
粵: a moth (slang) cf. 飛蛾
白 baak^^6^^ — white, clear, pure
日 jat^^6^^ — sun, day
仔 zai^^2^^ zi^^2^^ — son, child
"""
@@
@@.answer
"""
白日夢 baak^^6^^jat^^6^^mung^^6^^
a fantasy, daydream
白 baak^^6^^/bai^^2^^ — white, clear, pure
日 jat^^6^^/ri^^4^^ — sun, day
夢 mung^^6^^/meng^^4^^ — dream, wishful thinking
"""
@@
@@.answer
"""
白晝 baak^^6^^zau^^3^^
daytime
//syn.// 白天
粵: 日頭
白 baak^^6^^/bai^^2^^ — white, clear, pure
晝 zau^^3^^/zhou^^4^^ — daytime, daylight
"""
@@
@@.answer
"""
白油 baak^^6^^jau^^4*2^^
粵: soya sauce, soy sauce //syn.// 豉油; 華: 醬油
白 baak^^6^^ — white, clear, pure
油 jau^^4^^ — oil, fat, grease, petroleum
"""
@@
@@.answer
"""
白粉 baak^^6^^fan^^2^^
a white powder
a white cosmetic, face paint, face powder
白 baak^^6^^ — white, clear, pure
粉 fan^^2^^ — powder, flour, noodles, heroin
"""
@@
@@.answer
"""
白肉 baak^^6^^juk^^6^^
plain boiled pork
白 baak^^6^^/bai^^2^^ — white, clear, pure
肉 juk^^6^^/rou^^4^^ rou^^2^^ ru^^4^^ — meat
"""
@@
@@.answer
"""
白色 baak^^6^^sik^^1^^
white
白 baak^^6^^ — white, clear, pure
色 sik^^1^^ — colour
"""
@@
@@.answer
"""
白車 baak^^6^^ce^^1^^
an ambulance //syn.// 粵: 十字車, 救傷車; 華: 救護車, 紅十字車
白 baak^^6^^/bai^^2^^ — white, clear, pure
車 ce^^1^^ geoi^^1^^/che^^1^^ ju^^1^^ — cart, vehicle, car
"""
@@
@@.answer
"""
白酒 baak^^6^^zau^^2^^
a white wine; classifier: bottle: 樽
白 baak^^6^^/bai^^2^^ — white, clear, pure
酒 zau^^2^^/jiu^^3^^ — wine, spirits
"""
@@
@@.answer
"""
白領 baak^^6^^leng^^5^^
white–collar employees
白 baak^^6^^ — white, clear, pure
領 ling^^5^^ leng^^5^^ — lead, possess, receive, collar
"""
@@
@@.answer
"""
白馬王子 baak^^6^^maa^^5^^wong^^4^^zi^^2^^
//lit.// white horse prince
someone who saves a particular situation
someone who comes to the rescue
a man who appears unexpectedly and wins the love of a woman, a “Prince Charming”, a “white knight”
白 baak^^6^^ — white, clear, pure
馬 maa^^5^^ — horse
王 wong^^4^^ wong^^6^^ — king, monarch, duke
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
白鴿眼 baak^^6^^gap^^3^^ngaan^^5^^
a look of disdain //lit.// pigeon–eye
白 baak^^6^^ — white, clear, pure
鴿 gap^^3^^ gaap^^3^^ — dove, pigeon
眼 ngaan^^5^^ — eye
"""
@@
@@.answer
"""
百分 baak^^3^^fan^^6^^
centi– (prefix)
百 baak^^3^^ — hundred
分 fan^^1^^ fan^^6^^ — divide, distribute, distinguish, point
"""
@@
@@.answer
"""
百分之 baak^^3^^fan^^6^^zi^^1^^
percent; compare with percentage: 百分率
百 baak^^3^^ — hundred
分 fan^^1^^ fan^^6^^ — divide, distribute, distinguish, point
之 zi^^1^^ — ’s, of, it, this, go to, to
"""
@@
@@.answer
"""
百分之十 baak^^3^^fan^^6^^zi^^1^^sap^^6^^
ten percent
百 baak^^3^^ — hundred
分 fan^^1^^ fan^^6^^ — divide, distribute, distinguish, point
之 zi^^1^^ — ‘s, of, it, this, go to, to
十 sap^^6^^ — ten
"""
@@
@@.answer
"""
百厭 baak^^3^^jim^^3^^
naughty, badly behaved //syn.// 跳皮, 奀皮, 曳; 華: 淘氣, 頑皮, 調皮
百 baak^^3^^/bai^^3^^ bo^^2^^ mo^^4^^ — hundred
厭 jim^^3^^/yan^^4^^ — fed up with, disgusted with
"""
@@
@@.answer
"""
百合 baak^^3^^hap^^6^^
a lily
百 baak^^3^^ — hundred
合 hap^^6^^ ho^^4^^ gap^^3^^ — close, join, whole, suit, add up to
"""
@@
@@.answer
"""
百年 baak^^3^^nin^^4^^
a hundred years, a century
a lifetime
百 baak^^3^^ — hundred
年 nin^^4^^ — year
"""
@@
@@.answer
"""
百貨店 baak^^3^^fo^^3^^dim^^3^^
a department store //syn.// 百貨公司; 百貨店 has a more Japanese feel to it than 百貨公司
百 baak^^3^^ — hundred
貨 fo^^3^^ — goods, products, cargo
店 dim^^3^^ — shop
"""
@@
@@.answer
"""
百足 baak^^3^^zuk^^1^^
粵: a centipede; 華: 蜈蚣
百 baak^^3^^ — hundred
足 zuk^^1^^ — foot, enough, fully
"""
@@
@@.answer
"""
的咁大 dik^^1^^gam^^3^^daai^^6*1^^
粵: so tiny, small
sometimes shortened to 咁大 gam^^3^^daai^^6*1^^ or even 大 daai^^6*1^^, //note the tone change//, since it is different from 咁大 gam^^3^^daai^^6^^ and 大 daai^^6^^, which mean big
的 dik^^1^^ — possessive suffix
咁 gam^^3^^ — so, –ly
大 daai^^6^^ — big
"""
@@
@@.answer
"""
的士高 dik^^1^^si^^6^^gou^^1^^
a disco, discotheque //syn.// 的士夠格; 華: 迪斯科
的 dik^^1^^ — possessive suffix
士 si^^6^^ — commendable person
高 gou^^1^^ — tall, high
"""
@@
@@.answer
"""
的當 dik^^1^^dong^^3^^
proper, accurate
的 dik^^1^^ — possessive suffix
當 dong^^1^^ dong^^3^^ — work as, in charge, appropriate, regard as
"""
@@
@@.answer
"""
的話 dik^^1^^waa^^6*2^^
華: if, use with 如果 for emphasis; 粵: 嘅話
的 dik^^1^^ — possessive suffix
話 waa^^6^^ waa^^2^^ — word, talk, speak, language
"""
@@
@@.answer
"""
的起心肝 dik^^1^^hei^^2^^sam^^1^^gon^^1^^
to make a serious effort to do something, especially something about which one has already been procrastinating for some time //lit.// to raise heart and liver
的 dik^^1^^ — possessive suffix
起 hei^^2^^ — rise, stand up, begin, build, remove, draft
心 sam^^1^^ — heart
肝 gon^^1^^ — liver
"""
@@
@@.answer
"""
皆 gaai^^1^^ / jie^^1^^
all, each and every, in all cases
"""
@@
@@.answer
"""
皆不 gaai^^1^^bat^^1^^
華: neither, all do not
皆 gaai^^1^^ — all, every, entire
不 bat^^1^^ — not, no, un–
"""
@@
@@.answer
"""
皆無 gaai^^1^^mou^^4^^
nothing, nil
皆 gaai^^1^^ — all, every, entire
無 mou^^4^^ — not, negative, don’t have
"""
@@
@@.answer
"""
皇后 wong^^4^^hau^^6^^
an empress
a woman who is outstanding in a particular field or who has distinguished herself in some way (often used ironically or satirically)
皇 wong^^4^^/huang^^2^^ — emperor, imperial, grand
后 hau^^6^^/hou^^4^^ — empress, queen
"""
@@
@@.answer
"""
皮費 pei^^4^^fai^^3^^
overheads, expenditure, costs //lit.// skin expenses
皮 pei^^4^^ pei^^4*2^^ — skin, leather, wrapper, naughty, buck
費 fai^^3^^ bei^^3^^ — fee, expenses, cost, spend, wasteful
"""
@@
@@.answer
"""
盛宴 sing^^6^^jin^^3^^
a grand feast, a huge banquet
盛 sing^^6^^ sing^^4^^/sheng^^4^^ cheng^^2^^ — flourishing, magnificent, fill, accommodate
宴 jin^^3^^/yan^^4^^ — entertain, feast
"""
@@
@@.answer
"""
盡量 zeon^^6^^loeng^^6^^
to reach the limit, (drink or eat) to the full, do not confuse with 儘量 which is different in form, reading, and meaning
盡 zeon^^6^^/jin^^4^^ — exhaust, use up, all, entirely, die
量 loeng^^4^^ loeng^^6^^/liang^^2^^ liang^^4^^ — measure, deliberate, amount, estimate
"""
@@
@@.answer
"""
盤 pun^^4^^ pun^^4*2^^ / pan^^2^^
粵: pun^^4*2^^; 華: pan^^2^^
a course, dish (of hot/cold food)
a tray (for teapot, dishes, etc)
a current price, market quotation
a plate–shaped object (e.g. chess board)
粵: pun^^4^^; 華: pan^^2^^
[classifier] game, set (of tennis, chess)
[classifier] coil, spool, reel (of tape, wire, etc)
a domain, turf, territory under one's control
to coil up, twist, wind (rope, hair, legs, etc)
to check, examine, interrogate
to transfer the ownership (of factories, etc)
華: pan^^2^^ — 華: only
a plate, dish, saucer (for food); 粵: 碟
in cantonese, 盤 is sometimes mixed up with 盆 because of similarity in pronunciation
"""
@@
@@.answer
"""
盲摸摸 maang^^4^^mo^^2^^mo^^2^^
to do sth. blindly, not have a proper understanding of sth.
to have bad eyesight
盲 maang^^4^^/mang^^2^^ — blind, illiterate
摸 mo^^2^^/mo^^1^^ — touch, fish for, feel out, grope
"""
@@
@@.answer
"""
直接競爭 zik^^6^^zip^^3^^ging^^6^^zang^^1^^
a direct competitor, direct competition
直 zik^^6^^/zhi^^2^^ — straight, vertical, upright, outspoken
接 zip^^3^^/jie^^1^^ — catch, receive, connect, come close to
競 ging^^6^^ ging^^3^^/jing^^4^^ — compete, vie
爭 zaang^^1^^ zang^^1^^/zheng^^1^^ — compete, dispute, owe, lack, partial to
"""
@@
@@.answer
"""
直程 zik^^6^^cing^^4^^
粵: directly, to keep straight, straightaway; 華: 直接, 徑直
粵: surely, sure enough, to be sure, definitely, undoubtedly, absolutely, clearly; 華: 肯定, 當然, 簡直
直 zik^^6^^/zhi^^2^^ — straight, vertical, upright, outspoken
程 cing^^4^^/cheng^^2^^ — distance, measure, pattern
"""
@@
@@.answer
"""
相思 soeng^^1^^si^^1^^
a yearning between lovers, to yearn, lovesickness, to miss each other
相 soeng^^1^^ soeng^^3^^ soeng^^3*2^^ — mutually, appearance, photo
思 si^^1^^ si^^3^^ soi^^1^^ — think, consider, long for, thinking, feeling
"""
@@
@@.answer
"""
相比 soeng^^1^^bei^^2^^
compared to
相 soeng^^1^^ soeng^^3^^ soeng^^3*2^^ — mutually, appearance, photo
比 bei^^2^^ bei^^3^^ bei^^6^^ — compare with, liken to, than
"""
@@
@@.answer
"""
相片 soeng^^3^^pin^^3*2^^
a photograph, photo, picture //syn.// 相 soeng^^3*2^^, 照片
相 soeng^^1^^ soeng^^3^^ soeng^^3*2^^ — mutually, appearance, photo
片 pin^^3^^ pin^^2^^ — slice, sheet, fragmentary, film
"""
@@
@@.answer
"""
相見 soeng^^1^^gin^^3^^
to meet, to meet one another, to become acquainted with someone
相 soeng^^1^^ soeng^^3^^ soeng^^3*2^^/xiang^^1^^ xiang^^4^^ — mutually, appearance, photo
見 gin^^3^^ jin^^6^^/jian^^4^^ xian^^4^^ — see, meet, view, show evidence of
"""
@@
@@.answer
"""
省 saang^^2^^ sing^^2^^ / sheng^^3^^,xing^^3^^
粵: saang^^2^^, 華: sheng^^3^^
to omit, leave out, remove
to economise, save, frugal
province, provincial
粵: sing^^2^^, 華: xing^^3^^
to examine, inspect, observe
to visit (one’s seniors), call on, ask after
to become conscious, be aware, wake up to
"""
@@
@@.answer
"""
省錢 saang^^2^^cin^^4*2^^
to save money (by limiting spending); 粵: 慳錢
省 saang^^2^^ sing^^2^^ — omit, province, examine
錢 cin^^4^^ cin^^4*2^^ — cash, money, coins
"""
@@
@@.answer
"""
省鏡 saang^^2^^geng^^3^^
beautiful, shining, sleek
省 saang^^2^^ sing^^2^^/sheng^^3^^ xing^^3^^ — omit, province, examine
鏡 geng^^3^^/jing^^4^^ — mirror, lens
"""
@@
@@.answer
"""
看到 hon^^3^^dou^^3*2^^
華: to look, have looked; 粵: 睇到
看 hon^^3^^ hon^^1^^ — see, read, watch, judge, guard, regard as
到 dou^^3^^ dou^^3*2^^ — arrive, go to
"""
@@
@@.answer
"""
看書 hon^^3^^syu^^1^^
華: to read (a book)
看 hon^^3^^ hon^^1^^ — see, read, watch, judge, guard, regard as
書 syu^^1^^ — book, writings
"""
@@
@@.answer
"""
看病 hon^^3^^beng^^6^^
華: (of a doctor) treat a patient //syn.// 治病
(of a patient) consult a doctor //syn.// 就診
看 hon^^3^^ hon^^1^^ — see, read, watch, judge, guard, regard as
病 beng^^6^^ bing^^6^^ — sick, ill, defect, fault
"""
@@
@@.answer
"""
看見 hon^^3^^gin^^3^^
華: to see, saw, catch sight of, witnessed; 粵: 睇見
看 hon^^3^^ hon^^1^^ — see, read, watch, judge, guard, regard as
見 gin^^3^^ jin^^6^^ — see, meet, view, show evidence of
"""
@@
@@.answer
"""
看護 hon^^1^^wu^^6^^
to keep watch over, to nurse (a patient)
看 hon^^3^^ hon^^1^^/kan^^4^^ kan^^1^^ — see, read, watch, judge, guard, regard as
護 wu^^6^^/hu^^4^^ — protect, guard, defend
"""
@@
@@.answer
"""
看門 hon^^1^^mun^^4^^
a gatekeeper, to watch the gates or door
看 hon^^3^^ hon^^1^^ — see, read, watch, judge, guard, regard as
門 mun^^4^^ — gate, door, entrance
"""
@@
@@.answer
"""
真情 zan^^1^^cing^^4^^
the real situation, the truth
真 zan^^1^^/zhen^^1^^ — true, real, factual
情 cing^^4^^/qing^^2^^ — emotion, love, sentiment
"""
@@
@@.answer
"""
真的 zan^^1^^dik^^1^^
華: real, true, veritable
真 zan^^1^^ — true, real, factual
的 dik^^1^^ — possessive suffix
"""
@@
@@.answer
"""
真話 zan^^1^^waa^^6^^
true words
真 zan^^1^^ — true, real, factual
話 waa^^6^^ waa^^2^^ — word, talk, speak, language
"""
@@
@@.answer
"""
眨眼 zaap^^3^^ngaan^^5^^
in the wink of an eye, an instant, a split second; 粵: 䁪眼 zaam^^2^^ngaan^^5^^
眨 zaap^^3^^ — blink, wink
眼 ngaan^^5^^ — eye
"""
@@
@@.answer
"""
眼光光 ngaan^^5^^gwong^^1^^gwong^^1^^
to stare into space (while contemplating)
to look on helplessly
eyes remaining open (due to insomnia)
眼 ngaan^^5^^ — eye
光 gwong^^1^^ — light, shine
"""
@@
@@.answer
"""
眼冤 ngaan^^5^^jyun^^1^^
disgusted, revolted
revolting, hateful, hard to look at, to dislike sb. just looking at them
眼 ngaan^^5^^ — eye
冤 jyun^^1^^ — accuse falsely, grievance
"""
@@
@@.answer
"""
眼凸凸 ngaan^^5^^dat^^6^^dat^^6^^
with bulging eyes (e.g. because of anger)
眼 ngaan^^5^^ — eye
凸 dat^^6^^ gu^^2^^ — protruding, convex, raised
"""
@@
@@.answer
"""
眼火爆 ngaan^^5^^fo^^2^^baau^^3^^
angry, enraged, eyes blazing with anger
眼 ngaan^^5^^ — eye
火 fo^^2^^ — fire
爆 baau^^3^^ — explode, disclose
"""
@@
@@.answer
"""
眼甘甘 ngaan^^5^^gam^^1^^gam^^1^^
to gawk, stare at, eye greedily
眼 ngaan^^5^^ — eye
甘 gam^^1^^ — sweet, pleasant, willingly, a surname
"""
@@
@@.answer
"""
眼矇矇 ngaan^^5^^mung^^4*1^^mung^^4*1^^
unable to see clearly, with blurred vision
眼 ngaan^^5^^ — eye
矇 mung^^4^^ mung^^1^^ — blind, ignorant, deceive, narrow one’s eyes
"""
@@
@@.answer
"""
眼紅 ngaan^^5^^hung^^4^^
jealous, envious, covetous; 粵: 呷醋; 華: 妒忌, 吃醋, 酸溜溜
furious, in a blind rage; 粵: 撞火
眼 ngaan^^5^^ — eye
紅 hung^^4^^ gung^^1^^ — red, successful, revolutionary, bonus
"""
@@
@@.answer
"""
眼花 ngaan^^5^^faa^^1^^
with blurred vision, unable to see clearly
dazzled
眼 ngaan^^5^^ — eye
花 faa^^1^^ — flower
"""
@@
@@.answer
"""
眼花花 ngaan^^5^^faa^^1^^faa^^1^^
to have dim insight, have blurred vision
眼 ngaan^^5^^ — eye
花 faa^^1^^ — flower
"""
@@
@@.answer
"""
眼鏡 ngaan^^5^^geng^^3*2^^
glasses, eyeglasses, spectacles, reading glasses
眼 ngaan^^5^^ — eye
鏡 geng^^3^^ — mirror, lens
"""
@@
@@.answer
"""
眼闊肚窄 ngaan^^5^^fut^^3^^tou^^5^^zaak^^3^^
to bite off more than you can chew, sb’s eyes are bigger than their stomach/belly, to be greedy (for food), to be a glutton; 華: 口大喉嚨小 , 眼大肚子小 , 眼饞肚飽
眼 ngaan^^5^^ — eye
闊 fut^^3^^ — wide, separated, wealthy
肚 tou^^5^^ — belly, stomach
窄 zaak^^3^^ — narrow, narrow–minded
"""
@@
@@.answer
"""
着慌 zoek^^6^^fong^^1^^
nervous, alarmed, thrown into a panic //var.// 著慌
着 zoek^^6^^ — touch, apply, affected, move
慌 fong^^1^^ — panicky, flustered
"""
@@
@@.answer
"""
睇穿 tai^^2^^cyun^^1^^
to see through sth, understand the true nature or character of sb.; 華: 看穿
睇 tai^^2^^ — see, look, read, watch, believe
穿 cyun^^1^^ — penetrate, pierce, pass through, wear
"""
@@
@@.answer
"""
睇見 tai^^2^^gin^^3^^
to see, saw, catch sight of, witnessed; 華: 看見
睇 tai^^2^^/di^^4^^ — see, look, read, watch, believe
見 gin^^3^^ jin^^6^^/jian^^4^^ xian^^4^^ — see, meet, view, show evidence of
"""
@@
@@.answer
"""
睬 coi^^2^^ / cai^^3^^
to give heed to, to pay attention to, to take notice of
"""
@@
@@.answer
"""
睡衣 seoi^^6^^ji^^1^^
pyjamas (US: pajamas) | Malaysia/Singapore 粵: 瞓覺衫
睡 seoi^^6^^ — sleep, rest
衣 ji^^1^^ ji^^3^^ — clothing, garment, coating
"""
@@
@@.answer
"""
瞓低 fan^^3^^dai^^1^^
to lie down
瞓 fan^^3^^/kun^^4^^ — sleep, go to bed, lie down
低 dai^^1^^/di^^1^^ — lower, bend, low
"""
@@
@@.answer
"""
瞓着 fan^^3^^zoek^^6^^
粵: to fall asleep, be asleep; 華: 睡着
瞓 fan^^3^^ — sleep, go to bed, lie down
着 zoek^^6^^ — touch, apply, affected, move
"""
@@
@@.answer
"""
瞓醒 fan^^3^^seng^^2^^
to wake up
瞓 fan^^3^^/kun^^4^^ — sleep, go to bed, lie down
醒 sing^^2^^ seng^^2^^/xing^^3^^ — wake up, clever
"""
@@
@@.answer
"""
瞥 pit^^3^^ / pie^^1^^
to take a quick glance, catch a glimpse of, dart a look at
"""
@@
@@.answer
"""
瞭解 liu^^5^^gaai^^2^^
to understand //syn.// 了解
瞭 liu^^5^^ liu^^4^^/liao^^3^^ — understand, look down
解 gaai^^2^^ gaai^^3^^ haai^^6^^/jie^^3^^ jie^^4^^ xie^^4^^ — untie, relieve, explain, escort, understand
"""
@@
@@.answer
"""
矜貴 ging^^1^^gwai^^3^^
self–conceited, arrogant
precious, valuable
矜 ging^^1^^/jin^^1^^ — conceited, discreet, pity
貴 gwai^^3^^/gui^^4^^ — expensive
"""
@@
@@.answer
"""
矣 ji^^5^^ / yi^^3^^
a final particle denoting the perfect tense
an auxiliary denoting determination
both particles or auxiliaries indicating exclamations or questions
"""
@@
@@.answer
"""
知士 zi^^1^^si^^6*2^^
a cheese
知 zi^^1^^ zi^^3^^ — know, knowledge, inform
士 si^^6^^ — commendable person
"""
@@
@@.answer
"""
短期 dyun^^2^^kei^^4^^
short–term
短 dyun^^2^^ — short (length)
期 kei^^4^^ — period of time, phase, expect
"""
@@
@@.answer
"""
短袖 dyun^^2^^zau^^6^^
short sleeves, short–sleeved
短 dyun^^2^^ — short (length)
袖 zau^^6^^ — sleeve
"""
@@
@@.answer
"""
矮 ai^^2^^ / ai^^3^^
a short person, dwarf
short (as in height)
low
see also 短
"""
@@
@@.answer
"""
矮瓜 ai^^2^^gwaa^^1^^
粵: an aubergine, eggplant; //syn.// 茄瓜; 華: 茄子
矮 ai^^2^^ — short (height)
瓜 gwaa^^1^^ — gourd; melon
"""
@@
@@.answer
"""
石 sek^^6^^ daam^^3^^ / shi^^2^^,dan^^4^^
粵: sek^^6^^ 華: shi^^2^^
[1] stone; rock
[2] stone inscription
[3] medicinal minerals
[4] a Chinese surname
粵: daam^^3^^ 華: dan^^4^^
a unit of dry measure for grain
"""
@@
@@.answer
"""
石狗公 sek^^6^^gau^^2^^gung^^1^^
a rockfish (a grouper–like fish), dusky stingfish
粵: to pretend to be rich or powerful, pretend to be a big boss, a man of status. 石九公 is the first part of a 歇後語 that has 充大班 as the hidden part. A rockfish looks like and indeed can pass off (充) as the more expensive grouper (大石斑). And 大斑 (big grouper) sounds like 大班 //taipan//, 斑 also looks like 班 when written
石 sek^^6^^ daam^^3^^ — stone, rock, stone inscription
狗 gau^^2^^ — dog
公 gung^^1^^ — public, common, international, impartial
"""
@@
@@.answer
"""
石級 sek^^6^^kap^^1^^
粵: stone steps
石 sek^^6^^ daam^^3^^ — stone, rock, stone inscription
級 kap^^1^^ — level, rank, grade, class
"""
@@
@@.answer
"""
石頭 sek^^6^^tau^^4^^
a rock, stone; 粵: 石
石 sek^^6^^ daam^^3^^ — stone, rock, stone inscription
頭 tau^^4^^ — head, first, chief
"""
@@
@@.answer
"""
砌 cai^^3^^/qi^^4^^
to lay bricks/stones, pave, build, erect
steps, platform
粵: to play (mahjong), tidy up
粵: to wrongly accuse, frame up
粵: to physically assault, beat up
粵: to have sex with, screw
"""
@@
@@.answer
"""
砌生豬肉 cai^^3^^saang^^1^^zyu^^1^^juk^^6^^
to frame sb, to set sb up, to fabricate a charge or falsify evidence against a suspect; 生豬 is loaned from the English word “charge” //lit.// to lay on raw pork meat)
砌 cai^^3^^ — lay bricks, pave
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
豬 zyu^^1^^ — pig
肉 juk^^6^^ — meat
"""
@@
@@.answer
"""
研究 jin^^4^^gau^^3^^
to research, some research
研 jin^^4^^ ngaan^^4^^/yan^^2^^ — study, grind
究 gau^^3^^/jiu^^1^^ jiu^^4^^ — investigate, dig into, after all
"""
@@
@@.answer
"""
研究生 jin^^4^^gau^^3^^saang^^1^^
a postgraduate student, graduate (research) student; 華: yan^^2^^jiu^^4^^sheng^^1^^ in Taiwan [related terms] 本科生, 博士生
研 jin^^4^^ ngaan^^4^^ — study, grind
究 gau^^3^^ — investigate, dig into, after all
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
"""
@@
@@.answer
"""
砧板 zam^^1^^baan^^2^^
a cutting board, block, a chopping board, a chopping block //var.// 碪板
砧 zam^^1^^ — anvil
板 baan^^2^^ — plank, board
"""
@@
@@.answer
"""
砵酒 but^^1^^zau^^2^^
a port wine, a sweet dark–red dessert wine originally from Portugal, normally drunk around Christmas time
砵 but^^3^^ but^^1^^ — bowl, port (wine)
酒 zau^^2^^ — wine, spirits
"""
@@
@@.answer
"""
硬抄本 ngaang^^6^^caau^^1^^bun^^2^^
a hard copy
硬 ngaang^^6^^/ying^^4^^ — hard, stiff, strong, forcibly
抄 caau^^1^^ caau^^3^^/chao^^1^^ — copy, plagiarise, ransack, rummage
本 bun^^2^^/ben^^3^^ — basis, original, copy
"""
@@
@@.answer
"""
硬晒軚 ngaang^^6^^saai^^3^^taai^^5^^
to come to a deadlock, have no room to manoeuvre, get stuck, reach a stalemate/impasse //lit.// steering wheel stiff; 華: 鬧僵
硬 ngaang^^6^^ — hard, stiff, strong, forcibly
晒 saai^^3^^ — 粵: entirely, very much, show off
舦 — (not in database)
"""
@@
@@.answer
"""
硬食 ngaang^^6^^sik^^6^^
to suffer a punishment directly, to take the full punishment
to take a direct blow, to take a direct hit
to be forced
硬 ngaang^^6^^ — hard, stiff, strong, forcibly
食 sik^^6^^ zi^^6^^ — eat, food
"""
@@
@@.answer
"""
碌咭 luk^^1^^kaat^^1^^
[俗] 粵: to use a credit card, refers to the rolling action of the 70’s and 80’s era credit card machines that rolled over the card to make an imprint //var.// 轆卡
The word “碌咭” is very colloquial cantonese; you can also say “比咭” instead of “碌咭”
碌 luk^^1^^ — mediocre, occupied; 粵: plank/section of
咭 kaat^^1^^ — card
"""
@@
@@.answer
"""
碟子 dip^^6^^zi^^2^^
a small dish, plate, saucer, diskette, disc; 粵: 碟 dip^^6^^ or dip^^6*2^^; 華: 盤子 and 盤–compounds; HK & TW: 碟 for computer–related items like disks and drives.; 華: 盤子 or 盤兒 for plate (food utensil); 粵: 碟, 碟仔
碟 dip^^6^^ dip^^2^^ — dish, plate, disc, CD
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
碧 bik^^1^^ / bi^^4^^
jade, green, blue, verdant, emerald green
jasper, emerald
"""
@@
@@.answer
"""
碼子 maa^^5^^zi^^2^^
a numeral, a counter, a chip
碼 maa^^5^^ — numeral, symbol, yard (length)
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
碼字 maa^^5^^zi^^6^^
a numeral, digit, counter
碼 maa^^5^^ — numeral, symbol, yard (length)
字 zi^^6^^ — word, glyph
"""
@@
@@.answer
"""
社 se^^5^^ / she^^4^^
the god of the soil, god of land
a society, community
an association, organisation, corporation, agency
"""
@@
@@.answer
"""
社團 se^^5^^tyun^^4^^
a social organisation, a //triad// society, union, mass organisation
社 se^^5^^ — society, community
團 tyun^^4^^ — round, assemble, ball, group, regiment
"""
@@
@@.answer
"""
祇 zi^^2^^ kei^^4^^
粵: zi^^2^^, 華: zhi^^3^^
only, merely, just, but
祇 traditional, simplified 只
粵: kei^^4^^, 華: qi^^2^^
the god of the earth
"""
@@
@@.answer
"""
祈禱 kei^^4^^tou^^2^^
to pray, say/give/offer prayers
祈 kei^^4^^ — pray, beseech
禱 tou^^2^^ — pray, beg
"""
@@
@@.answer
"""
祖先 zou^^2^^sin^^1^^
ancestors
祖 zou^^2^^ — ancestor, forefather, founder
先 sin^^1^^ — first, before, temporarily
"""
@@
@@.answer
"""
祖父 zou^^2^^fu^^6^^
a grandfather (formal address); 粵: 阿爺, 阿公
祖 zou^^2^^/zu^^3^^ — ancestor, forefather, founder
父 fu^^6^^ fu^^2^^/fu^^4^^ fu^^3^^ — father
"""
@@
@@.answer
"""
祝你 zuk^^1^^nei^^5^^
to wish you…, wishing you…
祝 zuk^^1^^/zhu^^4^^ — to pray for blessings
你 nei^^5^^/ni^^3^^ — you
"""
@@
@@.answer
"""
祝賀 zuk^^1^^ho^^6^^
to congratulate, congratulations; 粵: 賀
祝 zuk^^1^^/zhu^^4^^ — to pray for blessings
賀 ho^^6^^/he^^4^^ — congratulate, celebrate
"""
@@
@@.answer
"""
神學 san^^4^^hok^^6^^
theology, religious studies
神 san^^4^^ — god, divinity, spirit, supernatural, weird
學 hok^^6^^ — learn, learning, school
"""
@@
@@.answer
"""
神態 san^^4^^taai^^3^^
an appearance, manner, bearing, deportment, look, expression, //mien//
神 san^^4^^ — god, divinity, spirit, supernatural, weird
態 taai^^3^^ — appearance, form, attitude, situation
"""
@@
@@.answer
"""
神棍 san^^4^^gwan^^3^^
a fake or dishonest fortune teller
神 san^^4^^ — god, divinity, spirit, supernatural, weird
棍 gwan^^3^^ — rod, scoundrel, swindle
"""
@@
@@.answer
"""
祠 ci^^4^^
an ancestral temple/hall, memorial temple, shrine
"""
@@
@@.answer
"""
祭旗 zai^^3^^kei^^4^^
to go on a witch–hunt, to search for a scape–goat, to implicate innocent people, to take the blame, to take responsiblity for someone’s mistake, to be punished or killed for a mistake committed by someone else
祭 zai^^3^^/ji^^4^^ — offer sacrifices to, worship
旗 kei^^4^^/qi^^2^^ — flag, banner
"""
@@
@@.answer
"""
禪學 sim^^4^^hok^^6^^
the study of Buddhism
禪 sim^^4^^ sin^^6^^/chan^^2^^ shan^^4^^ — meditation, abdicate, Zen Buddhism
學 hok^^6^^/xue^^2^^ — learn, learning, school
"""
@@
@@.answer
"""
禮拜一 lai^^5^^baai^^3^^jat^^1^^
Monday //syn.// 星期一
禮 lai^^5^^/li^^3^^ — ceremony, rite, propriety, gift
拜 baai^^3^^/bai^^4^^ — visit, salute
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
"""
@@
@@.answer
"""
禮拜三 lai^^5^^baai^^3^^saam^^1^^
Wednesday //syn.// 星期三
禮 lai^^5^^ — ceremony, rite, propriety, gift
拜 baai^^3^^ — visit, salute
三 saam^^1^^ saam^^3^^ — three, several
"""
@@
@@.answer
"""
禮拜二 lai^^5^^baai^^3^^ji^^6^^
Tuesday //syn.// 星期二
禮 lai^^5^^ — ceremony, rite, propriety, gift
拜 baai^^3^^ — visit, salute
二 ji^^6^^ — two
"""
@@
@@.answer
"""
禮拜五 lai^^5^^baai^^3^^ng^^5^^
Friday //syn.// 星期五
禮 lai^^5^^ — ceremony, rite, propriety, gift
拜 baai^^3^^ — visit, salute
五 ng^^5^^ — five, fifth
"""
@@
@@.answer
"""
禮拜四 lai^^5^^baai^^3^^sei^^3^^
Thursday //syn.// 星期四
禮 lai^^5^^ — ceremony, rite, propriety, gift
拜 baai^^3^^ — visit, salute
四 sei^^3^^ — four
"""
@@
@@.answer
"""
禮拜天 lai^^5^^baai^^3^^tin^^1^^
華: Sunday //syn.// 禮拜日, 星期天, 星期日
禮 lai^^5^^ — ceremony, rite, propriety, gift
拜 baai^^3^^ — visit, salute
天 tin^^1^^ — sky, heaven
"""
@@
@@.answer
"""
禮拜尾 lai^^5^^baai^^3^^mei^^5^^
粵: a weekend //syn.// 星期尾; 華: 週末
禮 lai^^5^^ — ceremony, rite, propriety, gift
拜 baai^^3^^ — visit, salute
尾 mei^^5^^ — tail, rear, end, remnant
"""
@@
@@.answer
"""
禽獸 kam^^4^^sau^^3^^
fur and feather, birds and beasts, inhuman
禽 kam^^4^^/qin^^2^^ birds, fowl, same as 擒 (capture)
獸 sau^^3^^/shou^^4^^ — animal, brutal
"""
@@
@@.answer
"""
萬聖節 maan^^6^^sing^^3^^zit^^3^^
halloween
萬 maan^^6^^/wan^^4^^ — ten thousand, innumerable
聖 sing^^3^^/sheng^^4^^ — holy, sacred, sage
節 zit^^3^^/jie^^2^^ jie^^1^^ — festival, section, chastity, restrict
"""
@@
@@.answer
"""
萬能插蘇 maan^^6^^nang^^4^^caap^^3^^sou^^1^^
a universal adaptor plug
萬 maan^^6^^/wan^^4^^ — ten thousand, innumerable
能 nang^^4^^/neng^^2^^ — can, may, able to, ability, energy
插 caap^^3^^/cha^^1^^ — insert, interpose, stab
蘇 sou^^1^^/su^^1^^ — perilla, tassel, Soviet, a surname
"""
@@
@@.answer
"""
禾 wo^^4^^ / he^^2^^
a grain still on its stalk
a rice plant, rice crop
"""
@@
@@.answer
"""
禾稈冚珍珠 wo^^4^^gon^^2^^kam^^2^^zan^^1^^zyu^^1^^
to pretend to be poor, to hide one’s true wealth //lit.// rice stalks cover pearl
禾 wo^^4^^/he^^2^^ — grain
稈 gon^^2^^/gan^^3^^ — straw, stalk of grain
冚 ham^^6^^ kam^^2^^/kan^^3^^ — all, raid, cover, slap
珍 zan^^1^^/zhen^^1^^ — treasure
珠 zyu^^1^^/zhu^^1^^ — pearl, bead, drop
"""
@@
@@.answer
"""
禾雀 wo^^4^^zoek^^3*2^^
a ricebird, a paddy sparrow
禾 wo^^4^^/he^^2^^ — grain
雀 zoek^^3^^ zoek^^3*2^^/que^^4^^ qiao^^3^^ qiao^^1^^ — small bird
"""
@@
@@.answer
"""
私竇 si^^1^^dau^^3^^
a private hangout, private joint, private den
私 si^^1^^ — private, personal, secret
竇 dau^^6^^ dau^^3^^ — hole, sinus, den
"""
@@
@@.answer
"""
秋季 cau^^1^^gwai^^3^^
the autumn
秋 cau^^1^^ — autumn
季 gwai^^3^^ — quarter of a year, season
"""
@@
[[山口百恵|https://youtube.com/watch?v=_GrhwErRkMg]]
[[はいだしょうこ|https://youtube.com/watch?v=D2UQpgg8kqA]]
@@.answer
"""
秘 bei^^3^^ / mi^^4^^
粵: bei^^3^^; 華: mi^^4^^
secret, mysterious, rare
a secretary
constipated, blocked
粵: bei^^3^^; 華: bi^^4^^
Peru
"""
@@
@@.answer
"""
租 zou^^1^^ / zu^^1^^
to rent, lease, let
rent, rental
taxes, to tax
"""
@@
@@.answer
"""
租借 zou^^1^^ze^^3^^
to rent, hire, lease
租 zou^^1^^/zu^^1^^ — rent, lease, let
借 ze^^3^^/jie^^4^^ — borrow, lend
"""
@@
@@.answer
"""
移 ji^^4^^ / yi^^2^^
to move, remove, shift
to transform, change, alter
"""
@@
@@.answer
"""
稅款 seoi^^3^^fun^^2^^
a tax payment/money, taxation
稅 seoi^^3^^ — tax, duty, revenue
款 fun^^2^^ — sum of money, pattern, entertain, section
"""
@@
@@.answer
"""
稟 ban^^2^^
to report (to one’s superior), consult
endowed, natural, gifted
to take, receive (instructions)
"""
@@
@@.answer
"""
稟神 ban^^2^^san^^4^^
to pray
to talk to oneself
稟 ban^^2^^/bing^^3^^ — report to one’s superior, endowed
神 san^^4^^/shen^^2^^ — god, divinity, spirit, supernatural, weird
"""
@@
@@.answer
"""
種地 zung^^3^^dei^^6^^
to farm, to till the land, to work the land
種 zung^^2^^ zung^^3^^ — seed, race, species, origin, guts, grow
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
"""
@@
@@.answer
"""
稿 gou^^2^^/ gao^^3^^
a draft, manuscript, rough copy
an article, piece of writing, contribution
straw, stalks/stems of crops
"""
@@
@@.answer
"""
積 zik^^1^^
to accumulate, store up, amass
long (time), old, deep–rooted, longstanding
a product (mathematics)
[cards] a Jack
"""
@@
@@.answer
"""
穩 wan^^2^^
steady, stable, firm
sure, certain, definite
to stabilise, calm, steady
"""
@@
@@.answer
"""
空手道 hung^^1^^sau^^2^^dou^^6^^
karate
空 hung^^1^^ — empty, vacant, free time, sky, fruitless
手 sau^^2^^ — hand
道 dou^^6^^ — road, way, channel, doctrine, Taoism, skill
"""
@@
@@.answer
"""
突 dat^^6^^ / tu^^1^^ tu^^2^^
to dash forward, break through, charge
abruptly, suddenly, unexpectedly
to protrude, project, stick/jut out
[literary] a chimney
華: chug (sound of running engine)
華: pit–a–pat (sound of heart beating)
華: tu^^1^^ is used in China, tu^^2^^ in Taiwan
"""
@@
@@.answer
"""
窒 zat^^6^^ / zhi^^4^^
to block, stop up, obstruct, stifle
粵: to put/dress sb down, tell sb off, interrupt; 華: 搶白
粵: to be scared of, hesitant, haltingly
"""
@@
@@.answer
"""
窗 coeng^^1^^ / chuang^^1^^
a window, skylight
a place where one studies
"""
@@
@@.answer
"""
窗口 coeng^^1^^hau^^2^^
a window
窗 coeng^^1^^/chuang^^1^^ — window
口 hau^^2^^/kou^^3^^ — mouth
"""
@@
@@.answer
"""
窩 wo^^1^^ / wo^^1^^
a nest, den, lair, hideout; 粵: 竇
an abode, residence, home; 粵: 竇
to harbour, shelter, conceal
a sunken/hollow place, pit
[classifier] nest, litter, brood (of bees)
"""
@@
@@.answer
"""
窩夫 wo^^1^^fu^^1^^
粵: a waffle //syn.// 格仔餅
窩 wo^^1^^ — nest, den, lair, to harbour
夫 fu^^1^^ fu^^4^^ — husband, male adult, manual worker
"""
@@
@@.answer
"""
窩輪 wo^^1^^leon^^4*2^^
a (stock) warrant (loanword) //syn.// 權證, 認股證, 認股權證
窩 wo^^1^^/wo^^1^^ — nest, den, lair, to harbour
輪 leon^^4^^/lun^^2^^ — wheel, take turns, ferry, round
"""
@@
@@.answer
"""
窮 kung^^4^^
poor, destitute, poverty–stricken
having an end, having a limit
most, extremely, utterly
thoroughly, exhaustively, completely
to thoroughly examine, completely look into
to use up, exhaust
in trouble, without any way out
"""
@@
@@.answer
"""
窿路 lung^^4*1^^lou^^6^^
a loophole, an opportunity or a shortcut for accomplishing a task //lit.// hole way
窿 lung^^1^^ lung^^4^^/long^^2^^ — hole, cavity
路 lou^^6^^/lu^^4^^ — road, path, way, means, line
"""
@@
@@.answer
"""
立刻 laap^^6^^hak^^1^^
immediately; 粵: 即刻, 馬上
立 laap^^6^^ lap^^6^^ — stand, erect, upright, appoint
刻 hak^^1^^ haak^^1^^ kaan^^5^^ — carve, moment, quarter, describe, unkind
"""
@@
@@.answer
"""
立志 lap^^6^^zi^^3^^
to endeavour to, purpose to, set out to, be determined to
立 laap^^6^^ lap^^6^^/li^^4^^ — stand, erect, upright, appoint
志 zi^^3^^/zhi^^4^^ — purpose, will, determination
"""
@@
@@.answer
"""
童年 tung^^4^^nin^^4^^
childhood, the growing up years
童 tung^^4^^/tong^^2^^ — child
年 nin^^4^^/nian^^2^^ — year
"""
@@
@@.answer
"""
笑到轆地 siu^^3^^dou^^3^^luk^^1^^dei^^6^^
to burst out laughing, to split one’s sides laughing //lit.// laugh until roll on floor
"""
@@
@@.answer
"""
笑納 siu^^3^^naap^^6^^
a polite phrase to use, hoping someone accepts your gift //lit.// accept with smile; some think 笑納 is used when you are being humble, to express the gift is not high in value, and it is a joke for the receiver to laugh at //syn.// 哂納
笑 siu^^3^^/xiao^^4^^ — smile, laugh, grin
納 naap^^6^^/na^^4^^ — admit, accept, pay
"""
@@
@@.answer
"""
笑騎騎 siu^^3^^ke^^4^^ke^^4^^
to laugh, to giggle, to chuckle; 華: 笑哈哈
笑 siu^^3^^ — smile, laugh, grin
騎 ke^^4^^ kei^^3^^ — ride, cavalry
"""
@@
@@.answer
"""
笠嘢 lap^^1^^je^^5^^
to steal, rob, 笠 is a loanword for “rob”
笠 lap^^1^^ — bamboo hat, to cover, to coax
嘢 je^^5^^ — 粵: thing, articles
"""
@@
@@.answer
"""
笨蛋 ban^^6^^daan^^6*2^^
an idiot, imbecile, fool //lit.// stupid egg; 粵: 薯頭, 大番薯
笨 ban^^6^^/ben^^4^^ — stupid, dull, clumsy, awkward
蛋 daan^^6^^ daan^^6*2^^/dan^^4^^ — egg
"""
@@
@@.answer
"""
笨頭笨腦 ban^^6^^tau^^4^^ban^^6^^nou^^5^^
slow witted, stupid, thick–headed, //lit.// stupid head stupid brain; 粵: 惃頭惃腦
笨 ban^^6^^/ben^^4^^ — stupid, dull, clumsy, awkward
頭 tau^^4^^/tou^^2^^ tou^^5^^ — head, first, chief
笨 ban^^6^^/ben^^4^^ — stupid, dull, clumsy, awkward
腦 nou^^5^^/nao^^3^^ nao^^4^^ — the brain
"""
@@
@@.answer
"""
第一步 dai^^6^^jat^^1^^bou^^6^^
the first step
第 dai^^6^^ — sequence, number, grade, degree
一 jat^^1^^ — one, a, same, whole, each, once, a little
步 bou^^6^^ — step, pace, fortune
"""
@@
@@.answer
"""
筆 bat^^1^^
a pen, pencil, writing brush
to write
a stroke, touch, handwriting
a technique of writing, calligraphy, drawing or painting
[classifier] sum/amount (of money, loan, debt)
[classifier] deal (of business, transaction)
"""
@@
@@.answer
"""
筆者 bat^^1^^ze^^2^^
the author, the writer
筆 bat^^1^^ — pen, pencil, writing brush
者 ze^^2^^ — he who, those who
"""
@@
@@.answer
"""
筆記 bat^^1^^gei^^3^^
to write down, take down in writing, record in writing, take notes
notes
a type of literature consisting mainly of short sketches
筆 bat^^1^^ — pen, pencil, writing brush
記 gei^^3^^ — keep in mind, remember, record
"""
@@
@@.answer
"""
等一會兒 dang^^2^^jat^^1^^wui^^6^^ji^^4^^
華: wait a moment, wait awhile; 粵: 等一陣 //syn.// 等一下, 稍等
等 dang^^2^^ ting^^3^^ ting^^2^^ dei^^6^^ — wait, allow, rank, equal, etc., plur., type
一 jat^^1^^ — one, a, same, whole, each, once, a little
會 wui^^5^^ wui^^6^^ kui^^2^^ — will, would, get together, meet, city
兒 ji^^4^^ — child, son
"""
@@
@@.answer
"""
等下 dang^^2^^haa^^5^^
contraction of 等一下, wait a moment
等 dang^^2^^ ting^^3^^ ting^^2^^ dei^^6^^ — wait, allow, rank, equal, etc., plur., type
下 haa^^6^^ haa^^5^^ — under, lower, next, go down
"""
@@
@@.answer
"""
等到 dang^^2^^dou^^3^^
to wait until, waited until
等 dang^^2^^ ting^^3^^ ting^^2^^ dei^^6^^ — wait, allow, rank, equal, etc., plur., type
到 dou^^3^^ dou^^3*2^^ — arrive, go to
"""
@@
@@.answer
"""
等我 dang^^2^^ngo^^5^^
wait for me; 粵: let me
等 dang^^2^^ ting^^3^^ ting^^2^^ dei^^6^^ — wait, allow, rank, equal, etc., plur., type
我 ngo^^5^^ — I, me, my
"""
@@
@@.answer
"""
箍煲 ku^^1^^bou^^1^^
to salvage a relationship, patch up, make up, reconcile, appease, come to terms //lit.// to bind around a clay pot //syn.// 和解, 安撫 //ant.// 掟煲
箍 ku^^1^^ — hoop, bind around
煲 bou^^1^^ — cooker, boiler, cook, stew
"""
@@
@@.answer
"""
算死草 syun^^3^^sei^^2^^cou^^2^^
extremely cautious about (calculating) money, a miser //lit.// to count dead grass
算 syun^^3^^ — calculate, plan, guess, include, consider
死 sei^^2^^ — die, death, dead
草 cou^^2^^ — grass, herbs, weed
"""
@@
@@.answer
"""
管治 gun^^2^^zi^^6^^
to govern, rule, administer, control //syn.// 統治
管 gun^^2^^ — tube, pipe
治 zi^^6^^ — rule, govern, stable, treat, punish, study
"""
@@
@@.answer
"""
篤爆 duk^^1^^baau^^3^^
to let out a secret //lit.// poke explode
篤 duk^^1^^ — profound, dangerous; 粵: to poke
爆 baau^^3^^ — explode, disclose
"""
@@
@@.answer
"""
篸 caam^^2^^ cam^^1^^ / can^^3^^
a kind of dustpan
粵: caam^^2^^ colloquial, cam^^1^^ literary
"""
@@
@@.answer
"""
簡稱 gaan^^2^^cing^^1^^
an abbreviation
簡 gaan^^2^^ — simple, treat impolitely, letter, a surname
稱 cing^^1^^ can^^3^^ cing^^3^^ — call, name, say, praise, fit, match
"""
@@
@@.answer
"""
簫 siu^^1^^
a bamboo flute, which is played while held down the axis of the body (vertical)
"""
@@
@@.answer
"""
簷篷 sim^^4^^pung^^4^^
粵: eaves
簷 sim^^4^^ jam^^4^^ — eaves, edge
篷 pung^^4^^ — awning, sail
"""
@@
@@.answer
"""
簽名 cim^^1^^meng^^4*2^^
to sign one’s name, to autograph, signature
簽 cim^^1^^ — to sign (on paper)
名 ming^^4^^ meng^^2^^ — name, fame
"""
@@
@@.answer
"""
簽約 cim^^1^^joek^^3^^
the signing of contract, to sign a contract
簽 cim^^1^^/qian^^1^^ — to sign (on paper)
約 joek^^3^^/yue^^1^^ yao^^1^^ — make appointment, agreement, approximately
"""
@@
@@.answer
"""
簽賬 cim^^1^^zoeng^^3^^
to use a credit card to settle the bill
簽 cim^^1^^ — to sign (on paper)
賬 zoeng^^3^^ — account, debt
"""
@@
@@.answer
"""
簾 lim^^4^^ / lian^^2^^
a (hanging) screen, curtain, blind
"""
@@
@@.answer
"""
籌 cau^^4^^ cau^^4*2^^
a chip, counter, tally
to plan, prepare, arrange
a strategy, stratgem
粵: cau^^4*2^^ is used only when it means “chip” and the relevant noun is single character
"""
@@
@@.answer
"""
籌款 cau^^4^^fun^^2^^
fundraising, donation
籌 cau^^4^^ cau^^4*2^^/chou^^2^^ — chip, plan, strategy
款 fun^^2^^/kuan^^3^^ — sum of money, pattern, entertain, section
"""
@@
@@.answer
"""
籠 lung^^4^^ lung^^5^^ / long^^2^^ long^^3^^
粵: lung^^4^^, 華: long^^2^^
a cage, coop, cage–like container
a bamboo steamer (for buns, dumplings, etc)
粵: lung^^4^^, 華: long^^3^^
to envelop, cover, veil, enshroud
粵: lung^^5^^, 華: long^^3^^
a large box, trunk, chest
"""
@@
@@.answer
"""
粉 fan^^2^^ / fen^^3^^
[1] [n] powder; flour; starch
[2] [n] noodles; vermicelli
[3] [adj] white; light pink
[4] [adj] powdery; pulverised
[5] [v] turn into powder; plaster
[6] 粵: [slang] heroin; drug
[7] 粵: shortened form of 粉絲(fans)
"""
@@
@@.answer
"""
粒聲唔出 lap^^1^^seng^^1^^m^^4^^ceot^^1^^
to not utter even a single sound
粒 nap^^1^^ lap^^1^^ — classifier for grainlike things
聲 sing^^1^^ seng^^1^^ — sound, voice, declare, fame
唔 m^^4^^ — not, no
出 ceot^^1^^ — go out, show up, exceed, put up, produce
"""
@@
@@.answer
"""
粗 cou^^1^^ / cu^^1^^
rough, coarse, crude
careless, negilgent, inattentive
roughly, slightly
thick, bulky, wide, large
gruff, husky, loud
rude, vulgar, unrefined
"""
@@
@@.answer
"""
粗身大勢 cou^^1^^san^^1^^daai^^6^^sai^^3^^
to be pregnant //syn.// 華: 身懷六甲
粗 cou^^1^^ — rough, careless
身 san^^1^^ — body, life, oneself
大 daai^^6^^ — big
勢 sai^^3^^ — power, situation, posture
"""
@@
@@.answer
"""
精兵 zing^^1^^bing^^1^^
elite troops, crack soldiers
精 zing^^1^^ zeng^^1^^ — refined, best, smart, essence, energy
兵 bing^^1^^ — weapons, soldier, troops, military
"""
@@
@@.answer
"""
精神疾病 zing^^1^^san^^4^^zat^^6^^beng^^6^^
a mental illness
精 zing^^1^^ zeng^^1^^/ jing^^1^^ — refined, best, smart, essence, energy
神 san^^4^^/ shen^^2^^ shen^^1^^ — spirit, god
疾 zat^^6^^/ ji^^2^^ — disease, ache, hate, swift
病 beng^^6^^ bing^^6^^/ bing^^4^^ — sick, ill, defect, fault
"""
@@
@@.answer
"""
糖果 tong^^4^^gwo^^2^^ — 華: candy, sweets; 粵: 糖 tong^^4*2^^
糖 tong^^4^^ tong^^2^^ — sugar, candy
果 gwo^^2^^ — fruit
"""
@@
@@.answer
"""
糖水 tong^^4^^seoi^^2^^
a sweet chinese dessert soup, e.g. 紅豆沙 red bean, 杏仁糊 almond paste, 芝麻糊 sesame paste; 華: 甜湯
糖 tong^^4^^ tong^^2^^ — sugar, candy
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
糗 jau^^2^^ / qiu^^3^^
dry rations (for a journey)
to become mush, e.g. from overcooking noodles
embarrassing/embarrassment (slang)
a chinese surname
"""
@@
@@.answer
"""
糟 zou^^1^^ / zao^^1^^
messy, awful, in bad shape
rotten, decayed, spoiled
dregs of wine, distillers’ grains
to pickle in wine or with distillers’ grains
"""
@@
@@.answer
"""
糟質 zou^^1^^zat^^1^^
to deride
糟 zou^^1^^/zao^^1^^ — messy, rotten, wine dregs, pickle
質 zat^^1^^ zi^^3^^/zhi^^4^^ zhi^^2^^ — quality, substance, simple, query, pawn
"""
@@
@@.answer
"""
糴 dek^^6^^
to buy in, purchase (rice)
"""
@@
@@.answer
"""
糾察 gau^^2^^caat^^3^^
to maintain public order
糾 gau^^2^^ dau^^2^^ — rectify, entangle, band together, supervise
察 caat^^3^^ — investigate, examine
"""
@@
@@.answer
"""
糾錯 gau^^2^^co^^3^^
to correct (a typo)
糾 gau^^2^^ dau^^2^^ — rectify, entangle, band together, supervise
錯 co^^3^^ cok^^3^^ cou^^3^^ — wrong, fault, interlocked
"""
@@
@@.answer
"""
紅 hung^^4^^ gung^^1^^
粵: hung^^4^^ 華: hong^^2^^
red, reddish, rosy
a red cloth used on festive occasions
successful and popular
revolutionary, morally excellent
a bonus, dividend
粵: gung^^1^^ 華: gong^^1^^ — used in the noun 女紅 (needlework)
"""
@@
@@.answer
"""
紅色 hung^^4^^sik^^1^^
red
紅 hung^^4^^ gung^^1^^ — red, successful, revolutionary, bonus
色 sik^^1^^ — colour
"""
@@
@@.answer
"""
紅葡萄酒 hung^^4^^pou^^4^^tou^^4^^zau^^2^^
a red wine
紅 hung^^4^^ gung^^1^^ — red, successful, revolutionary, bonus
葡 pou^^4^^ — grape, Portugal
萄 tou^^4^^ — grape
酒 zau^^2^^ — wine, spirits
"""
@@
@@.answer
"""
紓緩壓力 syu^^1^^wun^^6^^aat^^3^^lik^^6^^
to relieve stress //syn.// 紓解壓力
紓 syu^^1^^/shu^^1^^ — relieve, better off
緩 wun^^6^^ wun^^4^^/huan^^3^^ — slow, relaxed, defer, recuperate
壓 aat^^3^^/ya^^1^^ ya^^4^^ — press, suppress, control, prevail over
力 lik^^6^^/li^^4^^ — strength, force, power
"""
@@
@@.answer
"""
純潔 seon^^4^^git^^3^^
pure, clean, honest, uncorrupted
純 seon^^4^^ — pure, purely
潔 git^^3^^ — clean, pure
"""
@@
@@.answer
"""
紙巾 zi^^2^^gan^^1^^
a paper tissue, paper towel, paper handkerchief, paper napkin //var.// 面巾紙
紙 zi^^2^^ — paper
巾 gan^^1^^ — hankerchief, towel
"""
@@
@@.answer
"""
素來 sou^^3^^loi^^4^^
usually
素 sou^^3^^/su^^4^^ — white silk, plain, usually, vegetarian
來 loi^^4^^/lai^^2^^ — come, arrive, future
"""
@@
@@.answer
"""
紫色 zi^^2^^sik^^1^^
purple, violet
紫 zi^^2^^ — purple
色 sik^^1^^ — colour
"""
@@
@@.answer
"""
紫菜 zi^^2^^coi^^3^^
a laver (edible seaweed)
紫 zi^^2^^ — purple
菜 coi^^3^^ — vegetables, dish
"""
@@
@@.answer
"""
紮職 zaat^^3^^zik^^1^^
to promote, to be promoted
紮 zaat^^3^^/za^^1^^ — tie, bundle, be promoted
職 zik^^1^^/zhi^^2^^ — duty, job, post, position
"""
@@
@@.answer
"""
細碼 sai^^3^^maa^^5^^
a small size (S)
細 sai^^3^^ — small
碼 maa^^5^^ — numeral, symbol, yard (length)
"""
@@
@@.answer
"""
細路仔 sai^^3^^lou^^6^^zai^^2^^
a child, kid, children, kids; 華: 小孩, 小孩子, 孩兒
young boy; 華: 男孩
細 sai^^3^^ — small
路 lou^^6^^ — road, path, way, means, line
仔 zai^^2^^ zi^^2^^ — son, child
"""
@@
@@.answer
"""
終止 zung^^1^^zi^^2^^
to end, termination
終 zung^^1^^ — end, conclusion, death
止 zi^^2^^ — stop, halt
"""
@@
@@.answer
"""
組織 zou^^2^^zik^^1^^
to organise, organisation, organised system, nerve, tissue
組 zou^^2^^/zu^^3^^ — organise, form, group, team, set
織 zik^^1^^/zhi^^1^^ — weave, knit
"""
@@
@@.answer
"""
結拜 git^^3^^baai^^3^^
(to become) sworn brothers or sisters
結 git^^3^^/jie^^2^^ jie^^1^^ — tie, unite, conclude, congeal, bear (fruit)
拜 baai^^3^^/bai^^4^^ — visit, salute
"""
@@
@@.answer
"""
結識 git^^3^^sik^^1^^
to get to know, get acquainted with
結 git^^3^^/jie^^2^^ jie^^1^^ — tie, unite, conclude, congeal, bear (fruit)
識 sik^^1^^ zi^^3^^/shi^^2^^ shi^^4^^ zhi^^4^^ — know, remember
"""
@@
@@.answer
"""
絕世 zyut^^6^^sai^^3^^
peerless, incomparable, unique, exceptional
絕 zyut^^6^^ — cut off, exhaust, superb, desperate
世 sai^^3^^ — generation, lifespan
"""
@@
@@.answer
"""
絕招 zyut^^6^^ziu^^1^^
an ultimate attack, finishing move, unique skill, best plan of attack
絕 zyut^^6^^ — cut off, exhaust, superb, desperate
招 ziu^^1^^ — beckon, recruit, confess, attract, trick
"""
@@
@@.answer
"""
給你 kap^^1^^nei^^5^^
華: to give you; 粵: 俾你
給 kap^^1^^ — give, make sb suffer, supply, ample
你 nei^^5^^ — you
"""
@@
@@.answer
"""
統 tung^^2^^ / tong^^3^^
to unite, unify, gather into one
to administer, control, command
an interrelated or interconnected system
all, altogether, entirely
"""
@@
@@.answer
"""
統治 tung^^2^^zi^^6^^
to rule, reign over, govern, dominate, prevail over //syn.// 管治
統 tung^^2^^ — unite, administer, interrelated system, all
治 zi^^6^^ — rule, govern, stable, treat, punish, study
"""
@@
@@.answer
"""
經貿 ging^^1^^mau^^6^^
the economy and trade
(full form) 經濟貿易
經 ging^^1^^ — classic, pass through, stand, constant
貿 mau^^6^^ — trade, barter, exchange
"""
@@
@@.answer
"""
綜合 zung^^3^^hap^^6^^
to synthesise, to mix together, to meld, to integrate, to sum up
comprehensive, synthesised, composite, multiple
綜 zung^^3^^ zung^^1^^ — sum up
合 hap^^6^^ ho^^4^^ gap^^3^^ — close, join, whole, suit, add up to
"""
@@
@@.answer
"""
綠豆 luk^^6^^dau^^6*2^^
a mung bean //lit.// green bean
綠 luk^^6^^ — green
豆 dau^^6^^ dau^^6*2^^ — beans, peas
"""
@@
@@.answer
"""
網癮 mong^^5^^jan^^5^^
an internet addiction
網 mong^^5^^/wang^^3^^ — net, web, network
癮 jan^^5^^/yin^^3^^ — addiction, habitual craving
"""
@@
@@.answer
"""
綽 coek^^3^^ / chuo^^4^^
delicate
roomy, spacious
"""
@@
@@.answer
"""
綽頭 coek^^3^^tau^^4^^
a gimmick
綽 coek^^3^^ — delicate, roomy, spacious
頭 tau^^4^^ — head, first, chief
"""
@@
@@.answer
"""
緊張 gan^^2^^zoeng^^1^^
nervous, anxious, keyed–up
intense, strained, tense
tight, hard up, in short supply
粵: to care much, be very concerned
緊 gan^^2^^/jin^^3^^ — tight, strict, tense; 粵: ongoing aspect
張 zoeng^^1^^/zhang^^1^^ — stretch, tense
"""
@@
@@.answer
"""
線 sin^^3^^
a thread, string, wire, cotton
a demarcation line, boundary, brink
a traffic line/route, political line
a clue, undercover/secret agent
[classifier] a ray/thread of (hope)
classifier: 條, 卷
//var.// 綫
"""
@@
@@.answer
"""
緩緩 wun^^6^^wun^^6^^
slowly, unhurriedly, little by little
緩 wun^^6^^ wun^^4^^/huan^^3^^ — slow, relaxed, defer, recuperate
"""
@@
@@.answer
"""
縮水 suk^^1^^seoi^^2^^
//lit.// to shrink water
to shrink (clothing)
to reduce one’s costs
縮 suk^^1^^ — shrink, recoil
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
縮骨 suk^^1^^gwat^^1^^
selfish, stingy, selfishness; 華: 自私
縮 suk^^1^^ — shrink, recoil
骨 gwat^^1^^ — bone, skeleton, framework
"""
@@
@@.answer
"""
縮骨遮 suk^^1^^gwat^^1^^ze^^1^^
a folding umbrella
縮 suk^^1^^/suo^^1^^ — shrink, recoil
骨 gwat^^1^^/gu^^3^^ gu^^1^^ — bone, skeleton, framework
遮 ze^^1^^/zhe^^1^^ — cover; 粵: umbrella
"""
@@
@@.answer
"""
縱 zung^^3^^ zung^^1^^ / zong^^4^^ zong^^1^^
粵: zung^^3^^; 華: zong^^4^^
to release, set free, let go
to indulge, let loose, connive
to jump up, leap, spring forward
[conj] even though, even if, although
粵: zung^^1^^; 華: zong^^4^^ zong^^1^^
vertical, longitudinal, from north to south,
華: zong^^4^^ while Taiwan zong^^1^^ //ant.// 橫
"""
@@
@@.answer
"""
縱使 zung^^3^^si^^2^^
even if, even though, notwithstanding
縱 zung^^3^^ zung^^1^^/zong^^4^^ zong^^1^^ — release, indulge, jump up, vertical
使 sai^^2^^ si^^2^^ si^^3^^/shi^^3^^ — send, enable, use, envoy
"""
@@
@@.answer
"""
總編輯 zung^^2^^pin^^1^^cap^^1^^
a chief editor (of a newspaper)
總 zung^^2^^/zong^^3^^ — general, chief, assemble, always, anyway
編 pin^^1^^/bian^^1^^ — organise, edit, book
輯 cap^^1^^/ji^^2^^ — compile, volume
"""
@@
@@.answer
"""
繞口令 jiu^^5^^hau^^2^^ling^^6^^
a tongue–twister
繞 jiu^^5^^ jiu^^2^^/rao^^4^^ — coil, move around, detour
口 hau^^2^^/kou^^3^^ — mouth
令 ling^^6^^/ling^^4^^ ling^^3^^ — order, cause, season
"""
@@
@@.answer
"""
繡花 sau^^3^^faa^^1^^
to do embroidery, to embroider
繡 sau^^3^^/xiu^^4^^ — embroider, embroidery
花 faa^^1^^/hua^^1^^ — flower
"""
@@
@@.answer
"""
繫 hai^^6^^ / xi^^4^^ ji^^4^^
粵: hai^^6^^; 華: xi^^4^^
to tie, connect, fasten, bind up
to relate to, bear on, depend on
to be concerned, miss, bind to
粵: hai^^6^^; 華: ji^^4^^
to button up, wear, knot
系 is a traditional character as well as the simplified form for both 繫 and 係
"""
@@
@@.answer
"""
繭 gaan^^2^^ / jian^^3^^
a cocoon, callus
"""
@@
@@.answer
"""
繼 gai^^3^^
to continue, follow, carry on
to inherit, succeed to, come into
[conj] then, afterwards
"""
@@
@@.answer
"""
纏住 cin^^4^^zyu^^6^^
to obsess
纏 cin^^4^^/chan^^2^^ — coil, pester
住 zyu^^6^^/zhu^^4^^ — live, reside, stay
"""
@@
@@.answer
"""
纏綿 cin^^4^^min^^4^^
tangled up, touching (emotions)
纏 cin^^4^^/chan^^2^^ — coil, pester
綿 min^^4^^/mian^^2^^ — extend continuously, silk floss, mild
"""
@@
@@.answer
"""
置家 zi^^3^^gaa^^1^^
to set up a home, to marry a wife
置 zi^^3^^/zhi^^4^^ — put, set up, procure
家 gaa^^1^^/jia^^1^^ — home, family, specialist
"""
@@
@@.answer
"""
置身 zi^^3^^san^^1^^
to place oneself, to stay
置 zi^^3^^/zhi^^4^^ — put, set up, procure
身 san^^1^^/shen^^1^^ — body, life, oneself
"""
@@
@@.answer
"""
羅漫史 lo^^4^^maan^^6^^si^^6*2^^
romance (as a loanword)
羅 lo^^4^^ — net, collect, display, gauze, a surname
漫 maan^^6^^ — everywhere, casual, vast, overflow
史 si^^2^^ — history, chronicle, annals
"""
@@
@@.answer
"""
羊肉 joeng^^4^^juk^^6^^
mutton, lamb meat
羊 joeng^^4^^ — sheep, goat
肉 juk^^6^^ — meat
"""
@@
@@.answer
"""
美人魚 mei^^5^^jan^^4^^jyu^^4^^
a beautiful mermaid
美 mei^^5^^/mei^^3^^ — beautiful
人 jan^^4^^/ren^^2^^ — person, human being
魚 jyu^^4^^/yu^^2^^ — fish
"""
@@
@@.answer
"""
美味 mei^^5^^mei^^6^^
delicious, tasty
美 mei^^5^^ — beautiful
味 mei^^6^^ — taste, flavour, smell, interest, reflect on
"""
@@
@@.answer
"""
美國 mei^^5^^gwok^^3^^
America, USA
美 mei^^5^^/mei^^3^^ — beautiful
國 gwok^^3^^/guo^^2^^ — nation, country, state
"""
@@
@@.answer
"""
美女 mei^^5^^neoi^^5^^
a beautiful woman, a beauty, a belle
美 mei^^5^^ — beautiful
女 neoi^^5^^ neoi^^2^^ — woman, daughter
"""
@@
@@.answer
"""
美妙 mei^^5^^miu^^6^^
beautiful or marvelous (when describing a work of art)
美 mei^^5^^/mei^^3^^ — beautiful
妙 miu^^6^^/miao^^4^^ — wonderful, ingenious
"""
@@
@@.answer
"""
美貌 mei^^5^^maau^^6^^
good–looking
美 mei^^5^^/mei^^3^^ — beautiful
貌 maau^^6^^/mao^^4^^ — appearance, looks
"""
@@
@@.answer
"""
美髮 mei^^5^^faat^^3^^
hairdressing / hairstyling
美 mei^^5^^/mei^^3^^ — beautiful
髮 faat^^3^^/fa^^4^^ fa^^3^^ — hair
"""
@@
@@.answer
"""
羔羊 gou^^1^^joeng^^4^^
a lamb
羔 gou^^1^^/gao^^1^^ — lamb
羊 joeng^^4^^/yang^^2^^ — sheep, goat
"""
@@
@@.answer
"""
羞 sau^^1^^ / xiu^^1^^
shameful, disgraceful, bashful
to feel ashamed, be shy, embarrass
shame, embarrassment, shyness; 粵: 醜
"""
@@
@@.answer
"""
羞恥 sau^^1^^ci^^2^^
shame (a feeling of)
羞 sau^^1^^/xiu^^1^^ — shameful, ashamed, shame
恥 ci^^2^^/chi^^3^^ — shame, disgrace
"""
@@
@@.answer
"""
群埋 kwan^^4^^maai^^4^^
to join with, to associate with, to gather, to assemble
群 kwan^^4^^ — crowd, group
埋 maai^^4^^ — bury, conceal, finish up, move closer
"""
@@
@@.answer
"""
群體 kwan^^4^^tai^^2^^
a group, colony
群 kwan^^4^^ — crowd, group
體 tai^^2^^ — shape, form, essence
"""
@@
@@.answer
"""
義 ji^^6^^ / yi^^4^^
justice, righteousness, chivalry
righteous, just, moral
adopted, adoptive, foster
artificial, false, fake
meaning, significance, connotation
"""
@@
@@.answer
"""
習慣 zaap^^6^^gwaan^^3^^
to get used to, habit, custom, second nature, normal practice
習 zaap^^6^^/xi^^2^^ — learn, receive training in, practice
慣 gwaan^^3^^/guan^^4^^ — be used to, be accustomed to, indulge
"""
@@
@@.answer
"""
翳 ai^^3^^ / yi^^4^^
to screen, shade, conceal
a slight corneal opacity, nebula
粵: hot and stuffy (of weather, room or mood)
"""
@@
@@.answer
"""
老友 lou^^5^^jau^^5^^
an old friend, good friend
老 lou^^5^^ — old, venerable
友 jau^^5^^ — friend, friendship
"""
@@
@@.answer
"""
老味 lou^^5^^mei^^6*2^^
euphemism for 老母 lòuh móu “mother” (in various obscene expressions) //lit.// old meats
老 lou^^5^^ — old, venerable
味 mei^^6^^ — taste, flavour, smell, interest, reflect on
"""
@@
@@.answer
"""
老奉 lou^^5^^fung^^6*2^^
to take something for granted, to assume; humorous version of 奉旨
老 lou^^5^^/lao^^3^^ — old, venerable
奉 fung^^6^^/feng^^4^^ — present respectfully
"""
@@
@@.answer
"""
老子 lou^^5^^zi^^2^^
Lao Tzu, the founder of Taoism/Daoism
老 lou^^5^^ — old, venerable
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
老宗 lou^^5^^zung^^1^^
a distant relative with the same family name
老 lou^^5^^/lao^^3^^ — old, venerable
宗 zung^^1^^/zong^^1^^ — ancestor, clan, sect
"""
@@
@@.answer
"""
老懵懂 lou^^5^^mung^^2^^dung^^2^^
an old person who is slow and forgetful and does not know what is going on
老 lou^^5^^/lao^^3^^ — old, venerable
懵 mung^^2^^/meng^^3^^ — ignorant, muddled
懂 dung^^2^^/dong^^3^^ — understand
"""
@@
@@.answer
"""
老手 lou^^5^^sau^^2^^
an experienced person, a veteran, an “old hand” //lit.// old hand
老 lou^^5^^ — old, venerable
手 sau^^2^^ — hand
"""
@@
@@.answer
"""
老朋 lou^^5^^pang^^4*2^^/paang^^4*2^^
an old friend (contraction of 老朋友)
老 lou^^5^^/lao^^3^^ — old, venerable
朋 pang^^4^^/peng^^2^^ — friend
"""
@@
@@.answer
"""
老死 lou^^5^^sei^^2^^
a good friend, an old and loyal friend, a “mate”, a good “buddy”
老 lou^^5^^ — old, venerable
死 sei^^2^^ — die, death, dead
"""
@@
@@.answer
"""
老爹 lou^^5^^de^^1^^
father, dad; also 粵: 老豆
old pa (polite term of address for elderly men)
老 lou^^5^^ — old, venerable
爹 de^^1^^ — dad
"""
@@
@@.answer
"""
老爺車 lou^^5^^je^^4^^ce^^1^^
a very old car, an old–fashioned car
老 lou^^5^^ — old, venerable
爺 je^^4^^ — grandfather, father
車 ce^^1^^ geoi^^1^^ — cart, vehicle, car
"""
@@
@@.answer
"""
老番 lou^^5^^faan^^1^^
a non–Chinese person (typ., a caucasian person)
老 lou^^5^^/lao^^3^^ — old, venerable
番 faan^^1^^ pun^^1^^/fan^^1^^ pan^^1^^ — foreign, times, back, again
"""
@@
@@.answer
"""
老番冬 lou^^5^^faan^^1^^dung^^1^^
Christmas
老 lou^^5^^/lao^^3^^ — old, venerable
番 faan^^1^^ pun^^1^^/fan^^1^^ pan^^1^^ — foreign, times, back, again
冬 dung^^1^^/dong^^1^^ — winter
"""
@@
@@.answer
"""
老百姓 lou^^5^^baak^^3^^sing^^3^^
the people, the public, the masses, hoi polloi //lit.// old hundred surnames
老 lou^^5^^ — old, venerable
百 baak^^3^^ — hundred
姓 sing^^3^^ seng^^3^^ — surname
"""
@@
@@.answer
"""
老竇 lou^^5^^dau^^6^^
粵: father, dad (informal)
老 lou^^5^^ — old, venerable
竇 dau^^6^^ dau^^3^^ — hole, sinus, den
"""
@@
@@.answer
"""
老粗 lou^^5^^cou^^1^^
a coarse person, a vulgar person, uneducated person, yokel, boor, roughneck
老 lou^^5^^ — old, venerable
粗 cou^^1^^ — rough, careless
"""
@@
@@.answer
"""
老總 lou^^5^^zung^^2^^
the general manager of a company, a boss, a “chief”
老 lou^^5^^ — old, venerable
總 zung^^2^^ — general, chief, assemble, always, anyway
"""
@@
@@.answer
"""
老而不 lou^^5^^ji^^4^^bat^^1^^
an indecent old man, old and disreputable/indiscreet //lit.// old yet not; full: 老而不死 //lit.// old yet not dead
老 lou^^5^^ — old, venerable
而 ji^^4^^ — and, also, but, otherwise
不 bat^^1^^ — not, no, un–
"""
@@
@@.answer
"""
老表 lou^^5^^biu^^2^^
a cousin, e.g. “my cousin” is 我老表; note 老 does not necessarily mean older
老 lou^^5^^ — old, venerable
表 biu^^2^^ — form, table, surface, outside, show
"""
@@
@@.answer
"""
老豆 lou^^5^^dau^^6^^
a father, dad (informal) //var.// 老竇 , 老斗
老 lou^^5^^/lao^^3^^ — old, venerable
豆 dau^^6^^ dau^^6*2^^/dou^^4^^ — beans, peas
"""
@@
@@.answer
"""
老雀 lou^^5^^zoek^^3^^
an experienced person, an old hand //lit.// old bird
老 lou^^5^^ — old, venerable
雀 zoek^^3^^ zoek^^3*2^^ — small bird
"""
@@
@@.answer
"""
老鬼 lou^^5^^gwai^^2^^
an old person, an experienced person //lit.// old ghost
老 lou^^5^^ — old, venerable
鬼 gwai^^2^^ — ghost, devil, dishonest, terrible
"""
@@
@@.answer
"""
老點 lou^^5^^dim^^2^^
to trick, to knowingly give false information in order to cause someone to fail or to embark on a futile course of action, e.g. 老點人 — to trick someone
老 lou^^5^^/lao^^3^^ — old, venerable
點 dim^^2^^/dian^^3^^ — dot, point, drop, select, touch, instruct
"""
@@
@@.answer
"""
老鼠貨 lou^^5^^syu^^2^^fo^^3^^
stolen goods //lit.// goods from Mr. Nobody
老 lou^^5^^ — old, venerable
鼠 syu^^2^^ — rat, mouse
貨 fo^^3^^ — goods, products, cargo
"""
@@
@@.answer
"""
考察 haau^^2^^caat^^3^^
to inspect, make an on–the–spot investigation
考 haau^^2^^/kao^^3^^ — examine, test, check, inspect, consider
察 caat^^3^^/cha^^2^^ — investigate, examine
"""
@@
@@.answer
"""
考慮 haau^^2^^leoi^^6^^
to think about, think over, consider, mull over, regard
考 haau^^2^^/kao^^3^^ — examine, test, check, inspect, consider
慮 leoi^^6^^/lv^^4^^ — consider, ponder, worry, anxious
"""
@@
@@.answer
"""
而今 ji^^4^^gam^^1^^
now, at the present time
而 ji^^4^^ — and, also, but, otherwise
今 gam^^1^^ — current, now
"""
@@
@@.answer
"""
而唔係 ji^^4^^m^^4^^hai^^6^^
粵: instead of, rather than; 華: 而不是
而 ji^^4^^ — and, also, but, otherwise
唔 m^^4^^ — not, no
係 hai^^6^^ — yes, it is, indeed, right, positive, to be
"""
@@
@@.answer
"""
耍 saa^^2^^ / shua^^3^^
to frolic, play, amuse, play with
"""
@@
@@.answer
"""
耍樂 saa^^2^^lok^^6^^
to play, frolic
耍 saa^^2^^ — play (with), amuse
樂 lok^^6^^ ngok^^6^^ ngaau^^6^^ — joy, music, be fond of
"""
@@
@@.answer
"""
耍花槍 saa^^2^^faa^^1^^coeng^^1^^
to exchange banter (of lovers or couple); feign a quarrel or anger for fun //lit.// brandish spears in a showy way
This expression comes from the stage where two actors play the role of warriors “attacking” each other with spears but with no intention to kill
耍 saa^^2^^ — play (with); amuse
花 faa^^1^^ — flower
槍 coeng^^1^^ — gun; spear
"""
@@
@@.answer
"""
耐唔中 noi^^6^^m^^4^^zung^^1^^
粵: occasionally
耐 noi^^6^^ — endure, long time
唔 m^^4^^ — not, no
中 zung^^1^^ zung^^3^^ — centre, middle, during, average, affected by
"""
@@
@@.answer
"""
耕種 gaang^^1^^zung^^3^^
to plough and sow, cultivate, farm, till
耕 gaang^^1^^ gang^^1^^ — plough, cultivate
種 zung^^2^^ zung^^3^^ — seed, race, species, origin, guts, grow
"""
@@
@@.answer
"""
耳不聽, 心不煩 ji^^5^^bat^^1^^teng^^1^^sam^^1^^bat^^1^^faan^^4^^
when we ignore rumour and gossip, it cannot truly hurt us //lit.// that which the ear does not hear, cannot worry the heart
耳 ji^^5^^ — ear
不 bat^^1^^ — not, no, un–
聽 ting^^1^^ ting^^3^^ teng^^1^^ — listen to, obey, allow
心 sam^^1^^ — heart
煩 faan^^4^^ — troublesome, irritable, vex, trouble
"""
@@
@@.answer
"""
耷 dap^^1^^ daap^^3^^ / da^^1^^
粵: dap^^1^^; 華: da^^1^^
to droop, hang down, lower one’s head //var.// 嗒, nasal–stop alternant: 髧 dam^^3^^
粵: daap^^3^^; 華: da^^1^^
a big ear
"""
@@
@@.answer
"""
聆聽者 ling^^4^^teng^^1^^ze^^2^^
a listener
聆 ling^^4^^/ling^^2^^ — listen attentively
聽 ting^^1^^ ting^^3^^ teng^^1^^/ting^^1^^ ting^^4^^ — listen to, obey, allow
者 ze^^2^^/zhe^^3^^ — he who, those who
"""
@@
@@.answer
"""
聘 ping^^3^^
to invite for service, employ, engage
to betroth, betrothal, be married off
to visit a state as an envoy
"""
@@
@@.answer
"""
聚 zeoi^^6^^ / ju^^4^^
to assemble, gather, get together, congregate
"""
@@
@@.answer
"""
聲明 sing^^1^^ming^^4^^
a statement, declaration
聲 sing^^1^^ seng^^1^^/sheng^^1^^ — sound, voice, declare, fame
明 ming^^4^^/ming^^2^^ — bright, clear
"""
@@
@@.answer
"""
聽不懂 teng^^1^^bat^^1^^dung^^2^^
華: not understand; 粵: 聽唔明
聽 ting^^1^^ ting^^3^^ teng^^1^^ — listen to, obey, allow
不 bat^^1^^ — not, no, un–
懂 dung^^2^^ — understand
"""
@@
@@.answer
"""
聽唔明 teng^^1^^m^^4^^ming^^4^^
粵: to not understand //lit.// hear not clear; 華: 聽不懂
聽 ting^^1^^ ting^^3^^ teng^^1^^ — listen to, obey, allow
唔 m^^4^^ — not, no
明 ming^^4^^ — bright, clear
"""
@@
@@.answer
"""
聽朝早 ting^^1^^ziu^^1^^zou^^2^^
(in the) early morning of tomorrow
聽 ting^^1^^ ting^^3^^ teng^^1^^/ting^^1^^ ting^^4^^ — listen to, obey, allow
朝 ziu^^1^^ ciu^^4^^/zhao^^1^^ chao^^2^^ — morning, face towards, dynasty
早 zou^^2^^/zao^^3^^ — early
"""
@@
@@.answer
"""
肉丁 juk^^6^^ding^^1^^
diced meat
肉 juk^^6^^ — meat
丁 ding^^1^^ — male adult, manual worker, fourth
"""
@@
@@.answer
"""
肉參 juk^^6^^sam^^1^^
a hostage
肉 juk^^6^^ — meat
參 caam^^1^^ sam^^1^^ — join, refer, call on, uneven, ginseng
"""
@@
@@.answer
"""
肉緊 juk^^6^^gan^^2^^
very involved, highly excited, having an irritable disposition, tending to worry //lit.// flesh tight
肉 juk^^6^^ — meat
緊 gan^^2^^ — tight, strict, tense 粵: ongoing aspect
"""
@@
@@.answer
"""
肌肉 gei^^1^^juk^^6^^
a muscle, flesh
肌 gei^^1^^ — muscle, flesh, tissue
肉 juk^^6^^ — meat
"""
@@
@@.answer
"""
肚子 tou^^5^^zi^^2^^
a stomach, belly, abdomen, tummy; 粵: 肚
肚 tou^^5^^ — belly, stomach
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
肥大 fei^^4^^daai^^6^^
dilatancy
hypertrophy
obesity, portliness
肥 fei^^4^^ — fat, greasy, fertile, fertiliser
大 daai^^6^^ — big
"""
@@
@@.answer
"""
肥皂 fei^^4^^zou^^6^^
華: a soap; 粵: 番梘
肥 fei^^4^^ — fat, greasy, fertile, fertiliser
皂 zou^^6^^ — soap
"""
@@
@@.answer
"""
肥膩 fei^^4^^nei^^6^^
rich, greasy (food)
肥 fei^^4^^/fei^^2^^ — fat, greasy, fertile, fertiliser
膩 nei^^6^^ nau^^6^^/ni^^4^^ — fatty, greasy, bored of
"""
@@
@@.answer
"""
肥頭大耳 fei^^4^^tau^^4^^daai^^6^^ji^^5^^
robust and prosperous (a compliment in former times), fat person (modern)
肥 fei^^4^^ — fat, greasy, fertile, fertiliser
頭 tau^^4^^ — head, first, chief
大 daai^^6^^ — big
耳 ji^^5^^ — ear
"""
@@
@@.answer
"""
肯 hang^^2^^ / ken^^3^^
be willing to, be ready to, be eager to
agree, consent
"""
@@
@@.answer
"""
背 bui^^3^^ bui^^6^^ / bei^^1^^,bei^^4^^
粵: bui^^3^^; 華: bei^^4^^
the back of the human body or any object
to back on(to), with the back towards //ant.// 向
to violate, go against, act contrary to
to hide sth from, turn one’s back, give up
粵: bui^^6^^; 華: bei^^4^^
to recite by rote, learn by heart
粵: out of date, out of touch
out–of–the–way, remote
unlucky, having hard luck
背 is also simplified form of 揹 which has different meanings and mandarin reading
"""
@@
@@.answer
"""
胖 bun^^6^^ pun^^4^^ / pang^^4^^ pan^^2^^
粵: bun^^6^^ 華: pang^^4^^
fat, obese, stout, plump, chubby, corpulent
粵: pun^^4^^ 華: pan^^2^^
easy and comfortable
bun^^6^^ & pang^^4^^ are colloquial pronunciations, pun^^4^^ & pan^^2^^ are literary pronunciations
"""
@@
@@.answer
"""
胭脂 jin^^1^^zi^^1^^ / yan^^1^^zhi^^5^^
rouge (makeup)
胭 jin^^1^^ — rouge
脂 zi^^1^^ — grease, fat, rouge
"""
@@
@@.answer
"""
胳膊 gaak^^3^^bok^^3^^
華: an arm, forearm //syn.// 手臂
胳 gaak^^3^^ lok^^3^^ — arm, armpit, tickle
膊 bok^^3^^ — upper arm, shoulder
"""
@@
@@.answer
"""
胸毛 hung^^1^^mou^^4^^
chest hair
胸 hung^^1^^ — breast, mind
毛 mou^^4^^ — hair, fur, feathers
"""
@@
@@.answer
"""
能 nang^^4^^ / neng^^2^^
to be able to, can, may, could
an ability, capability, skill
an energy (as in electric energy, atomic energy etc.)
"""
@@
@@.answer
"""
脂 zi^^1^^ / zhi^^1^^
grease, fat, lard
rouge
"""
@@
@@.answer
"""
脆弱 ceoi^^3^^joek^^6^^
fragile, weak, delicate
脆 ceoi^^3^^/cui^^4^^ — crisp, brittle
弱 joek^^6^^/ruo^^4^^ — weak, fragile, delicate
"""
@@
@@.answer
"""
腍柿 nam^^4^^ci^^2^^
粵: a persimmon
腍 nam^^4^^ — soft, good–tempered
柿 ci^^5^^ ci^^2^^ — persimmon, kaki
"""
@@
@@.answer
"""
腎 san^^6^^ san^^5^^ san^^6*2^^ / shen^^4^^
粵: san^^6^^ san^^5^^; 華: shen^^4^^
a kidney //var.// 腰子
a testicle, testis //var.// 睪丸
粵: san^^6^^ is the standard reading, san^^5^^ is variant
粵: san^^5^^ — 粵: only
dull, foolish, dim–witted
粵: san^^6*2^^ — 粵: only
a gizzard
"""
@@
@@.answer
"""
腥 seng^^1^^ sing^^1^^ / xing^^1^^
a fishy smell, strong and offensive smell
raw meat/fish
粵: seng^^1^^ is colloquial. sing^^1^^ is a rarely used literary reading
"""
@@
@@.answer
"""
腦子 nou^^5^^zi^^2^^
the mind, the brain
腦 nou^^5^^ — the brain
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
腫 zung^^2^^ / zhong^^3^^
swollen, swell, swelling, bulge out
"""
@@
@@.answer
"""
腳印 goek^^3^^jan^^3^^
a footprint
腳 goek^^3^^ — foot, feet
印 jan^^3^^ — print, stamp, imprint
"""
@@
@@.answer
"""
腳趾甲 goek^^3^^zi^^2^^gaap^^3^^
a toenail
腳 goek^^3^^ — foot, feet
趾 zi^^2^^ — toe
甲 gaap^^3^^ — first, top, grade A, armour, shell
"""
@@
@@.answer
"""
膚色 fu^^1^^sik^^1^^
the complexion of skin, colour of skin
膚 fu^^1^^/fu^^1^^ — skin, skin–deep, superficial
色 sik^^1^^/se^^4^^ — colour
"""
@@
@@.answer
"""
膠碟 gaau^^1^^dip^^2/6^^
a plastic plate; optional to retain the original dip^^6^^ or change its tone to dip^^6*2^^
plastic disc; last syllable is always dip^^2^^
膠 gaau^^1^^ — glue, sticky, rubber, plastic
碟 dip^^6^^ dip^^2^^ — dish, plate, disc, CD
"""
@@
@@.answer
"""
膽 daam^^2^^/ dan^^3^^
guts, bravery, courage, nerve
a gallbladder
an inner container (of tire. basketball, etc)
粵: a bulb
"""
@@
@@.answer
"""
膽粗 daam^^2^^cou^^1^^
bold, daring, adventurous
膽 daam^^2^^ — guts
粗 cou^^1^^ — rough, careless
"""
@@
@@.answer
"""
臃腫 jung^^2^^zung^^2^^
cumbersome, obese, too fat to move
overstaffed, inflated
臃 jung^^2^^ — swelling
腫 zung^^2^^ — swollen
"""
@@
@@.answer
"""
臉孔 lim^^5^^hung^^2^^
a face, usually used in a literal sense
臉 lim^^5^^ — face, reputation
孔 hung^^2^^ — hole, opening, (surname)
"""
@@
@@.answer
"""
臉龐 lim^^5^^pong^^4^^
the shape/contour of one’s face //syn.// 面龐
臉 lim^^5^^ — face, reputation
龐 pong^^4^^ — huge, disorderly, face
"""
@@
@@.answer
"""
臥底 ngo^^6^^dai^^2^^
(to do) undercover work
臥 ngo^^6^^/wo^^4^^ — lie down, crouch
底 dai^^2^^/di^^3^^ — bottom, base
"""
@@
@@.answer
"""
臨別 lam^^4^^bit^^6^^
to be at parting, be just before parting
臨 lam^^4^^ — overlook, face, arrive, copy
別 bit^^6^^ — differentiate, category, other, take leave
"""
@@
@@.answer
"""
臨走 lam^^4^^zau^^2^^
before one is about leave
臨 lam^^4^^ — overlook, face, arrive, copy
走 zau^^2^^ — run, walk
"""
@@
@@.answer
"""
自力更生 zi^^6^^lik^^6^^gang^^1^^saang^^1^^
self–reliant, regeneration through one’s own effort
自 zi^^6^^ — self, private, personal
力 lik^^6^^ — strength, force, power
更 gang^^1^^ gaang^^1^^ gang^^3^^ ang^^3^^ — change, shift, further
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
"""
@@
@@.answer
"""
自嘲 zi^^6^^zaau^^1^^
self–mockery, to laugh at oneself
自 zi^^6^^ — self, private, personal
嘲 zaau^^1^^ — ridicule, mock
"""
@@
@@.answer
"""
自投羅網 zi^^6^^tau^^4^^lo^^4^^mong^^5^^
to walk right into a trap, deliver oneself into the hands of an enemy, dig oneself into a hole //lit.// cast self trap
自 zi^^6^^ — self, private, personal
投 tau^^4^^ — cast, plunge into, send
羅 lo^^4^^ — net, collect, display, gauze, a surname
網 mong^^5^^ — net, web, network
"""
@@
@@.answer
"""
自拍照 zi^^6^^paak^^3^^ziu^^3^^
a selfie
自 zi^^6^^ — self, private, personal
拍 paak^^3^^ paak^^3*2^^ — clap, pat, strike
照 ziu^^3^^ — shine, light, take care of
"""
@@
@@.answer
"""
自殺 zi^^6^^saat^^3^^ — to commit suicide
自 zi^^6^^ — self, private, personal
殺 saat^^3^^ — kill, butcher, fight, abate, terribly
"""
@@
@@.answer
"""
臭崩崩 cau^^3^^bang^^1^^bang^^1^^
stinky, smelly
臭 cau^^3^^ — stinking, disgusting
崩 bang^^1^^ — collapse, broken
"""
@@
@@.answer
"""
至得 zi^^3^^dak^^1^^
can work only if, will do only when, not be all right until/unless; 華: 才行, 才成
至 zi^^3^^ — reach (place), arrive at, extremely, very
得 dak^^1^^ — get, obtain, fit, finished, able to, must
"""
@@
@@.answer
"""
致敬 zi^^3^^ging^^3^^
to extend a salute to, pay tribute/respects/homage to
致 zi^^3^^ — deliver, incur, devote
敬 ging^^3^^ — respect, honour, esteem
"""
@@
@@.answer
"""
致歉 zi^^3^^hip^^3^^
to apologise, to express regret
致 zi^^3^^/zhi^^4^^ — deliver, incur, devote
歉 him^^3^^ hip^^3^^/qian^^4^^ — poor harvest, apology
"""
@@
@@.answer
"""
舂 zung^^1^^ / chong^^1^^
to pound (grain, etc) in a mortar, pestle
粵: to punch (sb) with fist
粵: to dash, rush, charge, plunge; 華: 闖
"""
@@
@@.answer
"""
舅父 kau^^5^^fu^^6*2^^
an uncle (mother’s brother)
舅 kau^^5^^/jiu^^4^^ — maternal uncle, brother–in–law
父 fu^^6^^ fu^^2^^/fu^^4^^ fu^^3^^ — father
"""
@@
@@.answer
"""
與 jyu^^5^^ / yu^^3^^ yu^^4^^
jyu^^5^^ & yu^^3^^
and, or, with, against
to give, offer, grant
to get along with, be on good terms with
jyu^^5^^ & yu^^4^^
to take part in, participate in
"""
@@
@@.answer
"""
興趣 hing^^3^^ceoi^^3^^
a hobby, interest
興 hing^^1^^ hing^^3^^/xing^^1^^ xing^^4^^ — start, popular, thriving, interest
趣 ceoi^^3^^/qu^^4^^ — interest, interesting, inclination
"""
@@
@@.answer
"""
舉動 geoi^^2^^dung^^6^^
to act, to make a move
舉 geoi^^2^^ — raise, lift
動 dung^^6^^ — move, stir, change, alter
"""
@@
@@.answer
"""
舉國 geoi^^2^^gwok^^3^^
the whole country //syn.// 全國
舉 geoi^^2^^ — raise, lift
國 gwok^^3^^ — nation, country, state
"""
@@
@@.answer
"""
舊稱 gau^^6^^cing^^1^^
a former name
to be formerly called
舊 gau^^6^^ — worn, old, past, bygone
稱 cing^^1^^ can^^3^^ cing^^3^^ — call, name, say, praise, fit, match
"""
@@
@@.answer
"""
舐 lem^^2^^ saai^^2^^ / shi^^4^^
to lick with the tongue, to lap; 粵: lem^^2^^ is colloquial reading, saai^^2^^ is literary //rel.// 粵: 𦧺; 華: 舔
"""
@@
@@.answer
"""
舒服 syu^^1^^fuk^^6^^
comfortable, not stressed, also 自在
well, healthy
舒 syu^^1^^/shu^^1^^ — stretch, leisurely
服 fuk^^6^^/fu^^2^^ fu^^4^^ — clothes, take (medicine), serve, convince
"""
@@
@@.answer
"""
舞蹈 mou^^5^^dou^^6^^
a dance
舞 mou^^5^^ — dance
蹈 dou^^6^^ tou^^1^^ — tread, skip
"""
@@
@@.answer
"""
良久 loeng^^4^^gau^^2^^
華: a long time, a good while
良 loeng^^4^^ — desirable, fine, auspicious
久 gau^^2^^ — long, for a long time
"""
@@
@@.answer
"""
良機 loeng^^4^^gei^^1^^
a good opportunity
良 loeng^^4^^ — desirable, fine, auspicious
機 gei^^1^^ — machine
"""
@@
@@.answer
"""
艷遇 jim^^6^^jyu^^6^^ / yan^^4^^yu^^4^^
a romantic encounter with the opposite sex
艷 jim^^6^^ — beautiful, sexy, voluptuous
遇 jyu^^6^^ — meet, encounter, treat, chance
"""
@@
@@.answer
"""
芒果 mong^^4*1^^gwo^^2^^
a mango
芒 mong^^4^^ mong^^1^^ — (grass) awn, arista, mango
果 gwo^^2^^ — fruit
"""
@@
@@.answer
"""
芝麻 zi^^1^^maa^^4^^
sesame
芝 zi^^1^^ — purplish mushroom symbolising nobility
麻 maa^^4^^ — hemp, flax, sesame, coarse
"""
@@
https://youtu.be/2Llps7D1uYQ <iframe height="10px" width="40px" src="music/20210726花の鎖instrumental.m4a" frameborder="0"></iframe>
花の鎖 HANAnoKUSARI chain of flowers cadena de flores
@@.answer
"""
花卉 faa^^1^^wai^^2^^
flowers, flowering plants
花 faa^^1^^ — flower
卉 wai^^2^^ — general term for plants
"""
@@
@@.answer
"""
花呢碌 faa^^1^^li^^1^^luk^^1^^
elaborately patterned or designed, colourful
花 faa^^1^^ — flower
呢 ni^^1^^ ne^^1^^ nei^^1^^ nei^^4^^ — final particle; 粵: this
碌 luk^^1^^ — mediocre, occupied; 粵: plank/section of
"""
@@
@@.answer
"""
花哩碌 faa^^1^^li^^1^^luk^^1^^
overly colourful, gaudy
花 faa^^1^^ — flower
哩 lei^^5^^ li^^1^^ lei^^1^^ le^^1^^ — mile, indistinct
碌 luk^^1^^ — mediocre, occupied; 粵: plank/section of
"""
@@
@@.answer
"""
花園 faa^^1^^jyun^^4*2^^ — garden
花 faa^^1^^/hua^^1^^ — flower
園 jyun^^4^^ jyun^^4*2^^/yuan^^2^^ — garden, park
"""
@@
@@.answer
"""
花多眼亂 faa^^1^^do^^1^^ngaan^^5^^lyun^^6^^
to be spoilt for choice, to be unsure what to choose //lit.// dazzled and confused eyes
花 faa^^1^^ — flower
多 do^^1^^ — many, much, more, more than
眼 ngaan^^5^^ — eye
亂 lyun^^6^^ — disorderly, upset, indiscriminately
"""
@@
@@.answer
"""
花市 faa^^1^^si^^5^^
a flower market, Lunar New Year Fair [also] 年宵花市
花 faa^^1^^/hua^^1^^ — flower
市 si^^5^^/shi^^4^^ — market, fair, city, metropolis, trade
"""
@@
@@.answer
"""
花弗 faa^^1^^fit^^1^^
flirtatious, frivolous, be a playboy or womaniser
flashy, showy, gaudy; 華: 花哨
花 faa^^1^^ — flower
弗 fat^^1^^ fit^^1^^ — not, fit
"""
@@
@@.answer
"""
花心大少 faa^^1^^sam^^2^^daai^^6^^siu^^3^^
a playboy
花 faa^^1^^ — flower
心 sam^^1^^ — heart
大 daai^^6^^ — big
少 siu^^2^^ siu^^3^^ — few, lack, be missing, young
"""
@@
@@.answer
"""
花旗 faa^^1^^kei^^4^^
the American flag, so–called because of the stars and stripes; by extension, used to refer to the US, or things American
花 faa^^1^^ — flower
旗 kei^^4^^ — flag, banner
"""
@@
@@.answer
"""
花生醬 faa^^1^^sang^^1^^zoeng^^3^^
peanut butter
花 faa^^1^^ — flower
生 saang^^1^^ sang^^1^^ — born, grow, life, alive, unripe
醬 zoeng^^3^^ — paste, jam, sauce
"""
@@
@@.answer
"""
花膠 faa^^1^^gaau^^1^^
a fish maw, swim/gas/air bladder //syn.// 魚肚
花 faa^^1^^ — flower
膠 gaau^^1^^ — glue, sticky, rubber, plastic
"""
@@
@@.answer
"""
花豹 faa^^1^^paau^^3^^
a leopard
花 faa^^1^^ — flower
豹 paau^^3^^ — leopard, panther
"""
@@
@@.answer
"""
花面貓 faa^^1^^min^^6^^maau^^1^^
to have a dirty face
花 faa^^1^^ — flower
面 min^^6^^ — face, surface, top, side, aspect, extent
貓 maau^^1^^ — cat
"""
@@
@@.answer
"""
芳香 fong^^1^^hoeng^^1^^
aromatic, fragrant, aroma, odour
芳 fong^^1^^ — fragrant, aromatic
香 hoeng^^1^^ — fragrant, aromatic
"""
@@
@@.answer
"""
芽菜 ngaa^^4^^coi^^3^^
粵: beansprouts (from mung beans); 華: 豆芽; in sichuan this means preserved mustard greens
芽 ngaa^^4^^ — bud, sprout, shoot
菜 coi^^3^^ — vegetables, dish
"""
@@
@@.answer
"""
苦心 fu^^2^^sam^^1^^
to do something with painstaking efforts
苦 fu^^2^^/ku^^3^^ — bitter, painful, hard, suffer from
心 sam^^1^^/xin^^1^^ — heart
"""
@@
@@.answer
"""
英國人 jing^^1^^gwok^^3^^jan^^4^^
a British person/people
英 jing^^1^^ — outstanding, prominent, talent, Britain
國 gwok^^3^^ — nation, country, state
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
英美 jing^^1^^mei^^5^^
England and America, English and American, Anglo–American
英 jing^^1^^ — outstanding, prominent, talent, Britain
美 mei^^5^^ — beautiful
"""
@@
@@.answer
"""
茂盛 mau^^6^^sing^^6^^
luxuriant, thriving
茂 mau^^6^^ — luxuriant, exuberant, excellent
盛 sing^^6^^ sing^^4^^ — flourishing, magnificent, fill, accommodate
"""
@@
@@.answer
"""
茄子 ke^^4*2^^zi^^2^^
華: an aubergine, eggplant; 粵: 矮瓜
茄 ke^^2^^ ke^^1^^ gaa^^1^^ — tomato, eggplant, excrement
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
茄汁 ke^^4*2^^zap^^1^^
粵: ketchup, catsup (as phonetic loanword); 華: 番茄汁, 蕃茄汁
茄 ke^^2^^ ke^^1^^ gaa^^1^^ — tomato, eggplant, excrement
汁 zap^^1^^ — juice, sap
"""
@@
@@.answer
"""
茲 zi^^1^^ ci^^4^^ / zi^^1^^ ci^^2^^
粵: zi^^1^^; 華: zi^^1^^
[pron] this, here
now, at present
a year
粵: ci^^4^^; 華: ci^^2^^
used only in compound noun 龜茲
This character is used only in literary contexts
"""
@@
@@.answer
"""
茶煲 caa^^4^^bou^^1^^
a teapot
troublesome (from the English word “trouble”, made popular by a film starring Chow Yeun–fat)
茶 caa^^4^^ — tea
煲 bou^^1^^ — cooker, boiler, cook, stew
"""
@@
@@.answer
"""
茶瓜送飯 caa^^4^^gwaa^^1^^sung^^3^^faan^^6^^
→好人有限 hou^^2^^jan^^4^^jau^^5^^haan^^6^^ a limit to how good someone is, a bad person (sugared melon is eaten when someone is ill or “not good”)
好 hou^^2^^ hou^^3^^/hao^^3^^ hao^^4^^ — good, very, friendly, healthy, ready
人 jan^^4^^/ren^^2^^ — person, human being
有 jau^^5^^ jau^^6^^/you^^3^^ you^^4^^ — have, there is
限 haan^^6^^/xian^^4^^ — boundary, limit, restriction
"""
@@
@@.answer
"""
茼蒿 tung^^4^^hou^^1^^ — //Glebionis coronaria//, garland chrysanthemum (vegetable), crowndaisy
茼 tung^^4^^ — crowndaisy
蒿 hou^^1^^ — wormwood
[img[photo/20201230茼蒿.jpg]]
"""
@@
@@.answer
"""
草圖 cou^^2^^tou^^4^^
a sketch, draft, rough drawing
草 cou^^2^^ — grass, herbs, weed
圖 tou^^4^^ — map, picture, diagram
"""
@@
@@.answer
"""
荒涼 fong^^1^^loeng^^4^^
bleak and desolate, wild //syn.// 荒寂, 荒僻
荒 fong^^1^^ — shortage, desolate, neglect, famine, absurd
涼 loeng^^4^^ — cool, cold, desolate, disappointed
"""
@@
@@.answer
"""
荔枝 lai^^6^^zi^^1^^
a lychee, //Litchi chinensis//
荔 lai^^6^^ — lychee
枝 zi^^1^^ — tree branch, twig
"""
@@
@@.answer
"""
菜 coi^^3^^ / cai^^4^^
vegetables, greens
food eaten with rice or alcoholic drinks
a dish, course
"""
@@
@@.answer
"""
菜色 coi^^3^^sik^^1^^
華: to look famished or emaciated; 粵: 面青
菜 coi^^3^^ — vegetables, dish
色 sik^^1^^—colour
"""
@@
@@.answer
"""
菜花 coi^^3^^faa^^1^^
a cauliflower
菜 coi^^3^^ — vegetables, dish
花 faa^^1^^ — flower
"""
@@
@@.answer
"""
華人 waa^^4^^jan^^4^^
a Chinese person, the Chinese people
華 waa^^4^^ waa^^6^^ faa^^1^^ — magnificent, prosperous, flashy, your, China
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
華麗 waa^^4^^lai^^6^^ / hua^^2^^ li^^4^^
gorgeous, resplendent, magnificent
華 waa^^4^^ waa^^6^^ faa^^1^^ — magnificent, prosperous, flashy, your, China
麗 lai^^6^^ — beautiful, magnificent, elegant
"""
@@
@@.answer
"""
著草 zoek^^3^^cou^^2^^
to be a fugitive on the run, to go into hiding //lit.// wear straw sandals [full form] 著草鞋
著 zyu^^3^^ zoek^^3^^/zhu^^4^^ zhuo^^2^^ — famous, write, writing, wear, clothing
草 cou^^2^^/cao^^3^^ zao^^4^^ — grass, herbs, weed
"""
@@
@@.answer
"""
落嚟 lok^^6^^lei^^4^^
粵: to come down
落 lok^^6^^ laai^^6^^/luo^^4^^ lao^^4^^ luo^^1^^ la^^4^^ — to fall
嚟 lai^^4^^ lei^^4^^/li^^2^^ — come
"""
@@
@@.answer
"""
落地 lok^^6^^dei^^6^^
something that sits on the floor
粵: a new arrival (products, car, …)
落 lok^^6^^ laai^^6^^ — to fall
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
"""
@@
@@.answer
"""
葉 jip^^6^^ / ye^^4^^
a leaf, foliage, leaf–like thing, classifier: 塊
part of a historical period
variant of 頁
a Chinese family name
"""
@@
@@.answer
"""
葬 zong^^3^^ / zang^^4^^
to bury, inter, entomb
"""
@@
@@.answer
"""
蔡 coi^^3^^ / cai^^4^^
a Chinese surname
a big tortoise/turtle whose shell was used in divination
"""
@@
@@.answer
"""
蔥頭 cung^^1^^tau^^4^^
a shallot bulb, onion
蔥 cung^^1^^ — green onion, scallion
頭 tau^^4^^ — head, first, chief
"""
@@
@@.answer
"""
蕩 dong^^6^^
to loiter, loaf around, unsettled, nasal–stop alternant: 踱 dok^^6^^
to swing, sway, wave
debauched, licentious, loose in morals
to rinse, cleanse, wash away
to clean up, get rid of, clean out
vast, broad and level, large
a shallow lake, pond, pool
"""
@@
@@.answer
"""
蕭 siu^^1^^ / xiao^^1^^
desolate, dreary, bleak
a Chinese family name
"""
@@
@@.answer
"""
薄皮 bok^^6^^pei^^4*2^^
thin–skinned, sensitive, easily irritated or provoked
to cry easily, to be a “cry baby” //lit.// thin skin
薄 bok^^6^^/bao^^2^^bo^^2^^bo^^4^^ — thin, slight
皮 pei^^4^^pei^^4*2^^/pi^^2^^ — skin, leather, wrapper, naughty, buck
"""
@@
@@.answer
"""
薛 sit^^3^^ / xue^^1^^
a raincoat made of marsh grass
a feudal state during the Spring and Autumn Period
a Chinese surname
"""
@@
@@.answer
"""
薯嘜 syu^^4^^mak^^1^^
a //schmuck//, stupid, foolish
薯 syu^^4^^ — potato, yam, tuber
嘜 mak^^1^^ maak^^1^^ — brand, mug
"""
@@
@@.answer
"""
薯片 syu^^4^^pin^^3*2^^
crisps, potato chips
薯 syu^^4^^ — potato, yam, tuber
片 pin^^3^^ pin^^2^^ — slice, sheet, fragmentary, film
"""
@@
@@.answer
"""
藉 zik^^6^^ ze^^6^^ ze^^3^^ / ji^^2^^,jie^^4^^
粵: zik^^6^^ 華: ji^^2^^
disorderly, mixed and confused, in a muddle
粵: ze^^6^^ 華: jie^^4^^
a mat, pad, mattress, cushion
to place sth underneath
to insult, tread on
粵: ze^^3^^ 華: jie^^4^^
to rely on, on the strength/excuse of //syn.// 借
"""
@@
@@.answer
"""
藉口 zik^^6^^hau^^2^^
an excuse, pretext
藉 zik^^6^^ ze^^6^^ ze^^3^^/ji^^2^^ jie^^4^^ — disorderly, mat, rely on
口 hau^^2^^/kou^^3^^ — mouth
"""
@@
@@.answer
"""
藥書 joek^^6^^syu^^1^^
a medical work (book)
藥 joek^^6^^ — medicine
書 syu^^1^^ — book, writings
"""
@@
@@.answer
"""
藥行 joek^^6^^hong^^4*2^^
drugstore, chemist’s shop [related term] 藥房
藥 joek^^6^^ — medicine
行 hang^^4^^ haang^^4^^ hong^^4^^ hang^^6^^ — walk, circulate, line, trade, shop, conduct
"""
@@
@@.answer
"""
蘇州屎 sou^^1^^zau^^1^^si^^2^^
a mess left behind from someone else, knotty problem or sticky business that needs to be dealt with //lit.// Soochow shit
蘇 sou^^1^^ — perilla, tassel, Soviet, a surname
州 zau^^1^^ — administrative district in ancient China
屎 si^^2^^ — excrement, no good
"""
@@
@@.answer
"""
蘇蝦 sou^^1^^haa^^1^^
a baby, a young infant
蘇 sou^^1^^ — perilla, tassel, Soviet, a surname
蝦 haa^^1^^ haa^^4*1^^ — shrimp, prawn, bully
"""
@@
@@.answer
"""
蘇蝦仔 sou^^1^^haa^^1^^zai^^2^^
a child, a very young child //lit.// little prawn
蘇 sou^^1^^ — perilla, tassel, Soviet, a surname
蝦 haa^^1^^ haa^^4*1^^ — shrimp, prawn, bully
仔 zai^^2^^ zi^^2^^ — son, child
"""
@@
@@.answer
"""
蘸醬 jaam^^3^^zoeng^^3^^
a dipping sauce, to dip in sauce
蘸 zaam^^3^^ jaam^^5^^ — dip in (water, powder, etc) 粵: zaam^^3^^ is literary reading, jaam^^5^^ is colloquial
醬 zoeng^^3^^/jiang^^4^^ — paste, jam, sauce
"""
@@
@@.answer
"""
處理 cyu^^2^^lei^^5^^
to handle, to deal with, to treat, to process
處 cyu^^3^^ cyu^^2^^ syu^^3^^/chu^^4^^ chu^^3^^ — place, department, get along with, manage
理 lei^^5^^/li^^3^^ — reason, natural science, manage, heed
"""
@@
@@.answer
"""
號數 hou^^6^^sou^^3^^
a number
號 hou^^6^^ hou^^4^^ — title, store, mark, number
數 sou^^3^^ sou^^2^^ sok^^3^^ — number, figure, several, count
"""
@@
@@.answer
"""
虧 kwai^^1^^ / kui^^1^^
to lose (money, etc), have a deficit
to lack, be deficient, be short of
to treat unfairly, be unfair to
fortunately, luckily, thanks to
[irony] despite, dare to
to wane (of the moon)
"""
@@
@@.answer
"""
蚌 pong^^5^^ / bang^^4^^
a freshwater mussel, clam, mother–of–pearl
"""
@@
@@.answer
"""
蛇 se^^4^^ seu^^4^^ ji^^4^^ / she^^2^^
a snake, serpent; classifier: 條
粵: to goof off (slang) e.g. 蛇王
粵: seu^^4^^ transliteration for ‘sir’, when addressing policemen or male school teachers
pronounced 粵: ji^^4^^ 華: yi^^2^^ only in 委蛇
"""
@@
@@.answer
"""
蛇王 se^^4^^wong^^4^^
lazy
to shirk, to play hooky, to goof off
a lazy person, a goof–off, a snack catcher //lit.// snake king; 華: 偷懶
蛇 se^^4^^ ji^^4^^ seu^^4^^ — snake
王 wong^^4^^ wong^^6^^ — king, monarch, duke
"""
@@
@@.answer
"""
蛇頭 se^^4^^tau^^4^^
//lit.// snake head
an ophicephalous (serpenthead (fish))
a snakehead, sb involved in immigrant smuggling from China
蛇 se^^4^^ ji^^4^^ seu^^4^^ — snake
頭 tau^^4^^ — head, first, chief
"""
@@
@@.answer
"""
蛋殼 daan^^6*2^^hok^^3^^
an eggshell
蛋 daan^^6^^ daan^^6*2^^ — egg
殼 hok^^3^^ — shell, ladle
"""
@@
@@.answer
"""
蜢 maang^^5*2^^ / meng^^3^^
a grasshopper
"""
@@
@@.answer
"""
蝕 sik^^6^^ sit^^6^^
粵: sik^^6^^; 華: shi^^2^^
to eat into, nibble away (of moths, etc)
to erode, corrode
to eclipse //var.// 食
粵: sit^^6^^; 華: shi^^2^^
to suffer a loss, wear out //var.// 𧵳
"""
@@
@@.answer
"""
蝕底 sit^^6^^dai^^2^^
to take a loss, to suffer misfortune, to come to grief, to bite the dust //syn.// 輸蝕; 華: 吃虧
蝕 sik^^6^^ sit^^6^^ — eat into, erode, eclipse, lose, wear out
底 dai^^2^^ — bottom, base
"""
@@
@@.answer
"""
蝨乸 sat^^1^^naa^^2^^
a louse, lice //var.// 虱乸; 華: 蝨子
蝨 sat^^1^^/shi^^1^^ — a louse
乸 naa^^2^^/na^^3^^ — female, effeminate
"""
@@
@@.answer
"""
蟑螂 zoeng^^1^^long^^4^^
華: a cockroach; 粵: 曱甴, 小強
蟑 zoeng^^1^^ — cockroach
螂 long^^4^^ — insects
"""
@@
@@.answer
"""
行蹤 hang^^4^^zung^^1^^
whereabouts, tracks //syn.// 下落
行 hang^^4^^ haang^^4^^ hong^^4^^ hang^^6^^ — walk, circulate, line, trade, shop, conduct
蹤 zung^^1^^ — footprint, track
"""
@@
@@.answer
"""
街道 gaai^^1^^dou^^6^^
a street, streets; 粵: 街巷, 街
街 gaai^^1^^ — street
道 dou^^6^^ — road, way, channel, doctrine, Taoism, skill
"""
@@
@@.answer
"""
衣櫃 ji^^1^^gwai^^6^^
a wardrobe (粵: also uses 衫櫃)
衣 ji^^1^^ ji^^3^^ — clothing, garment, coating
櫃 gwai^^6^^ — cupboard, wardrobe
"""
@@
@@.answer
"""
表現 biu^^2^^jin^^6^^
to express, to indicate, to perform, performance
表 biu^^2^^ — form, table, surface, outside, show
現 jin^^6^^ — appear, emerge, now, available
"""
@@
@@.answer
"""
表錯情 biu^^2^^co^^3^^cing^^4^^
to show the wrong emotion, to react inappropriately having misunderstood someone’s meaning
表 biu^^2^^/biao^^3^^ — form, table, surface, outside, show
錯 co^^3^^ cok^^3^^ cou^^3^^/cuo^^4^^ cu^^4^^ — wrong, fault, interlocked
情 cing^^4^^/qing^^2^^ — emotion, love, sentiment
"""
@@
@@.answer
"""
衫 saam^^1^^ / shan^^1^^
a shirt, gown, jacket, garment
"""
@@
@@.answer
"""
衫櫃 saam^^1^^gwai^^6^^
粵: a wardrobe
衫 saam^^1^^ — shirt, gown, garment
櫃 gwai^^6^^ — cupboard, wardrobe
"""
@@
@@.answer
"""
衫褲 saam^^1^^fu^^3^^
a suit (matching top and bottom as in sport clothing)
衫 saam^^1^^/shan^^1^^ — shirt, gown, garment
褲 fu^^3^^/ku^^4^^ — trousers, pants
"""
@@
@@.answer
"""
被 bei^^6^^ pei^^5^^ / bei^^4^^
粵: bei^^6^^; 華: bei^^4^^
to be (used before passive verb when the doer of the action is not mentioned), suffer (from)
[prep] by (used when the doer of the action is placed between 被 and the passive verb)
having the meanings of “be” and “by”, 被 is often called a passive voice marker in Chinese grammar
When used as preposition “by” in cantonese, 被 is generally regarded as the literary version of 俾
粵: pei^^5^^; 華: bei^^4^^
a quilt, blanket, sheet
to cover, envelop, shroud
"""
@@
@@.answer
"""
裇衫 seot^^1^^saam^^1^^
a shirt; 華: 襯衣
裇 seot^^1^^ — shirt
衫 saam^^1^^/shan^^1^^ — shirt, gown, garment
"""
@@
@@.answer
"""
裏面 leoi^^5^^min^^6^^
inside //var.// 裡面; 粵: 裏便, 入便, 入面
裏 leoi^^5^^ lei^^5^^ — inside, inner, in, at, during
面 min^^6^^ — face, surface, top, side, aspect, extent
"""
@@
@@.answer
"""
補償 bou^^2^^soeng^^4^^
to compensate
補 bou^^2^^/bu^^3^^ — help, subsidise, mend
償 soeng^^4^^/chang^^2^^ — repay, payment, fulfill
"""
@@
@@.answer
"""
補數 bou^^2^^sou^^3^^
to compensate, to repair an injustice, to get revenge or compensation for a slight or a wrong
[math] a base complement
補 bou^^2^^/bu^^3^^ — help, subsidise, mend
數 sou^^3^^ sou^^2^^ sok^^3^^/shu^^4^^ shu^^3^^ shuo^^4^^ — number, figure, several, count
"""
@@
@@.answer
"""
裡面 leoi^^5^^min^^6^^
inside //var.// 裏面; 粵: 裏便, 入便, 入面
裡 leoi^^5^^ lei^^5^^/li^^3^^ li^^5^^ — variant of 裏
面 min^^6^^/mian^^4^^ — face, surface, top, side, aspect, extent
"""
@@
@@.answer
"""
裸體 lo^^2^^tai^^2^^
naked
裸 lo^^2^^ — naked, bare, nude
體 tai^^2^^ — shape, form, essence
"""
@@
@@.answer
"""
複習 fuk^^1^^zaap^^6^^
a revision, to revise, go over, review, brush up //syn.// 復習
複 fuk^^1^^ — duplicate, complex
習 zaap^^6^^ — learn, receive training in, practice
"""
@@
@@.answer
"""
襟 kam^^1^^ / jin^^1^^
a lapel, front of a garment
a bosom, breadth of mind
brothers–in–law whose wives are sisters
//var.// endure, bear, [standard] 禁
"""
@@
@@.answer
"""
襯衫 can^^3^^saam^^1^^
華: a shirt
粵: to match clothes, matching clothes
襯 can^^3^^ — underwear, inner garments, match
衫 saam^^1^^ — shirt, gown, garment
"""
@@
@@.answer
"""
襲擊 zaap^^6^^gik^^1^^
a surprise attack
襲 zaap^^6^^/xi^^2^^ — surprise attack, imitate, inherit
擊 gik^^1^^/ji^^1^^ ji^^2^^ — hit, beat, attack, assault, bump into
"""
@@
@@.answer
"""
西北 sai^^1^^bak^^1^^
northwest
西 sai^^1^^ — west
北 bak^^1^^ — north
"""
@@
@@.answer
"""
西半球 sai^^1^^bun^^3^^kau^^4^^
the Western Hemisphere
西 sai^^1^^ — west
半 bun^^3^^ — half
球 kau^^4^^ — ball
"""
@@
@@.answer
"""
西南 sai^^1^^naam^^4^^
southwest
西 sai^^1^^ — west
南 naam^^4^^ — south
"""
@@
@@.answer
"""
要事 jiu^^3^^si^^6^^
important issues, pressing matters
要 jiu^^3^^ jiu^^1^^ — want, must, shall, important, demand, if
事 si^^6^^ — matter, affair, job, work, accident
"""
@@
@@.answer
"""
要有 jiu^^3^^jau^^5^^
to need, to require
要 jiu^^3^^ jiu^^1^^ — want, must, shall, important, demand, if
有 jau^^5^^ jau^^6^^ — have, there is
"""
@@
@@.answer
"""
親戚朋友 can^^1^^cik^^1^^pang^^4^^jau^^5^^
close friends and relatives
親 can^^1^^ can^^3^^ — parent, relative, intimate, personally
戚 cik^^1^^ cuk^^1^^ — relative, sorrowful
朋 pang^^4^^ — friend
友 jau^^5^^ — friend, friendship
"""
@@
@@.answer
"""
觀 gun^^1^^ gun^^3^^ / guan^^1^^ guan^^4^^
粵: gun^^1^^ 華: guan^^1^^
to observe, watch, behold
a view, sight, appearance
an outlook, concept, point of view
粵: gun^^3^^ 華: guan^^4^^
a Taoist temple
"""
@@
@@.answer
"""
角球 gok^^3^^kau^^4^^
[soccer] a corner kick
角 gok^^3^^ — horn, corner, cape, dime, role, contend
球 kau^^4^^ — ball
"""
@@
@@.answer
"""
角落頭 gok^^3^^lok^^6*1^^tau^^4*2^^
a corner
角 gok^^3^^/jiao^^3^^ jue^^2^^ — horn, corner, cape, dime, role, contend
落 lok^^6^^ laai^^6^^/luo^^4^^ lao^^4^^ luo^^1^^ la^^4^^ — to fall
頭 tau^^4^^/tou^^2^^ tou^^5^^ — head, first, chief
"""
@@
@@.answer
"""
解囊 gaai^^2^^nong^^4^^
//fig.// to give generously to help others //lit.// to loosen one’s purse–strings
解 gaai^^2^^ gaai^^3^^ haai^^6^^ — untie, relieve, explain, escort, understand
囊 nong^^4^^ — bag, pocket, put in a bag
"""
@@
@@.answer
"""
訂位 deng^^6^^wai^^6*2^^
to reserve/book a seat //syn.// 訂座
訂 ding^^3^^ deng^^6^^ — order, subscribe, conclude, revise, staple
位 wai^^6^^ wai^^6*2^^ — position, rank, seat
"""
@@
@@.answer
"""
計算 gai^^3^^syun^^3^^
to calculate; 粵: 計數, 計, 算
計 gai^^3^^ — count, compute, plan, scheme, idea, meter
算 syun^^3^^ — calculate, plan, guess, include, consider
"""
@@
@@.answer
"""
討 tou^^2^^
to quell, suppress, denounce
to ask for, beg for, demand
to marry (a woman), get married
to incur, invite, court
to discuss, study, examine into, research
"""
@@
@@.answer
"""
討厭 tou^^2^^jim^^3^^
to loathe, dislike, hate //syn.// 厭惡, 憎惡
disagreeable, hateful, troublesome, annoying
討 tou^^2^^/tao^^3^^ — quell, ask for, marry, incur, discuss
厭 jim^^3^^/yan^^4^^ — fed up with, disgusted with
"""
@@
@@.answer
"""
記者 gei^^3^^ze^^2^^
a reporter
記 gei^^3^^ — keep in mind, remember, record
者 ze^^2^^ — he who, those who
"""
@@
@@.answer
"""
訛詐 ngo^^4^^zaa^^3^^
to extort, to blackmail (on something fabricated), to levy blackmail upon
訛 ngo^^4^^ — error, false
詐 zaa^^3^^ — deceive, swindle, pretend, feign
"""
@@
@@.answer
"""
設計師 cit^^3^^gai^^3^^si^^1^^ — designer; architect
設 cit^^3^^/she^^4^^ — lay out; display; furnish; plan
計 gai^^3^^/ji^^4^^ — count; compute; plan; scheme; idea; metre
師 si^^1^^/shi^^1^^ — teacher; master
"""
@@
@@.answer
"""
許可 heoi^^2^^ho^^2^^
to allow, to permit
許 heoi^^2^^ — allow, promise, praise, maybe, about
可 ho^^2^^ hak^^1^^ — can, approve, need, but
"""
@@
@@.answer
"""
訴 sou^^3^^
to tell, relate, inform, pour out
to accuse, indict, charge, sue
"""
@@
@@.answer
"""
訴苦 sou^^3^^fu^^2^^
to vent one’s grievances, air one’s sufferings, complain of injustice
訴 sou^^3^^ — tell, accuse
苦 fu^^2^^ — bitter, painful, hard, suffer from
"""
@@
@@.answer
"""
診 can^^2^^ / zhen^^3^^
to examine (a patient), diagnose
"""
@@
@@.answer
"""
詆譭 dai^^2^^wai^^2^^
to slander, defame, abuse, smear
詆 dai^^2^^ — slander, defame
譭 wai^^2^^ — defame, slander
"""
@@
@@.answer
"""
詐假意 zaa^^3^^gaa^^2*1^^ji^^3*1^^
to pretend, to fake an action
詐 zaa^^3^^/zha^^4^^ — deceive, swindle, pretend, feign
假 gaa^^2^^ gaa^^3^^/jia^^3^^ jia^^4^^ — false, fake, suppose, if, borrow, holiday
意 ji^^3^^/yi^^4^^ — wish, meaning, expect
"""
@@
@@.answer
"""
詐嗲 zaa^^3^^de^^2^^
to sulk, to behave like a spoilt child
詐 zaa^^3^^/zha^^4^^ — deceive, swindle, pretend, feign
嗲 de^^2^^ de^^1^^ de^^4^^/dia^^3^^ — coquettish, chat, drip
"""
@@
@@.answer
"""
話咁快 waa^^6^^gam^^3^^faai^^3^^
粵: in no time //lit.// as quick as talk //var.// 話都冇咁快
話 waa^^6^^ waa^^2^^ — word, talk, speak, language
咁 gam^^3^^ — so, –ly
快 faai^^3^^ — quick, fast, hurry
"""
@@
@@.answer
"""
話頭醒尾 waa^^6^^tau^^4^^sing^^2^^mei^^5^^
clever, able to quickly take a hint
話 waa^^6^^ waa^^2^^/hua^^4^^ — word, talk, speak, language
頭 tau^^4^^/tou^^2^^ tou^^5^^ — head, first, chief
醒 sing^^2^^ seng^^2^^/xing^^3^^ — wake up, clever
尾 mei^^5^^/wei^^3^^ yi^^3^^ — tail, rear, end, remnant
"""
@@
@@.answer
"""
該煨 goi^^1^^wui^^1^^
regrettable, terrible, too bad
to serve somebody right
often followed by a final particle to form a complete exclamatory sentence
該 goi^^1^^ — should, need to
煨 wui^^1^^ — stew, simmer, roast in cinders
"""
@@
@@.answer
"""
詳細 coeng^^4^^sai^^3^^
in detail, detailed, minute
詳 coeng^^4^^/xiang^^2^^ — detailed, clear
細 sai^^3^^/xi^^4^^ — small
"""
@@
@@.answer
"""
認為 jing^^6^^wai^^4^^
to believe, to think, to consider, to feel
認 jing^^6^^/ren^^4^^ — recognise, admit, accept, undertake
為 wai^^4^^ wai^^6^^/wei^^2^^ wei^^4^^ — do, act, serve as, be, for
"""
@@
@@.answer
"""
語音 jyu^^5^^jam^^1^^
enunciation
語 jyu^^5^^ — language, speech, speak
音 jam^^1^^ — sound, voice, noise, tone
"""
@@
@@.answer
"""
誤會 ng^^6^^wui^^6^^
a misunderstanding, to misunderstand, misinterpret; 粵: 會錯意, 搞錯
誤 ng^^6^^/wu^^4^^ — incorrect, mistake, miss, impede, mistakenly
會 wui^^5^^ wui^^6^^ kui^^2^^/hui^^4^^ kuai^^4^^ — will, would, get together, meet, city
"""
@@
@@.answer
"""
說不定 syut^^3^^bat^^1^^ding^^6^^
華: perhaps, maybe; 粵: 話唔定, 話唔埋
說 syut^^3^^ seoi^^3^^ jyut^^6^^ — speak, talk, say, explain, theory
不 bat^^1^^ — not, no, un–
定 ding^^6^^ deng^^6^^ — stable, decide, surely, order, deposit
"""
@@
@@.answer
"""
課文 fo^^3^^man^^4^^
a text
課 fo^^3^^ — class, lesson, course, section, levy
文 man^^4^^ man^^4*1^^ man^^6^^ — written language, literary, civilian
"""
@@
@@.answer
"""
調 diu^^6^^ tiu^^4^^
粵: diu^^6^^; 華: diao^^4^^
to transfer, shift, move
to investigate, inquire into
a tune, tone, key, accent
粵: tiu^^4^^; 華: tiao^^2^^
harmonious, fit
to adjust, mix, blend
to mediate, reconcile
to tease, provoke, incite
"""
@@
@@.answer
"""
請假 ceng^^2^^gaa^^3^^
to apply for leave, to ask for time off
請 cing^^2^^ ceng^^2^^ — request, invite, hire
假 gaa^^2^^ gaa^^3^^ — false, fake, suppose, if, borrow, holiday
"""
@@
@@.answer
"""
請飲 ceng^^2^^jam^^2^^
to give a formal dinner, to invite to a formal dinner
請 cing^^2^^ ceng^^2^^/qing^^3^^ — request, invite, hire
飲 jam^^2^^/yin^^3^^ — drink
"""
@@
@@.answer
"""
諗吓 nam^^2^^haa^^5^^
粵: to consider, think over
諗 nam^^2^^ sam^^2^^ — think, consider, ponder over
吓 haa^^2^^ haa^^5^^ haa^^1^^ — (question marker)
"""
@@
@@.answer
"""
諗頭 nam^^2^^tau^^4^^
careful consideration, a well thought out idea, a solution to a problem
諗 nam^^2^^ sam^^2^^ — think, consider, ponder over
頭 tau^^4^^ — head, first, chief
"""
@@
@@.answer
"""
諦 dai^^3^^
粵: to tease, ridicule
(Buddhism) a truth, true meaning
careful, attentive
"""
@@
@@.answer
"""
謊 fong^^1^^ fong^^2^^ / huang^^3^^
a lie, falsehood
false, deceitful
粵: fong^^1^^ is standard reading, fong^^2^^ is an uncommon variant
"""
@@
@@.answer
"""
謙 him^^1^^ / qian^^1^^
modest, humble, unassuming
"""
@@
@@.answer
"""
講古仔 gong^^2^^gu^^2^^zai^^2^^
粵: to tell a story / stories; 華: 講故事
講 gong^^2^^ — say, speak
古 gu^^2^^ — ancient, old, a surname
仔 zai^^2^^ zi^^2^^ — son, child
"""
@@
@@.answer
"""
講師 gong^^2^^si^^1^^ — a lecturer; cf: 教師, 導師
講 gong^^2^^ — say, speak
師 si^^1^^ — teacher, master
"""
@@
@@.answer
"""
講講 gong^^2^^gong^^2^^
華: to talk
講 gong^^2^^/jiang^^3^^ — say, speak
"""
@@
@@.answer
"""
證 zing^^3^^
to prove, demonstrate, testify to, attest to
an evidence, proof, testimony, certificate
//var.// 証
"""
@@
@@.answer
"""
證實 zing^^3^^sat^^6^^
to confirm the truth, to verify
證 zing^^3^^/zheng^^4^^ — prove, demonstrate, evidence, certifcate
實 sat^^6^^/shi^^2^^ — solid, true
"""
@@
@@.answer
"""
警察 ging^^2^^caat^^3^^
the police
警 ging^^2^^/jing^^3^^ — guard, watch, alert, police
察 caat^^3^^/cha^^2^^ — investigate, examine
"""
@@
@@.answer
"""
警惕 ging^^2^^tik^^1^^
alert, “attention!”, vigilant, to be on guard, to raise one’s guard
警 ging^^2^^ — guard, watch, alert, police
惕 tik^^1^^ — alert, watchful
"""
@@
@@.answer
"""
護照 wu^^6^^ziu^^3^^
a passport
護 wu^^6^^ — protect, guard, defend
照 ziu^^3^^ — shine, light, take care of
"""
@@
@@.answer
"""
讀 duk^^6^^ dau^^6^^ / du^^2^^ dou^^4^^
duk^^6^^ & du^^2^^
to read, pronounce, read aloud
to attend school, study
dau^^6^^ & dou^^4^^
a slight pause in reading
"""
@@
@@.answer
"""
讀書 duk^^6^^syu^^1^^
to read a book, to study, to attend school or college
讀 duk^^6^^ dau^^6^^/du^^2^^ dou^^4^^ — to read, attend school
書 syu^^1^^/shu^^1^^ — book, writings
"""
@@
@@.answer
"""
讀緊書 duk^^6^^gan^^2^^syu^^1^^
粵: reading a book, studying at school or college; 華: 在讀書
讀 duk^^6^^ dau^^6^^ — to read, attend school
緊 gan^^2^^ — tight, strict, tense; 粵: ongoing aspect
書 syu^^1^^ — book, writings
"""
@@
@@.answer
"""
變 bin^^3^^
to change, transform, alter
to change, become different
to turn into, become
extraordinarily, uncommon
an accident, misfortune, tragedy, upheaval, disturbance, unexpected turn of events
changeable
"""
@@
@@.answer
"""
變心 bin^^3^^sam^^1^^
to cease to be faithful
變 bin^^3^^ — change, alter, accident, uncommon
心 sam^^1^^ — heart
"""
@@
@@.answer
"""
變賣 bin^^3^^maai^^6^^
to sell off (one’s property)
變 bin^^3^^ — change, alter, accident, uncommon
賣 maai^^6^^ — sell
"""
@@
@@.answer
"""
讚 zaan^^3^^ / zan^^4^^
to praise, commend, extol, laud
"""
@@
@@.answer
"""
豆 dau^^6^^ dau^^6*2^^ / dou^^4^^
beans, peas, bean–shaped, legume, also 荳; classifier: 粒; dau^^6^^ is used for the first syllable of a bisyllabic term while dau^^6*2^^ is used for the last syllable
an ancient stemmed cup/bowl (for food)
"""
@@
@@.answer
"""
豆奶 dau^^6^^naai^^5^^
a soy bean milk/drink, soya bean milk/drink //syn.// 豆漿
豆 dau^^6^^ dau^^6*2^^ — beans, peas
奶 naai^^5^^ — milk
"""
@@
@@.answer
"""
豆子 dau^^6^^zi^^2^^ — 華: bean, soya bean, pea; 粵: 豆
豆 dau^^6^^ dau^^6*2^^ — beans, peas
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
豆腐 dau^^6^^fu^^6^^
bean curd, tofu, soybean curd
豆 dau^^6^^ dau^^6*2^^ — beans, peas
腐 fu^^6^^ — rot, stale, bean curd
"""
@@
@@.answer
"""
豈料 hei^^2^^liu^^6^^
who would have thought it, “however”
豈 hei^^2^^ — how
料 liu^^6^^ liu^^2^^ — anticipate, deal with, material, fodder
"""
@@
@@.answer
"""
豈有此理 hei^^2^^jau^^5^^ci^^2^^lei^^5^^
how is this possible? how can this be? preposterous, outrageous, totally unreasonable
豈 hei^^2^^/qi^^3^^ — how
有 jau^^5^^ jau^^6^^/you^^3^^ you^^4^^ — have, there is
此 ci^^2^^/ci^^3^^ — this, these, if so, thus
理 lei^^5^^/li^^3^^ — reason, natural science, manage, heed
"""
@@
@@.answer
"""
油 si^^6^^jau^^4^^/4*^^2^^
粵: soy sauce //syn.// 白油, 抽油; 華: 醬油
豉 si^^6^^ — fermented soybean
油 jau^^4^^ — oil, fat, grease, petroleum
"""
@@
@@.answer
"""
豐富 fung^^1^^fu^^3^^
rich, plentiful
豐 fung^^1^^/feng^^1^^ — abundant, charming
富 fu^^3^^/fu^^4^^ — rich, wealthy
"""
@@
@@.answer
"""
豔 jim^^6^^ / yan^^4^^
colourful
splendid
gaudy
amorous
romantic
to envy
beautiful
sexy
voluptuous
"""
@@
@@.answer
"""
豪 hou^^4^^ / hao^^2^^
powerful, outstanding, very rich
unrestrained, bold and forthright
despotic, bullying
"""
@@
@@.answer
"""
豪爽 hou^^4^^song^^2^^
straightfoward, forthright, bold
豪 hou^^4^^ — powerful, outstanding, unrestrained
爽 song^^2^^ — refreshing, frank, quick
"""
@@
@@.answer
"""
豪華 hou^^4^^waa^^4^^
luxurious, sumptuous
豪 hou^^4^^/hao^^2^^ — powerful, outstanding, unrestrained
華 waa^^4^^ waa^^6^^ faa^^1^^/hua^^2^^ hua^^4^^ kua^^1^^ — magnificent, prosperous, flashy, your, China
"""
@@
@@.answer
"""
豬公 zyu^^1^^gung^^1^^
粵: a boar
豬 zyu^^1^^ — pig
公 gung^^1^^ — public, common, international, impartial
"""
@@
@@.answer
"""
貓兒 maau^^1^^ji^^4*1^^
粵: a kitten; 華: 小猫
貓 maau^^1^^ — cat
兒 ji^^4^^ — child, son
"""
@@
@@.answer
"""
貓紙 maau^^1^^zi^^2^^
a cheat sheet (full: 出貓紙)
貓 maau^^1^^ — cat
紙 zi^^2^^ — paper
"""
@@
@@.answer
"""
貔貅 pei^^4^^jau^^1^^
粵: naughty, crafty, mischievous, mischief–maker, troublemaker; 華: 調皮, 搗蛋
(ancient) a mythical wild animal
brave troops
貔 pei^^4^^ — mythical animal
貅 jau^^1^^ — mythical animal
"""
@@
@@.answer
"""
財主 coi^^4^^zyu^^2^^
a rich man, moneybags
財 coi^^4^^/cai^^2^^ zai^^4^^ — wealth, riches, money
主 zyu^^2^^/zhu^^3^^ zhu^^4^^ — master, chief, leader
"""
@@
@@.answer
"""
財政 coi^^4^^zing^^3^^
public finances, financial
財 coi^^4^^/cai^^2^^ zai^^4^^ — wealth, riches, money
政 zing^^3^^/zheng^^4^^ — politics, political/administrative affairs
"""
@@
@@.answer
"""
財產 coi^^4^^caan^^2^^
a property
財 coi^^4^^ — wealth, riches, money
產 caan^^2^^ — bear offspring, produce, property
"""
@@
@@.answer
"""
貢 gung^^3^^ / gong^^4^^
to pay tribute, tribute
[archaic] to recommend or select talents
粵: to loiter, scamper
粵: (adv) unsteadily, shakily
粵: to burrow
"""
@@
@@.answer
"""
責任 zaak^^3^^jam^^6^^
a responsibility, duty
責 zaak^^3^^/ze^^2^^ — duty, demand, reproach, press steadily
任 jam^^6^^ jam^^4^^/ren^^4^^ ren^^2^^ — appoint, assume, let
"""
@@
@@.answer
"""
貴婦 gwai^^3^^fu^^5^^
a noble lady
貴 gwai^^3^^ — expensive
婦 fu^^5^^ pou^^5^^ — married woman, matron
"""
@@
@@.answer
"""
買單 maai^^5*4^^daan^^1^^
華: to call for the bill at a restaurant. This is the mandarin rendition of the cantonese 埋單 due to tonal differences, i.e. 華: 買 sounds closer to 粵: 埋 than 華: 埋 does
買 maai^^5^^ — buy, purchase
單 daan^^1^^ sin^^6^^ sin^^4^^ — single, odd number, simple, list, only
"""
@@
@@.answer
"""
買餸 maai^^5^^sung^^3^^
to buy dishes of food
買 maai^^5^^/mai^^3^^ — buy, purchase
餸 sung^^3^^/song^^4^^ — dish of food
"""
@@
@@.answer
"""
貿易 mau^^6^^jik^^6^^
trade
貿 mau^^6^^ — trade, barter, exchange
易 ji^^6^^ jik^^6^^ — easy, change
"""
@@
@@.answer
"""
賀 ho^^6^^
to congratulate, celebrate
a Chinese family name
"""
@@
@@.answer
"""
賄款 kui^^2^^fun^^2^^
bribery money
賄 kui^^2^^ — bribe, bribery
款 fun^^2^^ — sum of money, pattern, entertain, section
"""
@@
@@.answer
"""
賊 caak^^6^^
a thief, burglar, robber
an evildoer, traitor, enemy
wicked, evil, cunning
"""
@@
@@.answer
"""
賒 se^^1^^
to buy on credit
"""
@@
@@.answer
"""
賜給 ci^^3^^kap^^1^^
to bestow, to give
賜 ci^^3^^ — grant, bestow, confer, favour
給 kap^^1^^ — give, make sb suffer, supply, ample
"""
@@
@@.answer
"""
賞 soeng^^2^^
to award, grant a reward
a reward, award
to appreciate, view and admire
to honour sb with one’s presence
"""
@@
@@.answer
"""
賞賜 soeng^^2^^ci^^3^^
to award, grant/bestow a reward
a reward, award
賞 soeng^^2^^ — award, reward, appreciate
賜 ci^^3^^ — grant, bestow, confer, favour
"""
@@
@@.answer
"""
賢淑 jin^^4^^suk^^6^^
(of a woman) virtuous, kind–hearted
[full form] 賢良淑德
賢 jin^^4^^/xian^^2^^ — worthy, virtuous, capable
淑 suk^^6^^/shu^^1^^ — fair, pretty, virtuous
"""
@@
@@.answer
"""
賣主 maai^^6^^zyu^^2^^
a seller
賣 maai^^6^^ — sell
主 zyu^^2^^ — master, chief, leader
"""
@@
@@.answer
"""
賣花讚花香 maai^^6^^faa^^1^^zaan^^3^^faa^^1^^hoeng^^1^^
to boast about oneself //lit.// to sell flowers and praise their fragrance, to sing one’s own praises
賣 maai^^6^^/mai^^4^^ — sell
花 faa^^1^^/hua^^1^^ — flower
讚 zaan^^3^^/zan^^4^^ — praise
花 faa^^1^^/hua^^1^^ — flower
香 hoeng^^1^^/xiang^^1^^ — fragrant, aromatic
"""
@@
@@.answer
"""
賬 zoeng^^3^^
an account, business record
an account book, ledger book
a debt, loan, bill
also written 帳
"""
@@
@@.answer
"""
賭檔 dou^^2^^dong^^3^^
a gambling–house, a gambling den //lit.// gamble stall
賭 dou^^2^^ — gamble
檔 dong^^3^^ dong^^2^^ — files, shelves, crosspiece, grade, stall
"""
@@
@@.answer
"""
賭注 dou^^2^^zyu^^3^^
a wager, stake
賭 dou^^2^^ — gamble
注 zyu^^3^^ — pour liquid, concentrate, focus
"""
@@
@@.answer
"""
贍養費 sin^^6^^joeng^^5^^fai^^3^^
alimony
贍 sin^^6^^ sim^^6^^ — support, provide for
養 joeng^^5^^ — support, sustain, breed, rest, foster
費 fai^^3^^ bei^^3^^ — fee, expenses, cost, spend, wasteful
"""
@@
@@.answer
"""
贖錢 zuk^^6^^cin^^4*2^^
粵: to give change (after purchase); 華: 找錢
贖 suk^^6^^ zuk^^6^^ — redeem, atone for, give change
錢 cin^^4^^ cin^^4*2^^ — cash, money, coins
"""
@@
@@.answer
"""
赤柱 cek^^3^^cyu^^5^^
Chek Chu, Stanley, a Hong Kong district
赤 cek^^3^^ cik^^3^^ — red, naked, loyal, aching, icy
柱 cyu^^5^^ — pillar, post
"""
@@
@@.answer
"""
走入 zau^^2^^jap^^6^^
to walk into
走 zau^^2^^ — run, walk
入 jap^^6^^ — enter
"""
@@
@@.answer
"""
走出 zau^^2^^ceot^^1^^
to move away from, to walk away from
走 zau^^2^^ — run, walk
出 ceot^^1^^ — go out, show up, exceed, put up, produce
"""
@@
@@.answer
"""
走失 zau^^2^^sat^^1^^
wander away, be lost, be missing
走 zau^^2^^ — run, walk
失 sat^^1^^ — mistake, omission, lose, neglect
"""
@@
@@.answer
"""
走進 zau^^2^^zeon^^3^^
to walk in to
走 zau^^2^^/zou^^3^^ — run, walk
進 zeon^^3^^/jin^^4^^ — advance, enter, eat, present
"""
@@
@@.answer
"""
走道 zau^^2^^dou^^6^^
華: a footpath, pavement, path, sidewalk
走 zau^^2^^ — run, walk
道 dou^^6^^ — road, way, channel, doctrine, Taoism, skill
"""
@@
@@.answer
"""
赴 fu^^6^^ / fu^^4^^
to go, to visit (e.g. another country), to attend (a banquet etc)
"""
@@
@@.answer
"""
趁 can^^3^^ / chen^^4^^
to take advantage of, while, avail oneself of, when, now that
"""
@@
@@.answer
"""
趁墟 can^^3^^heoi^^1^^
to go to a country fair or market; 華: 趕集
趁 can^^3^^ — take advantage of, while
墟 heoi^^1^^ — country fair
"""
@@
@@.answer
"""
趁早 can^^3^^zou^^2^^
while it’s not too late, while it’s still early
趁 can^^3^^ — take advantage of, while
早 zou^^2^^ — early
"""
@@
@@.answer
"""
趁熱食 can^^3^^jit^^6^^sik^^6^^
粵: to eat it while it’s hot; 華: 趁熱吃
趁 can^^3^^ — take advantage of, while
熱 jit^^6^^ — hot
食 sik^^6^^ zi^^6^^ — eat, food
"""
@@
@@.answer
"""
超模 ciu^^1^^mou^^4^^
supermodel; full form: 超級模特兒 //syn.// 名模
超 ciu^^1^^ — exceed, super
模 mou^^4^^ — model, imitate, mould
"""
@@
@@.answer
"""
趕上 gon^^2^^seong^^5^^
to catch up with, overtake, draw level with
to be in time for, chance upon (a situation)
趕 gon^^2^^ — hurry after, catch up with, drive away
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
"""
@@
@@.answer
"""
趕快 gon^^2^^faai^^3^^
quickly, hurriedly, immediately, at once
趕 gon^^2^^/gan^^3^^ — hurry after, catch up with, drive away
快 faai^^3^^/kuai^^4^^ — quick, fast, hurry
"""
@@
@@.answer
"""
趨向 ceoi^^1^^hoeng^^3^^
to tend, a trend, to go after men of power, i.e. 趨炎附勢
趨 ceoi^^1^^ — hasten, tend to
向 hoeng^^3^^ — to face, direction, towards, all along
"""
@@
@@.answer
"""
趲 zaan^^2^^
to hasten, urge
"""
@@
@@.answer
"""
跌 dit^^3^^ tit^^3^^ / die^^1^^
to stumble, slip, fall down, fall, drop
to stamp
a fall
跌 is pronounced dit^^3^^ except in compounds containing 跌打 tit^^3^^daa^^2^^. 跌 had both a literary dit^^3^^ and colloquial tit^^3^^ pronunciation, but the old colloquial pronunciation tit^^3^^ is now obsolete, except in 跌打
"""
@@
@@.answer
"""
跌倒 dit^^3^^dou^^2^^
fell down
跌 dit^^3^^ tit^^3^^ — stumble, slip, fall
倒 dou^^2^^ dou^^3^^ — fall over, pour out, turn upside down
"""
@@
@@.answer
"""
跌嚫 dit^^3^^can^^1^^
粵: to suffer a fall; 華: 跌倒
跌 dit^^3^^ tit^^3^^ — stumble, slip, fall
嚫 can^^1^^ — every time, adversely
"""
@@
@@.answer
"""
跌眼鏡 dit^^3^^ngaan^^5^^geng^^3*2^^
to make a wrong prediction or an error of judgement //lit.// to drop glasses
跌 dit^^3^^ tit^^3^^ — stumble, slip, fall
眼 ngaan^^5^^ — eye
鏡 geng^^3^^ — mirror, lens
"""
@@
@@.answer
"""
跌落 dit^^3^^lok^^6^^
to fall, to fall down, to fall into
跌 dit^^3^^ tit^^3^^ — stumble, slip, fall
落 lok^^6^^ laai^^6^^ — to fall
"""
@@
@@.answer
"""
跎 to^^4^^ / tuo^^2^^
to slip, stumble, falter, vacillate
"""
@@
@@.answer
"""
跟尾狗 gan^^1^^mei^^5^^gau^^2^^
an obsequious person //lit.// follow tail dog
跟 gan^^1^^ — heel, follow, with, to, and
尾 mei^^5^^ — tail, rear, end, remnant
狗 gau^^2^^ — dog
"""
@@
@@.answer
"""
跨國 kwaa^^1^^gwok^^3^^
multinational
跨 kwaa^^1^^ — stride, straddle, cut across
國 gwok^^3^^ — nation, country, state
"""
@@
@@.answer
"""
跪 gwai^^6^^ / gui^^4^^
to kneel
"""
@@
@@.answer
"""
跪下 gwai^^6^^haa^^6^^
華: to kneel, to kneel down, to get down on one’s knees; also: 下跪; 粵: 跪低
跪 gwai^^6^^ — kneel
下 haa^^6^^ haa^^5^^ — under, lower, next, go down
"""
@@
@@.answer
"""
跳水 tiu^^3^^seoi^^2^^
to dive, jump into water, diving; 粵: also 插水
跳 tiu^^3^^ — jump
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
跳蚤市場 tiu^^3^^zou^^2^^si^^5^^coeng^^4^^
a flea market
跳 tiu^^3^^/tiao^^4^^ — jump
蚤 zou^^2^^/zao^^3^^ — flea
市 si^^5^^/shi^^4^^ — market, fair, city, metropolis, trade
場 coeng^^4^^/chang^^3^^ chang^^2^^ — sports arena, open space, field, show
"""
@@
@@.answer
"""
跳躍 tiu^^3^^joek^^6^^
to jump, to leap, to skip, to bound, to hop
跳 tiu^^3^^ — jump
躍 joek^^6^^ joek^^3^^ — leap, jump, hop
"""
@@
@@.answer
"""
踩線 caai^^2^^sin^^3^^
to go door to door, to do “cold–calling” (sales)
to hustle for business
to check out a target in advance, to reconnoitre, to gather information (criminals, police)
踩 caai^^2^^ jaai^^2^^ — step on, demean, peddle
線 sin^^3^^ — thread, line
"""
@@
@@.answer
"""
踹 caai^^2^^ jaai^^2^^ cyun^^2^^ / chuai^^4^^
粵: caai^^2^^ jaai^^2^^ 華: chuai^^4^^
to kick (with bottom of one’s foot)
[as variant of 踩] to step on, tread, stamp
粵: jaai^^2^^ colloquial, caai^^2^^ literary
粵: cyun^^2^^ 華: chuan^^3^^
a calf (of one’s leg)
"""
@@
@@.answer
"""
踹單車 jaai^^2^^daan^^1^^ce^^1^^
粵: to ride a bicycle
踹 caai^^2^^ jaai^^2^^ cyun^^2^^ — kick, step on
單 daan^^1^^ sin^^6^^ sin^^4^^ — single, odd number, simple, list, only
車 ce^^1^^ geoi^^1^^ — cart, vehicle, car
"""
@@
@@.answer
"""
躋 zai^^1^^
to go up (esp. in rank), to rise, to ascend
"""
@@
@@.answer
"""
身家 san^^1^^gaa^^1^^
a family origin, assets, one’s total wealth
身 san^^1^^ — body, life, oneself
家 gaa^^1^^ — home, family, specialist
"""
@@
@@.answer
"""
身有屎 san^^1^^jau^^5^^si^^2^^
a skeleton in the closet, an incriminating/dirty secret //lit.// a body has excrement //syn.// 作賊心虛
身 san^^1^^ — body, life, oneself
有 jau^^5^^ jau^^6^^ — have, there is
屎 si^^2^^ — excrement, no good
"""
@@
@@.answer
"""
身高 san^^1^^gou^^1^^
a person’s height
身 san^^1^^ — body, life, oneself
高 gou^^1^^ — tall, high
"""
@@
@@.answer
"""
車大奅 ce^^1^^daai^^6^^paau^^3^^
to boast, to brag, to talk big; 華: 吹牛 (more commonly encountered as 車大炮 as 奅 is considered a rare or difficult character)
車 ce^^1^^ geoi^^1^^/che^^1^^ ju^^1^^ — cart, vehicle, car
大 daai^^6^^/da^^4^^ dai^^4^^ — big
奅 paau^^3^^/pao^^4^^ — empty and big, boasting
"""
@@
@@.answer
"""
車程 ce^^1^^cing^^4^^
a transport journey
車 ce^^1^^ geoi^^1^^ — cart, vehicle, car
程 cing^^4^^ — distance, measure, pattern
"""
@@
@@.answer
"""
車路 ce^^1^^lou^^6^^
a roadway
車 ce^^1^^ geoi^^1^^ — cart, vehicle, car
路 lou^^6^^ — road, path, way, means, line
"""
@@
@@.answer
"""
車輛壓碎機 ce^^1^^loeng^^6*2^^aat^^3^^seoi^^3^^gei^^1^^
a car crusher
車 ce^^1^^ geoi^^1^^/che^^1^^ ju^^1^^ — cart, vehicle, car
輛 loeng^^6^^/liang^^4^^ — unit of vehicles
壓 aat^^3^^/ya^^1^^ ya^^4^^ — press, suppress, control, prevail over
碎 seoi^^3^^/sui^^4^^ — broken, break to pieces, smash, busted
機 gei^^1^^/ji^^1^^ — machine
"""
@@
@@.answer
"""
車間 ce^^1^^gaan^^1^^
a garage, workshop; 粵: 車房 //syn.// 車庫
車 ce^^1^^ geoi^^1^^ — cart, vehicle, car
間 gaan^^1^^ gaan^^3^^ — interval of time or space
"""
@@
@@.answer
"""
較 gaau^^3^^
to compare, contest, haggle, dispute
comparatively, relatively, quite
than [prep] (used for comparison)
obvious, clear, conspicuous
粵: to flee, escape
"""
@@
@@.answer
"""
輕佻 hing^^1^^tiu^^1^^
frivolous, flippant, giddy, skittish
輕 hing^^1^^ heng^^1^^ — light (in weight), slight, relaxed
佻 tiu^^1^^ — frivolous, imprudent
"""
@@
@@.answer
"""
輕鬆 hing^^1^^sung^^1^^
to relax, relaxing
輕 hing^^1^^ heng^^1^^/qing^^1^^ — light (in weight), slight, relaxed
鬆 sung^^1^^/song^^1^^ — lax, loose, slack, to loosen
"""
@@
@@.answer
"""
輩 bui^^3^^
a generation (in the family), lifetime
people of a certain kind, the like, type
"""
@@
@@.answer
"""
輸 syu^^1^^
to lose, be beaten/defeated (in a match, game, etc)
to transport, convey, carry, transmit
to contribute/donate (money)
"""
@@
@@.answer
"""
轄下 hat^^6^^haa^^6^^
under the administration of; [full form] 管轄之下
轄 hat^^6^^ — administer, govern
下 haa^^6^^ haa^^5^^ — under, lower, next, go down
"""
@@
@@.answer
"""
轉換 zyun^^2^^wun^^6^^
to transform, to change, to convert
轉 zyun^^2^^ zyun^^3^^/zhuan^^3^^ zhuan^^4^^ — turn, transfer, revolve
換 wun^^6^^/huan^^4^^ — change, exchange, alter
"""
@@
@@.answer
"""
轟轟烈烈 gwang^^1^^gwang^^1^^lit^^6^^lit^^6^^
on a grand and spectacular scale, with vigour and vitality //lit.// explosively and vigorously
轟 gwang^^1^^/hong^^1^^ — bang, boom, bombard, shoo away, grand
轟 gwang^^1^^/hong^^1^^ — bang, boom, bombard, shoo away, grand
烈 lit^^6^^/lie^^4^^ — intense, staunch, martyr, achievements
烈 lit^^6^^/lie^^4^^ — intense, staunch, martyr, achievements
"""
@@
@@.answer
"""
辛 san^^1^^ / xin^^1^^
hard, laborious
sad, miserable
pungent, hot (in flavour), acrid
the eighth of the ten Heavenly Stems
a Chinese family name
"""
@@
@@.answer
"""
辜負 gu^^1^^fu^^6^^
to let down, to fail to live up to expectations, to disappoint //alt.// 孤負
辜 gu^^1^^ — crime, let down
負 fu^^6^^ — carry, lose, suffer, enjoy
"""
@@
@@.answer
"""
辣手 laat^^6^^sau^^2^^
difficult to cope with, hard to deal with
tough, skillful
辣 laat^^6^^ — hot, piquant
手 sau^^2^^ — hand
"""
@@
@@.answer
"""
辦公 baan^^6^^gung^^1^^
to handle official business, to do (usually white–collar) work
辦 baan^^6^^/ban^^4^^ — manage, handle
公 gung^^1^^/gong^^1^^ — public, common, international, impartial
"""
@@
@@.answer
"""
辭 ci^^4^^
diction, phraseology, expression
a type of classical Chinese literature or poetry
to shirk, evade, decline
to resign, dismiss, discharge
to take leave, part from, bid //adieu//
"""
@@
@@.answer
"""
辱 juk^^6^^ / ru^^3^^
a disgrace, dishonour, humiliation
to humiliate, insult, disgrace
to be indebted, be honoured, be grateful to
"""
@@
@@.answer
"""
農夫 nung^^4^^fu^^1^^
a farmer; 粵: 耕田佬
農 nung^^4^^ — agriculture
夫 fu^^1^^ fu^^4^^ — husband, male adult, manual worker
"""
@@
@@.answer
"""
近住 gan^^6^^zyu^^6^^
粵: near something, close to something; 華: & //syn.// 附近
近 gan^^6^^ kan^^5^^ — near, close
住 zyu^^6^^ — live, reside, stay
"""
@@
@@.answer
"""
返上嚟 faan^^1^^soeng^^5^^lai^^4^^
粵: to come back up here
返 faan^^1^^ faan^^2^^ — return, go back
上 soeng^^6^^ soeng^^5^^ — upper, superior, preceding, up, on
嚟 lai^^4^^ lei^^4^^ — come
"""
@@
@@.answer
"""
返入嚟 faan^^1^^jap^^6^^lai^^4^^
粵: come into here again
返 faan^^1^^ faan^^2^^ — return, go back
入 jap^^6^^ — enter
嚟 lai^^4^^ lei^^4^^ — come
"""
@@
@@.answer
"""
返出嚟 faan^^1^^ceot^^1^^lai^^4^^
粵: to come back out here
返 faan^^1^^ faan^^2^^ — return, go back
出 ceot^^1^^ — go out, show up, exceed, put up, produce
嚟 lai^^4^^ lei^^4^^ — come
"""
@@
@@.answer
"""
返學 faan^^1^^hok^^6^^
to go to school; 華: 去學校, 上課
返 faan^^1^^ faan^^2^^/fan^^3^^ — return, go back
學 hok^^6^^/xue^^2^^ — learn, learning, school
"""
@@
@@.answer
"""
返屋企 faan^^1^^uk^^1^^kei^^5*2^^
粵: to return home, go home; 華: 回家
返 faan^^1^^ faan^^2^^ — return, go back
屋 uk^^1^^ — house
企 kei^^5^^ kei^^5*2^^ — stand, look forward to
"""
@@
@@.answer
"""
返落嚟 faan^^1^^lok^^6^^lai^^4^^
粵: to come back down here
返 faan^^1^^ faan^^2^^ — return, go back
落 lok^^6^^ laai^^6^^ — to fall
嚟 lai^^4^^ lei^^4^^ — come
"""
@@
@@.answer
"""
返開嚟 faan^^1^^hoi^^1^^lai^^4^^
粵: to come back towards the speaker but away from the object
返 faan^^1^^ faan^^2^^ — return, go back
開 hoi^^1^^ — open
嚟 lai^^4^^ lei^^4^^ — come
"""
@@
@@.answer
"""
迫 bik^^1^^ baak^^1^^ / pai^^3^^,po^^4^^
粵: bik^^1^^ 華: po^^4^^
to coerce, compel, force, press
urgent, imminent, pressing
to come near, go towards, approach
粵: crowded, jammed/packed with
粵: to jostle, shove, push
粵: bik^^1^^ 華: pai^^3^^
a trench mortar
"""
@@
@@.answer
"""
迷你 mai^^4^^nei^^5^^
mini
迷 mai^^4^^ — confuse, get lost, enchant, enthusiast
你 nei^^5^^ — you
"""
@@
@@.answer
"""
迷妳 mai^^4^^nei^^5^^
mini
迷 mai^^4^^ — confuse, get lost, enchant, enthusiast
妳 nei^^5^^ — you (female)
"""
@@
@@.answer
"""
迷陣 mai^^4^^zan^^6^^
a maze (loanword)
迷 mai^^4^^ — confuse, get lost, enchant, enthusiast
陣 zan^^6^^ — battle formation, period of time
"""
@@
@@.answer
"""
追到瘦 zeoi^^1^^dou^^3^^sau^^3^^
to put pressure on someone for something, to “put the squeeze” on somebody //lit.// to chase someone until they become thin
追 zeoi^^1^^/zhui^^1^^ — chase, seek
到 dou^^3^^ dou^^3*2^^/dao^^4^^ — arrive, go to
瘦 sau^^3^^/shou^^4^^ — thin, lean, skinny
"""
@@
@@.answer
"""
退婚 teoi^^3^^fan^^1^^
to annul an engagment to marry
退 teoi^^3^^ — move back, bow out
婚 fan^^1^^ — to wed, to marry, marriage, wedding
"""
@@
@@.answer
"""
送入鬼門關 sung^^3^^jap^^6^^gwai^^2^^mun^^4^^gwaan^^1^^
to kill someone, to cause someone’s death //lit.// to escort through the gate of the spirit world
"""
@@
@@.answer
"""
送禮 sung^^3^^lai^^5^^
to give sb. a present, to present sb. a gift
送 sung^^3^^/song^^4^^ — send, give, see sb off
禮 lai^^5^^/li^^3^^ — ceremony, rite, propriety, gift
"""
@@
@@.answer
"""
送羊入虎口 sung^^3^^joeng^^4^^jap^^6^^fu^^2^^hau^^2^^
to send a lamb to slaughter //lit.// send lamb tiger mouth
送 sung^^3^^ — send, give, see sb off
羊 joeng^^4^^ — sheep, goat
入 jap^^6^^ — enter
虎 fu^^2^^ — tiger
口 hau^^2^^ — mouth
"""
@@
@@.answer
"""
逆行 jik^^6^^hang^^4^^
to go the wrong way, to flout (one–way traffic) rules
逆 jik^^6^^ ngaak^^6^^ — disobey, counter
行 hang^^4^^ haang^^4^^ hong^^4^^ hang^^6^^ — walk, circulate, line, trade, shop, conduct
"""
@@
@@.answer
"""
逐 zuk^^6^^ / zhu^^2^^
to pursue, chase, follow
to drive out, expel, deport
one by one, gradually
"""
@@
@@.answer
"""
逐個 zuk^^6^^go^^3^^
one–by–one, each in turn, sequentially
逐 zuk^^6^^ — pursue, drive out, one by one
個 go^^3^^ — unit, individual
"""
@@
@@.answer
"""
逐字 zuk^^6^^zi^^6^^
word–for–word, verbatim
逐 zuk^^6^^ — pursue, drive out, one by one
字 zi^^6^^ — word, glyph
"""
@@
@@.answer
"""
逐步 zuk^^6^^bou^^6^^
step–by–step
逐 zuk^^6^^ — pursue, drive out, one by one
步 bou^^6^^ — step, pace, fortune
"""
@@
@@.answer
"""
逗 dau^^6^^ / dou^^4^^
to stay, pause, linger, stop
to tease, induce, make fun of, amuse
"""
@@
@@.answer
"""
這 ze^^3^^ ze^^5^^ / zhe^^4^^ zhei^^4^^
this //ant.// 那
now, then
粵: ze^^3^^ is standard reading, ze^^5^^ is variant
華: zhe^^4^^ is standard reading, zhei^^4^^ is a syllable blending of 這 + 一
"""
@@
@@.answer
"""
這裡 ze^^2^^leoi^^5^^
here; 粵: 呢度
這 ze^^3^^ ze^^5^^/zhe^^4^^ zhei^^4^^ — this, now, then
裡 leoi^^5^^ lei^^5^^/li^^3^^ li^^5^^ — variant of 裏
"""
@@
@@.answer
"""
通勝 tung^^1^^sing^^3^^
an almanac, fortune telling calendar. 通書 was the original term for “almanac”, but 書 syu^^1^^ sounds inauspiciously like 輸 “lose”. 勝, meaning “win”, sustitutes for 書
通 tung^^1^^ — through, notify, general, know
勝 sing^^3^^ sing^^1^^ — win, excel, competent
"""
@@
@@.answer
"""
通電 tung^^1^^din^^6^^
to electrify
通 tung^^1^^ — through, notify, general, know
電 din^^6^^ — lightning, electricity
"""
@@
@@.answer
"""
速遞 cuk^^1^^dai^^6^^
express post, special delivery //syn.// 快遞
速 cuk^^1^^ — fast, speed
遞 dai^^6^^ — hand over, successively
"""
@@
@@.answer
"""
逢 fung^^4^^ / feng^^2^^
粵: fung^^4^^; 華: feng^^2^^
to meet, come across, encounter
to fall on, happen on, every
粵: pung^^4^^; 華: peng^^2^^
a Chinese surname
"""
@@
@@.answer
"""
連本帶利 lin^^4^^bun^^2^^daai^^3^^lei^^6^^
both principal and interest, capital plus profit
連 lin^^4^^ — link, continuously, including, even
本 bun^^2^^ — basis, original, copy
帶 daai^^3^^ daai^^3*2^^ — belt, band, zone, bring
利 lei^^6^^, lai^^6^^ — profit, gains, benefit, serve
"""
@@
@@.answer
"""
週日 zau^^1^^jat^^6^^
Sunday
週 zau^^1^^ — week, period
日 jat^^6^^ — sun, day
"""
@@
@@.answer
"""
週時 zau^^1^^si^^4^^
粵: often
週 zau^^1^^ — week, period
時 si^^4^^ — time
"""
@@
@@.answer
"""
進 zeon^^3^^
to advance, move forward, go ahead //ant.// 退
to enter, come/go/get into //ant.// 出
top eat, drink, take (meal)
to present, submit, offer
to receive, purchase, recruit
"""
@@
@@.answer
"""
進入 zeon^^3^^jap^^6^^
to enter, to go in, to come in
進 zeon^^3^^ — advance, enter, eat, present
入 jap^^6^^ — enter
"""
@@
@@.answer
"""
進去 zeon^^3^^heoi^^3^^
華: to go in; 粵: 入去
進 zeon^^3^^ — advance, enter, eat, present
去 heoi^^3^^ heoi^^2^^ — go, leave, past, remove
"""
@@
@@.answer
"""
進口 zeon^^3^^hau^^2^^
imports, to import
to enter into a port
an entrance //syn.// 入口
進 zeon^^3^^/jin^^4^^ — advance, enter, eat, present
口 hau^^2^^/kou^^3^^ — mouth
"""
@@
@@.answer
"""
進步 zeon^^3^^bou^^6^^
to progress, progressive
進 zeon^^3^^ — advance, enter, eat, present
步 bou^^6^^ — step, pace, fortune
"""
@@
@@.answer
"""
遂 seoi^^6^^ / sui^^2^^,sui^^4^^
粵: seoi^^6^^; 華: sui^^4^^
to satisfy, fulfil, goes one’s way
to succeed, complete, get the job done
then, thereupon, consequently
粵: seoi^^6^^; 華: sui^^2^^
smooth, unhindered (esp one’s physical condition)
"""
@@
@@.answer
"""
過來 gwo^^3^^lai^^4^^
to come (over) here
used after a verb to indicate (a) sufficiency of time, quantity, etc (b) motion towards the speaker (c) turning upside down or in another direction (d) a return to the original or normal state; 粵: 過嚟
過 gwo^^3^^ — pass through, across
來 loi^^4^^ — come, arrive, future
"""
@@
@@.answer
"""
過去 gwo^^3^^heoi^^3^^
to go over there
in the past; 粵: 舊時, 舊陣時
past tense
過 gwo^^3^^/guo^^4^^ guo^^5^^ — pass through, across
去 heoi^^3^^ heoi^^2^^/qu^^4^^ qu^^3^^ — go, leave, past, remove
"""
@@
@@.answer
"""
過啲 gwo^^3^^di^^1^^
粵: farther on
過 gwo^^3^^ — pass through, across
啲 di^^1^^ dit^^1^^ — some, those, a few
"""
@@
@@.answer
"""
過期 gwo^^3^^kei^^4^^
overdue, expire
過 gwo^^3^^/guo^^4^^ guo^^5^^ — pass through, across
期 kei^^4^^/qi^^1^^ qi^^2^^ — period of time, phase, expect
"""
@@
@@.answer
"""
過江龍 gwo^^3^^gong^^1^^lung^^4^^
粵: an outsider or outside entity having an effect on local affairs
粵: jumper cables
//Entada phaseoloides//, the St. Thomas giant bean
過 gwo^^3^^/guo^^4^^ guo^^5^^ — pass through, across
江 gong^^1^^/jiang^^1^^ — large river, Chinese surname
龍 lung^^4^^/long^^2^^ — dragon
"""
@@
@@.answer
"""
過程 gwo^^3^^cing^^4^^
a course of events, process
過 gwo^^3^^ — pass through, across
程 cing^^4^^ — distance, measure, pattern
"""
@@
@@.answer
"""
過身 gwo^^3^^san^^1^^
粵: to pass away/on/out, die //syn.// 死咗, 香咗, 唔喺度; 華: 過世, 去世, 死了, 不在
過 gwo^^3^^ — pass through, across
身 san^^1^^ — body, life, oneself
"""
@@
@@.answer
"""
過頭 gwo^^3^^tau^^4^^
粵: too much, to excess; used in speech as an alternative to 太 (too, excessively), i.e. instead of “太(adjective) ”, “(adjective)過頭” is used e.g. 大過頭, too big
過 gwo^^3^^ — pass through, across
頭 tau^^4^^ — head, first, chief
"""
@@
@@.answer
"""
過馬路 gwo^^3^^maa^^5^^lou^^6^^
to cross the road
過 gwo^^3^^ — pass through, across
馬 maa^^5^^ — horse
路 lou^^6^^ — road, path, way, means, line
"""
@@
@@.answer
"""
道姑 dou^^6^^gu^^1^^
a taoist nun
道 dou^^6^^ — road, way, channel, doctrine, Taoism, skill
姑 gu^^1^^ — aunt, sister–in–law
"""
@@
@@.answer
"""
遙控撻車 jiu^^4^^hung^^3^^taat^^3^^ce^^1^^ — 粵: keyless remote (car)
遙 jiu^^4^^ — distant
控 hung^^3^^ — control, accuse
撻 taat^^3^^ taat^^1^^ — flog, forfeit, screw up, start (car)
車 ce^^1^^ geoi^^1^^ — cart, vehicle, car
"""
@@
@@.answer
"""
遠 jyun^^5^^ jyun^^6^^ / yuan^^3^^
粵: jyun^^5^^; 華: yuan^^3^^
far away (in time or space) //ant.// 近
distant in relationship //syn.// 疏
by far, far and away, not anywhere near
粵: jyun^^6^^; 華: yuan^^3^^
to keep away from, shun, avoid
"""
@@
@@.answer
"""
遣 hin^^2^^ / qian^^3^^
to dispatch, send, repatriate
to expel, banish, dispel
"""
@@
@@.answer
"""
遭 zou^^1^^ / zao^^1^^
to meet with, suffer, encounter
[measure] time, turn
"""
@@
@@.answer
"""
遲 ci^^4^^
late, delayed, slow, expression
"""
@@
@@.answer
"""
遷就 cin^^1^^zau^^6^^
to yield to, make concession, accommodate oneself to, give in to, humour sb //syn.// 粵: 就; 華: 將就
遷 cin^^1^^ — move, change
就 zau^^6^^ — right away, only, approach, comply with
"""
@@
@@.answer
"""
遺傳性 wai^^4^^cyun^^4^^sing^^3^^
hereditary, inherited, genetic
遺 wai^^4^^ wai^^6^^ — lose, omit, leave behind, hand down
傳 cyun^^4^^ zyun^^6^^ — pass, spread, biography, story
性 sing^^3^^ — nature, character, sex
"""
@@
@@.answer
"""
遺囑 wai^^4^^zuk^^1^^
a will, last will and testament, dying words
遺 wai^^4^^ wai^^6^^ — lose, omit, leave behind, hand down
囑 zuk^^1^^ — enjoin, advise, urge
"""
@@
@@.answer
"""
遺棄 wai^^4^^hei^^3^^
to leave, to abandon
遺 wai^^4^^ wai^^6^^ — lose, omit, leave behind, hand down
棄 hei^^3^^ — throw away, discard, abandon
"""
@@
@@.answer
"""
避 bei^^6^^
to avoid, evade, shun, avert
to prevent, keep away, repel
"""
@@
@@.answer
"""
避孕套 bei^^6^^jan^^6^^tou^^3^^
a condom
避 bei^^6^^/bi^^4^^ — avoid, prevent
孕 jan^^6^^/yun^^4^^ — be pregnant, conceive, pregnancy
套 tou^^3^^/tao^^4^^ — cover, set, convention, copy, knot, trick
"""
@@
@@.answer
"""
還可以 waan^^4^^ho^^2^^ji^^5^^
華: also acceptable, still acceptable; 粵: 重可以, 仲可以
還 waan^^4^^ — return, still, even, again, also
可 ho^^2^^ hak^^1^^ — can, approve, need, but
以 ji^^5^^ — by means of, because of
"""
@@
@@.answer
"""
邊便 bin^^1^^bin^^6^^
粵: which side? //syn.// 邊一便; 華: 哪邊, 哪一邊
邊 bin^^1^^ — edge, nearby, border, side; 粵: which
便 bin^^6^^ pin^^4^^ — convenient, ordinary, cheap
"""
@@
@@.answer
"""
邊喥 bin^^1^^dou^^6^^
粵: where? variant of 邊度 //syn.// 邊處; 文: 何處; 華: 哪裡, 哪兒
邊 bin^^1^^ — edge, nearby, border, side; 粵: which
喥 dou^^6^^ dou^^2^^ — variant of 度
"""
@@
@@.answer
"""
邋遢 laat^^6^^taat^^3^^
dirty, slovenly, sloppy; 粵: also 污糟
邋 laat^^6^^ laap^^6^^ — rags
遢 taat^^3^^ taap^^3^^ — untidy
"""
@@
@@.answer
"""
邋遢貓 laat^^6^^taat^^3^^maau^^1^^
a mudskipper
邋 laat^^6^^ laap^^6^^ — rags
遢 taat^^3^^ taap^^3^^ — untidy
貓 maau^^1^^ — cat
"""
@@
@@.answer
"""
那個 naa^^5^^go^^3^^
華: that one; 粵: 嗰個
那 naa^^5^^ — that, then
個 go^^3^^ — unit, individual
"""
@@
@@.answer
"""
那兒 naa^^5^^ji^^4^^
華: there
那 naa^^5^^ — that, then
兒 ji^^4^^ — child, son
"""
@@
@@.answer
"""
郁 juk^^1^^ / yu^^4^^
粵: to move (alternative characters: 喐, 逳)
adorned, colourfully ornamented, beautiful, refined
a Chinese family name
simplified form of 鬱 wat^^1^^
"""
@@
@@.answer
"""
部 bou^^6^^ / bu^^4^^
a part, section, portion
a department, division, ministry
classifier for books, films, machines, etc
troops, forces, army
"""
@@
@@.answer
"""
部分 bou^^6^^fan^^6^^
a section, part
部 bou^^6^^ — part, section, department, division, troops
分 fan^^1^^ fan^^6^^ — divide, distribute, distinguish, point
"""
@@
@@.answer
"""
部首 bou^^6^^sau^^2^^
a radical: a basic identifiable component of every Chinese character, most dictionaries sort characters based on radicals (modern traditional character dictionaries typically use a set of 214 radicals) followed by stroke count
部 bou^^6^^ — part, section, department, division, troops
首 sau^^2^^ — the first, the head, leader
"""
@@
@@.answer
"""
郭 gwok^^3^^ / guo^^1^^
an outer city wall
a frame, rim
a Chinese surname
"""
@@
@@.answer
"""
都 dou^^1^^ / dou^^1^^,du^^1^^
粵: dou^^1^^ 華: dou^^1^^
all, both, without exception
even, already
粵: also, too
粵: dou^^1^^ 華: du^^1^^
a capital, metropolis, big city
"""
@@
@@.answer
"""
都是 dou^^1^^si^^6^^
華: all are
都 dou^^1^^ — all, both, even, already, also, capital
是 si^^6^^ — is
"""
@@
@@.answer
"""
鄉下 hoeng^^1^^haa^^6*2^^
a village, country (as opposed to town or city), countryside, rural, hometown, native place
鄉 hoeng^^1^^/xiang^^1^^ — village, hometown, township
下 haa^^6^^ haa^^5^^/xia^^4^^ — under, lower, next, go down
"""
@@
@@.answer
"""
鄰里 leon^^4^^lei^^5^^
a neighbourhood, neighbours //syn.// 鄰舍, 鄰居, 街坊, 隔籬
鄰 leon^^4^^ — neighbour, neighbourhood, neighbouring
里 lei^^5^^ — lane, neighbourhood
"""
@@
@@.answer
"""
醒唔起 seng^^2^^m^^4^^hei^^2^^
粵: cannot remember, not able to remember; also 粵: 諗唔起; 華: 想不起來
醒 sing^^2^^ seng^^2^^ — wake up, clever
唔 m^^4^^ — not, no
起 hei^^2^^ — rise, stand up, begin, build, remove, draft
"""
@@
@@.answer
"""
醜怪 cau^^2^^gwaai^^3^^
ugly, grotesque
醜 cau^^2^^ — ugly, disgraceful
怪 gwaai^^3^^ — strange, blame, find sth strange, monster
"""
@@
@@.answer
"""
醜死鬼 cau^^2^^sei^^2^^gwai^^2^^
embarrassing, shameful
醜 cau^^2^^ — ugly, disgraceful
死 sei^^2^^ — die, death, dead
鬼 gwai^^2^^ — ghost, devil, dishonest, terrible
"""
@@
@@.answer
"""
醫藥常識 ji^^1^^joek^^6^^soeng^^4^^sik^^1^^
general medical knowledge
醫 ji^^1^^/yi^^1^^ — doctor, physician, cure, treat
藥 joek^^6^^/yao^^4^^ — medicine
常 soeng^^4^^/chang^^2^^ — common, ordinary, frequently
識 sik^^1^^ zi^^3^^/shi^^2^^ shi^^4^^ zhi^^4^^ — know, remember
"""
@@
@@.answer
"""
醬油 zoeng^^3^^jau^^4^^
華: soy sauce; 粵: 白油, 豉油, 抽油
醬 zoeng^^3^^ — paste, jam, sauce
油 jau^^4^^ — oil, fat, grease, petroleum
"""
@@
@@.answer
"""
重係 zung^^6^^hai^^6^^
粵: still, nevertheless; 華: 還是
重 cung^^5^^ zung^^6^^ cung^^4^^ — heavy, important, furthermore, repeat
係 hai^^6^^ — yes, it is, indeed, right, positive, to be
"""
@@
@@.answer
"""
重力 cung^^5^^lik^^6^^
gravity, gravitational force
重 cung^^5^^ zung^^6^^ cung^^4^^ — heavy, important, furthermore, repeat
力 lik^^6^^ — strength, force, power
"""
@@
@@.answer
"""
重型 cung^^5^^jing^^4^^
heavy–duty
重 cung^^5^^ zung^^6^^ cung^^4^^ — heavy, important, furthermore, repeat
型 jing^^4^^ — pattern, model, type, standard, stylish
"""
@@
@@.answer
"""
重未 zung^^6^^mei^^6^^
粵: not yet, have yet to; 華: 還沒, 還沒有, also written as 仲未
重 cung^^5^^ zung^^6^^ cung^^4^^ — heavy, important, furthermore, repeat
未 mei^^6^^ — not yet, not
"""
@@
@@.answer
"""
重酬 cung^^5^^cau^^4^^
a handsome/high reward
to generously reward
重 cung^^5^^ zung^^6^^ cung^^4^^ — heavy, important, furthermore, repeat
酬 cau^^4^^ — reward, remunerate, socialise with
"""
@@
@@.answer
"""
重量 cung^^5^^loeng^^6^^/zhong^^4^^liang^^4^^
a weight
重 cung^^5^^ zung^^6^^ cung^^4^^ — heavy, important, furthermore, repeat
量 loeng^^4^^ loeng^^6^^ — measure, deliberate, amount, estimate
"""
@@
@@.answer
"""
野蠻 je^^5^^maan^^4^^
savage, uncivilised, brutal, cruel; 粵: 牛精
野 je^^5^^/ye^^3^^ — open country, uncultivated, rude
蠻 maan^^4^^/man^^2^^ — rude, quite
"""
@@
@@.answer
"""
金 gam^^1^^ / jin^^1^^
gold, golden
metal, metals in general
money, wealth
precious, excellent, fine
weapons, arms
durable
name of the Tungusic dynasty (1115–1234), which dominated Manchuria and North China
a Chinese family name
Kangxi radical 167
"""
@@
@@.answer
"""
金婚 gam^^1^^fan^^1^^
a golden wedding
金 gam^^1^^ — gold
婚 fan^^1^^ — to wed, to marry, marriage, wedding
"""
@@
@@.answer
"""
金木水火土 gam^^1^^muk^^6^^seoi^^2^^fo^^2^^tou^^2^^
the five elements: metal, wood, water, fire, and earth
金 gam^^1^^ — gold
木 muk^^6^^ — tree, wood
水 seoi^^2^^ — water, liquid, dough (money)
火 fo^^2^^ — fire
土 tou^^2^^ — soil, earth
"""
@@
@@.answer
"""
金魚缸 gam^^1^^jyu^^4^^gong^^1^^
a goldfish bowl
金 gam^^1^^ — gold
魚 jyu^^4^^ — fish
缸 gong^^1^^ — jar
"""
@@
@@.answer
"""
釘蓋 deng^^1^^goi^^3^^
to die, to be dead //lit.// to nail the lid (of a coffin)
釘 deng^^1^^ ding^^1^^ — nail, follow closely, urge
蓋 goi^^3^^ koi^^3^^ — lid, to cover, cover up, build, surpass
"""
@@
@@.answer
"""
釣 diu^^3^^
to fish (with a hook and a line), angle
to lure, tempt
a fishhook
"""
@@
@@.answer
"""
鈍手鈍腳 deon^^6^^sau^^2^^deon^^6^^goek^^3^^
slow to react; also 笨手笨腳
鈍 deon^^6^^ — stupid, slow–witted, blunt
手 sau^^2^^ — hand
腳 goek^^3^^ — foot, feet
"""
@@
@@.answer
"""
鉛筆 jyun^^4^^bat^^1^^
a pencil //lit.// lead brush
鉛 jyun^^4^^ — lead (metal)
筆 bat^^1^^ — pen, pencil, writing brush
"""
@@
@@.answer
"""
銀両 ngan^^4^^loeng^^2^^
a silver //tael//
//liang// (a unit of weight, equal to ^^1^^/,,10,, of a //jin// or 50g)
//tael// (a unit of weight, equal to ^^1^^/,,16,, of a //catty// or about 31g)
silver currency / currency of the Qing dynasty based on the silver //tael// 兩
銀 ngan^^4^^/yin^^2^^ — silver, currency
兩 loeng^^5^^ loeng^^2^^/liang^^3^^ — two, pair
"""
@@
@@.answer
"""
銀包 ngan^^4^^baau^^1^^
a wallet, purse; 華: 錢包, 皮包
銀 ngan^^4^^/yin^^2^^ — silver, currency
包 baau^^1^^/bao^^1^^ — wrap, package, bun
"""
@@
@@.answer
"""
鋅盆 sing^^1^^pun^^4*2^^
a sink //syn.// 華: 水槽; 粵: 升盆, 星盆
鋅 san^^1^^ — zinc
盆 pun^^4^^ — basin, tub, pot
"""
@@
@@.answer
"""
鋤 co^^4^^
a hoe, to work with a hoe
to uproot, eliminate, wipe out
"""
@@
@@.answer
"""
鋼筆 gong^^3^^bat^^1^^
a fountain pen, ink pen; 粵: 墨水筆
鋼 gong^^3^^ gong^^1^^ — steel, sharpen
筆 bat^^1^^ — pen, pencil, writing brush
"""
@@
@@.answer
"""
錢罌 cin^^4^^aang^^1^^
a money jar
錢 cin^^4^^ cin^^4*2^^ — cash, money, coins
罌 aang^^1^^ ang^^1^^ — small–mouthed jar, poppy
"""
@@
@@.answer
"""
錯 co^^3^^ cok^^3^^ cou^^3^^
粵: co^^3^^ 華: cuo^^4^^
wrong, mistaken, erroneous
a fault, demerit, blunder
intricate, complex, confused
(used in the negative) bad, poor
to miss out, evade, dodge
to polish jade, inlay with gold, grindstone
粵: cok^^3^^ co^^3^^ 華: cuo^^4^^
interlocked and jagged, strewn with/around, cok^^3^^ is the literary pronunciation, co^^3^^ is the colloquial
粵: cou^^3^^ 華: cu^^4^^
variant of 措
"""
@@
@@.answer
"""
鍋貼 wo^^1^^tip^^3^^
pan–fried dumplings
literally meaning “pot stickers”
鍋 wo^^1^^ — pot, pan
貼 tip^^3^^ — paste, attach, glue, stick
"""
@@
@@.answer
"""
鍛煉 dyun^^3^^lin^^6^^
to exercise, do physical training
to forge and smelt
to toughen, steel, build up
鍛 dyun^^3^^ — forge, smelt
煉 lin^^6^^ — smelt, polish, temper
"""
@@
@@.answer
"""
鎚仔 ceoi^^4^^zai^^2^^
粵: a hammer; 華: 錘子
鎚 ceoi^^4^^ — hammer
仔 zai^^2^^ zi^^2^^ — son, child
"""
@@
@@.answer
"""
鎮 zan^^3^^
a town, township, trading centre
a guard, garrison, garrison post
calm, tranquil, sedate
to suppress, repress, subdue
to cool with cold water or ice
"""
@@
@@.answer
"""
鏟 caan^^2^^
a spade, shovel, scoop, classifier: 把
to shovel, level off
鏟 and 剷, sharing the same simplified equivalent 铲, are usually interchangeable. 鏟 is used more often as a noun, 剷 as a verb
"""
@@
@@.answer
"""
鐘咭 zung^^1^^kaat^^1^^
a time card, clock card; 華: 考勤卡
鐘 zung^^1^^ — clock, time, hour, bell
咭 kaat^^1^^ — card
"""
@@
@@.answer
"""
鐘樓 zung^^1^^lau^^4^^
a clock tower
鐘 zung^^1^^/zhong^^1^^ — clock, time, hour, bell
樓 lau^^4^^/lou^^2^^ — multi–storey building
"""
@@
@@.answer
"""
鐵嘴雞 tit^^3^^zeoi^^2^^gai^^1^^
a quarrelsome or mouthy woman, a fierce debater (in arguments) //lit.// iron beak chicken, also seen as 鐵咀雞
鐵 tit^^3^^ — iron, arms, ironclad, strong, cruel
嘴 zeoi^^2^^ — mouth
雞 gai^^1^^ — chicken
"""
@@
@@.answer
"""
鐵拐李打足球 tit^^3^^gwaai^^2^^lei^^5^^daa^^2^^zuk^^1^^kau^^4^^
iron immortal plays football→一腳踼 jat^^1^^goek^^3^^tek^^3^^ one foot kicks — someone who gets things done on their own, someone who has managed everything without help (Tie Guai Li is one of the eight immortals and walks with an iron stick)
"""
@@
@@.answer
"""
鐵漢 tit^^3^^hon^^3^^
a man of iron will, a strong determined person
鐵 tit^^3^^ — iron, arms, ironclad, strong, cruel
漢 hon^^3^^ — Han nationality, Han dynasty, guy, fellow
"""
@@
@@.answer
"""
鐵路 tit^^3^^lou^^6^^
a railway (also 火車路), railroad
鐵 tit^^3^^ — iron, arms, ironclad, strong, cruel
路 lou^^6^^ — road, path, way, means, line
"""
@@
@@.answer
"""
鑰匙圈 joek^^6^^si^^4^^hyun^^1^^
華: a keychain; 粵: 鎖匙扣, 匙扣; classifier: 個
鑰 joek^^6^^ — key
匙 ci^^4^^ si^^4^^ — spoon, key
圈 hyun^^1^^ gyun^^6^^ — circle, ring, encircle, pen in, sty
"""
@@
@@.answer
"""
鑲 soeng^^1^^
to inlay, mount, set, glaze
a rim, edge, border, lace //syn.// 緄
"""
@@
@@.answer
"""
鑿 zok^^6^^
a chisel, scalper
to drill/bore/cut (hole), dig (tunnel), scuttle (ship)
authentic, certain, irrefutable
[nasal–stop alternant] 撞 zong^^6^^
"""
@@
@@.answer
"""
長期 coeng^^4^^kei^^4^^
long–term
長 coeng^^4^^ zoeng^^2^^ — long, length, forte, grow, older, chief
期 kei^^4^^ — period of time, phase, expect
"""
@@
@@.answer
"""
長江 coeng^^4^^gong^^1^^
the Yangtze River //lit.// long river. The English name Yangtze is from the local name for the lower reaches of the river, 揚子江
長 coeng^^4^^ zoeng^^2^^ — long, length, forte, grow, older, chief
江 gong^^1^^ — large river, Chinese surname
"""
@@
@@.answer
"""
長袖 coeng^^4^^zau^^6^^
long sleeves, long–sleeved
長 coeng^^4^^ zoeng^^2^^ — long, length, forte, grow, older, chief
袖 zau^^6^^ — sleeve
"""
@@
@@.answer
"""
長褲 coeng^^4^^fu^^3^^
trousers
長 coeng^^4^^ zoeng^^2^^/chang^^2^^ zhang^^3^^ — long, length, forte, grow, older, chief
褲 fu^^3^^/ku^^4^^ — trousers, pants
"""
@@
@@.answer
"""
長途 coeng^^4^^tou^^4^^
long–distance
長 coeng^^4^^ zoeng^^2^^ — long, length, forte, grow, older, chief
途 tou^^4^^ — road, way, journey
"""
@@
@@.answer
"""
長遠 coeng^^4^^jyun^^5^^
long–term, long–range
長 coeng^^4^^ zoeng^^2^^ — long, length, forte, grow, older, chief
遠 jyun^^5^^ jyun^^6^^ — far away, distant, by far, keep away from
"""
@@
@@.answer
"""
門 mun^^4^^
a gate, door, entrance, opening
a family, clan
a sect, school, gang
a class, category
the key, turning point
a piece of (artillery), cannon
gate–keeping
a Chinese familly name
Kangxi radical 169
"""
@@
@@.answer
"""
門道 mun^^4^^dou^^6^^
a doorway
門 mun^^4^^ — gate, door, entrance
道 dou^^6^^ — road, way, channel, doctrine, Taoism, skill
"""
@@
@@.answer
"""
閂火 saan^^1^^fo^^2^^
粵: to switch off the lights, to turn off the fire
閂 saan^^1^^ — to close, to turn off, latch, bolt
火 fo^^2^^ — fire
"""
@@
@@.answer
"""
閃開 sim^^2^^hoi^^1^^
to get out of the way, jump aside, dodge
閃 sim^^2^^ — flash, dodge, sprain, leave in a hurry
開 hoi^^1^^ — open
"""
@@
@@.answer
"""
閃電 sim^^2^^din^^6^^
lightning, flashing lightning
閃 sim^^2^^ — flash, dodge, sprain, leave in a hurry
電 din^^6^^ — lightning, electricity
"""
@@
@@.answer
"""
閉翳 bai^^3^^ai^^3^^/ngai^^3^^
depressed, moody, worried, vexed
閉 bai^^3^^/bi^^4^^ bie^^1^^ — shut, close, obstruct
翳 ai^^3^^/yi^^4^^ — stuffy, to screen, shade
"""
@@
@@.answer
"""
開啲 hoi^^1^^di^^1^^
粵: farther away or apart
開 hoi^^1^^ — open
啲 di^^1^^ dit^^1^^ — some, those, a few
"""
@@
@@.answer
"""
開嚟 hoi^^1^^lai^^4^^
粵: to move away from something and come here
開 hoi^^1^^ — open
嚟 lai^^4^^ lei^^4^^ — come
"""
@@
@@.answer
"""
開明 hoi^^1^^ming^^4^^
open–minded, enlightened
開 hoi^^1^^ — open
明 ming^^4^^ — bright, clear
"""
@@
@@.answer
"""
開開心心 hoi^^1^^hoi^^1^^sam^^1^^sam^^1^^
happily (reduplication of 開心)
開 hoi^^1^^ — open
心 sam^^1^^ — heart
"""
@@
@@.answer
"""
間 gaan^^1^^ gaan^^3^^
粵: gaan^^1^^; 華: jian^^1^^
a space between, relationship among, interval
(within) a definite time or space
a room, cubicle, workshop
classifier for shop, house, bedroom, etc
粵: gaan^^3^^; 華: jian^^4^^
an opening, gap, break
to separate, alternate, partition
to sow discord, drive a wedge
"""
@@
@@.answer
"""
間尺 gaan^^3^^cek^^3*2^^
粵: a ruler
間 gaan^^1^^ gaan^^3^^ — interval of time or space
尺 cek^^3^^ ce^^2^^ — ruler
"""
@@
@@.answer
"""
間歇性 gaan^^3^^hit^^3^^sing^^3^^
intermittence
間 gaan^^1^^ gaan^^3^^ — interval of time or space
歇 hit^^3^^ — have a rest
性 sing^^3^^ — nature, character, sex
"""
@@
@@.answer
"""
閹 jim^^1^^ / yan^^1^^
to castrate
an eunuch
"""
@@
@@.answer
"""
闔家 hap^^6^^gaa^^1^^
華: the whole family; a variant form of 合家
闔 hap^^6^^/he^^2^^ — whole, entire
家 gaa^^1^^/jia^^1^^ — home, family, specialist
"""
@@
@@.answer
"""
闖入 cong^^2^^jap^^6^^
to intrude, to charge in, to gate–crash
闖 cong^^2^^ — dash, go around, incur
入 jap^^6^^ — enter
"""
@@
@@.answer
"""
關注 gwaan^^1^^zyu^^3^^
to pay close attention to, concern, care, interest, follow (an issue) closely
關 gwaan^^1^^/guan^^1^^ — close, frontier pass, turning point, concern
注 zyu^^3^^/zhu^^4^^ zhou^^4^^ — pour liquid, concentrate, focus
"""
@@
<$details summary ="pitch">
b <<b4>>
</$details>
<$details summary ="sada masashi">
sada masashi <iframe height="10px" width="40px" src="music/20210606 sakimori no uta (防人の詩) an ode by an ancient japanese coast guard (by sada masashi.m4a" frameborder="0"></iframe>
</$details>
<$details summary ="nataliya gudziy harp">
nataliya gudziy harp <iframe height="10px" width="40px" src="music/20210606 sakimori no uta (防人の詩) an ode by an ancient japanese coast guard (by sada masashi harp.m4a" frameborder="0"></iframe>
</$details>
"""
@@.answer
"""
防守 fong^^4^^sau^^2^^
to defend
防 fong^^4^^ — defend, prevent
守 sau^^2^^ sau^^3^^ — guard, look after, observe, remain
"""
@@
@@.answer
"""
阻定 zo^^2^^deng^^6^^
粵: obstructing, in the way, on the scene but not helping. 定 here is a contraction of 地方; 華: 阻擋, 阻攔
阻 zo^^2^^ — hinder, block, obstruct
定 ding^^6^^ deng^^6^^ — stable, decide, surely, order, deposit
"""
@@
@@.answer
"""
阿一哥 aa^^3^^jat^^1^^go^^1^^
a boss, a leader, a chief //lit.// elder brother number one
阿 aa^^3^^ o^^1^^/a^^1^^ e^^1^^ — prefix to a name, flatter
一 jat^^1^^/yi^^1^^ yi^^4^^ yi^^2^^ — one, a, same, whole, each, once, a little
哥 go^^1^^ go^^1*4^^/ge^^1^^ — elder brother
"""
@@
@@.answer
"""
阿姐 aa^^3^^ze^^2*1^^
an elder sister
a “trolley girl” in Chinese restaurant 茶樓 or 酒樓
粵: a capable woman
阿 aa^^3^^ o^^1^^ — prefix to a name, flatter
姐 ze^^2^^ — elder sister, young women
"""
@@
@@.answer
"""
阿嬸 aa^^3^^sam^^2^^
粵: an aunt (wife of father’s younger brother), polite way of addressing wife of 阿叔 (uncle)
阿 aa^^3^^ o^^1^^ — prefix to a name, flatter
嬸 sam^^2^^ — aunt
"""
@@
@@.answer
"""
阿某某 aa^^3^^mau^^5^^mau^^5^^
Mr. So–and–So, an indefinite way of referrring to someone whose name is unknown
阿 aa^^3^^ o^^1^^/a^^1^^ e^^1^^ — prefix to a name, flatter
某 mau^^5^^/mou^^3^^ — a certain thing or person, I
"""
@@
@@.answer
"""
阿茂整餅 aa^^3^^mau^^6^^zing^^2^^beng^^2^^
to do something pointless, meaningless or unnecessary
the first part of a 歇後語 which has 冇嗰樣整嗰樣 as the second (usually not hidden) part
//lit.// Mr Stupid (阿茂) making cakes, makes something that doesn’t exist. (currently derogatory)
阿 aa^^3^^ o^^1^^/a^^1^^ e^^1^^ — prefix to a name, flatter
茂 mau^^6^^/mao^^4^^ — luxuriant, exuberant, excellent
整 zing^^2^^/zheng^^3^^ — neat, tidy, whole, complete
餅 beng^^2^^/bing^^3^^ — cake, biscuit
"""
@@
@@.answer
"""
阿蟲介紹我嚟 aa^^3^^cung^^4^^gaai^^3^^siu^^6^^ngo^^5^^lei^^4^^
no one sent me
I’ve been sent (without saying by whom)
//lit.// Mr Bug sent me
"""
@@
@@.answer
"""
阿豬 aa^^3^^zyu^^1^^
a stupid person //lit.// Mr. Pig
阿 aa^^3^^ o^^1^^ — prefix to a name, flatter
豬 zyu^^1^^ — pig
"""
@@
@@.answer
"""
阿門 aa^^3^^mun^^4^^
Amen (loanword) //var.// 阿們
阿 aa^^3^^ o^^1^^ — prefix to a name, flatter
門 mun^^4^^ — gate, door, entrance
"""
@@
@@.answer
"""
陀 to^^4^^ / tuo^^2^^
rugged terrain, steep bank
"""
@@
@@.answer
"""
附加 fu^^6^^gaa^^1^^
to add, to attach, extra, additional, added
附 fu^^6^^/fu^^4^^ — attach, get close
加 gaa^^1^^/jia^^1^^ — plus, add to, increase, append
"""
@@
@@.answer
"""
降職 gong^^3^^zik^^1^^
to demote, lower one’s post
降 hong^^4^^ gong^^3^^ — surrender, sudue, to fall, lower
職 zik^^1^^ — duty, job, post, position
"""
@@
@@.answer
"""
限 haan^^6^^ / xian^^4^^
a boundary, limit, line
a doorsill, threshold
limits, restriction, to limit, restrict
to specify, fix
"""
@@
@@.answer
"""
除夕 ceoi^^4^^zik^^6^^
new year’s eve (solar/gregorian calendar)
除 ceoi^^4^^ — get rid of, eliminate, except, divide
夕 zik^^6^^ — sunset, evening, night
"""
@@
@@.answer
"""
除笨有精 ceoi^^4^^ban^^6^^jau^^5^^zeng^^1^^
to lose sth but gain sth better (塞翁失馬) //lit.// eliminate awkward is refined
除 ceoi^^4^^ — get rid of, eliminate, except, divide
笨 ban^^6^^ — stupid, dull, clumsy, awkward
有 jau^^5^^ jau^^6^^ — have, there is
精 zing^^1^^ zeng^^1^^ — refined, best, smart, essence, energy
"""
@@
@@.answer
"""
陰乾 jam^^1^^gon^^1^^
//lit.// shadow dry
to let something or someone decline through neglect
to dry up, to starve of funding or support
to use up, to waste (money, allowance)
陰 jam^^1^^/yin^^1^^ — overcast, shade, yin, covert, private parts
乾 gon^^1^^ kin^^4^^/gan^^1^^ qian^^2^^ — dry, dried food, dried up, adopted
"""
@@
@@.answer
"""
陰功 jam^^1^^gung^^1^^
粵: cruel, evil, sinful //syn.// 造孽, 受罪, 可憐
粵: pitiable, woeful, luckless
粵: for goodness sake! (exclamation)
a variant of 陰德
華: good deeds done in secret, hidden acts of merit
陰 jam^^1^^/yin^^1^^ — overcast, shade, yin, covert, private parts
功 gung^^1^^/gong^^1^^ — merit, meritorious service, effect, skill
"""
@@
@@.answer
"""
陰毒 jam^^1^^duk^^6^^
vicious with a friendly exterior, insidious, sinister
陰 jam^^1^^/yin^^1^^ — overcast, shade, yin, covert, private parts
毒 duk^^6^^/du^^2^^ — poison, poisonous, narcotics
"""
@@
@@.answer
"""
陰濕 jam^^1^^sap^^1^^
treacherous, untrustworthy
陰 jam^^1^^/yin^^1^^ — overcast, shade, yin, covert, private parts
濕 sap^^1^^/shi^^1^^ — wet, moist, damp, humid
"""
@@
@@.answer
"""
陰謀 jam^^1^^mau^^4^^
a plot, conspiracy
陰 jam^^1^^ — overcast, shade, yin, covert, private parts
謀 mau^^4^^ — scheme, plot
"""
@@
@@.answer
"""
陰陰嘴笑 jam^^1^^jam^^1^^zeoi^^2^^siu^^3^^
to suppress a smile, to smirk
陰 jam^^1^^/yin^^1^^ — overcast, shade, yin, covert, private parts
嘴 zeoi^^2^^/zui^^3^^ — mouth
笑 siu^^3^^/xiao^^4^^ — smile, laugh, grin
"""
@@
@@.answer
"""
陽性 joeng^^4^^sing^^3^^
masculine
陽 joeng^^4^^ — sun, solar
性 sing^^3^^ — nature, character, sex
"""
@@
@@.answer
"""
隊啤 deoi^^6*2^^be^^1^^
to drink beer, down some beer, chug a beer, also 酒 (啤一啤, 啤啤佢 or 劈酒)
隊 deoi^^6^^ deoi^^2^^ — line, queue, team, group
啤 be^^1^^ bi^^1^^ pe^^1^^ — beer, weld, stare, baby, pair, poker
"""
@@
@@.answer
"""
隔山買牛 gaak^^3^^saan^^1^^maai^^5^^ngau^^4^^
to buy something without seeing it first //lit.// to buy a cow from over the mountain
隔 gaak^^3^^ — separate, divide, cut off
山 saan^^1^^ — mountain, hill, peak
買 maai^^5^^ — buy, purchase
牛 ngau^^4^^ — cow, ox, cattle
"""
@@
@@.answer
"""
隨身行李 ceoi^^4^^san^^1^^hang^^4^^lei^^5^^
carry–on luggage //syn.// 攜帶行李
隨 ceoi^^4^^ — follow, come after, trace
身 san^^1^^ — body, life, oneself
行 hang^^4^^ haang^^4^^ hong^^4^^ hang^^6^^ — walk, circulate, line, trade, shop, conduct
李 lei^^5^^ — plum, surname
"""
@@
@@.answer
"""
隨隨便便 ceoi^^4^^ceoi^^4^^bin^^6*2^^bin^^6*2^^
to do as you please, informal; 粵: 求求其其
隨 ceoi^^4^^ — follow, come after, trace
便 bin^^6^^ pin^^4^^ — convenient, ordinary, cheap
"""
@@
@@.answer
"""
隱形 jan^^2^^jing^^4^^
invisible, stealth, undetected
隱 jan^^2^^ — hide, cover up, latent
形 jing^^4^^ — form, shape, description
"""
@@
@@.answer
"""
隻字不提 zek^^3^^zi^^6^^bat^^1^^tai^^4^^
not a word of, to not say a single word about, be silent about, not so much as mention sth
隻 zek^^3^^ — classifier for animals, containers
字 zi^^6^^ — word, glyph
不 bat^^1^^ — not, no, un–
提 tai^^4^^ — carry, lift, put forward, mention, withdraw
"""
@@
@@.answer
"""
雍容 jung^^1^^jung^^4^^
natural, graceful, and poised
雍 jung^^1^^ — harmony, union, harmonious
容 jung^^4^^ — looks, appearance, forgive
"""
@@
@@.answer
"""
雖 seoi^^1^^
although, even though
"""
@@
@@.answer
"""
雙關語 soeng^^1^^gwaan^^1^^jyu^^5^^
a pun, wordplay, phrase with double meaning
雙 soeng^^1^^ — two, pair, double
關 gwaan^^1^^ — close, frontier pass, turning point, concern
語 jyu^^5^^ — language, speech, speak
"""
@@
@@.answer
"""
雜貨店 zaap^^6^^fo^^3^^dim^^3^^
a general goods store, sundry shop, grocery store
雜zaap^^6^^/za^^2^^ — mix, blend, mingle
貨 fo^^3^^/huo^^4^^ — goods, products, cargo
店 dim^^3^^/dian^^4^^ — shop
"""
@@
@@.answer
"""
雞乸 gai^^1^^naa^^2^^
粵: a hen, a female chicken; 華: 母雞
雞 gai^^1^^ — chicken
乸 naa^^2^^ — female, effeminate
"""
@@
@@.answer
"""
雞公 gai^^1^^gung^^1^^
粵: a cockerel, rooster, male chicken; 華: 公雞
雞 gai^^1^^ — chicken
公 gung^^1^^ — public, common, international, impartial
"""
@@
@@.answer
"""
雞啄唔斷 gai^^1^^doeng^^1^^m^^4^^tyun^^5^^
to chat non–stop, to talk too much //syn.// 長氣
雞 gai^^1^^ — chicken
啄 doek^^3^^ doeng^^1^^ — to peck
唔 m^^4^^ — not, no
斷 tyun^^5^^ dyun^^6^^ dyun^^3^^ — break, cut off, judge, absolutely
"""
@@
@@.answer
"""
雞片 gai^^1^^pin^^3*2^^
chicken served in slices
雞 gai^^1^^ — chicken
片 pin^^3^^ pin^^2^^ — slice, sheet, fragmentary, film
"""
@@
@@.answer
"""
離 lei^^4^^ / li^^2^^
to leave, depart from, be separate from
to be away from, be at a distance from
to be without, be independent of
"""
@@
@@.answer
"""
離婚 lei^^4^^fan^^1^^
to divorce
離 lei^^4^^/li^^2^^ — leave, away from
婚 fan^^1^^/hun^^1^^ — to wed, to marry, marriage, wedding
"""
@@
@@.answer
"""
離晒罩 lei^^4^^saai^^3^^zaau^^3^^
to go out of control, to go crazy, to go haywire, to “go off the rails”, ridiculous, outrageous //lit.// to leave the shelter completely //syn.// 離譜, 離晒譜, 離晒大譜
離 lei^^4^^ — leave, away from
晒 saai^^3^^ — 粵: entirely, very much, show off
罩 zaau^^3^^ — cover, shade, wrap
"""
@@
@@.answer
"""
離晒譜 lei^^4^^saai^^3^^pou^^2^^
unbelievable, ridiculous, crazy, outrageous, “out of line”
離 lei^^4^^ — leave, away from
晒 saai^^3^^ — 粵: entirely, very much, show off
譜 pou^^2^^ — register, manual, music score
"""
@@
@@.answer
"""
離間 lei^^4^^gaan^^1^^
alienation
離 lei^^4^^/li^^2^^ — leave, away from
間 gaan^^1^^gaan^^3^^/jian^^1^^jian^^4^^ — interval of time or space
"""
@@
@@.answer
"""
難吃 naan^^4^^hek^^3^^
華: to taste bad, hard to eat; 粵: 難食, 唔好食
難 naan^^4^^ naan^^6^^ — difficult, unpleasant, calamity, blame
吃 hek^^3^^ — eat
"""
@@
@@.answer
"""
難堪 naan^^4^^ham^^1^^
hard to take, embarrassing
難 naan^^4^^naan^^6^^/nan^^2^^nan^^4^^ — difficult, unpleasant, calamity, blame
堪 ham^^1^^/kan^^1^^ — endure, may
"""
@@
@@.answer
"""
雨傘 jyu^^5^^saan^^3^^
an umbrella; 粵: 遮; classifier: 把
雨 jyu^^5^^ jyu^^6^^/yu^^3^^ yu^^4^^ — rain
傘 saan^^3^^/san^^3^^ — umbrella
"""
@@
@@.answer
"""
雨刷水 jyu^^5^^caat^^3^^seoi^^2^^
華: windshield wiper fluid
雨 jyu^^5^^ jyu^^6^^/yu^^3^^ yu^^4^^ — rain
刷 caat^^3^^ saat^^3^^/shua^^1^^ shua^^4^^ — brush, scrub, clean
水 seoi^^2^^/shui^^3^^ — water, liquid, dough (money)
"""
@@
[[中島美嘉|https://m.youtube.com/watch?v=oIoaIlPpIcA]]
[[後藤真希|https://m.youtube.com/watch?v=pxGjSnI_hZc&list=PLE4xxejL8u5f-v7agAWwLYE9Ns-aNoNbN&index=3]]
[[uh|https://www.youtube.com/watch?v=zTQZdlpogF8]]
[[ai ninomiya|https://www.youtube.com/watch?v=QWsKYC2mAbY]]
<iframe height="10px" width="40px" src="music/20210706中島美嘉『雪の華』.m4a" frameborder="0"></iframe>
<iframe height="10px" width="40px" src="music/20210706『雪の華』後藤真希が歌ってみた.m4a" frameborder="0"></iframe>
<iframe height="10px" width="40px" src="music/20210706中島美嘉 『雪の華』(눈의 꽃 Yuki no Hana) cover by Uh.m4a" frameborder="0"></iframe>
<iframe height="10px" width="40px" src="music/20210706雪の華 [Yukino Hana] 中島美嘉 [Mika Nakashima] Unplugged cover by Ai Ninomiya.m4a" frameborder="0"></iframe>
@@.answer
"""
雪條 syut^^3^^tiu^^4*2^^
粵: an ice lolly, popsicle; 華: 冰棍兒
雪 syut^^3^^ — snow
條 tiu^^4^^ — long narrow piece
"""
@@
@@.answer
"""
雪水 syut^^3^^seoi^^2^^
icy water
雪 syut^^3^^ — snow
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
雪白 syut^^3^^baak^^6^^
snowy white; 粵: 白雪雪
雪 syut^^3^^ — snow
白 baak^^6^^ — white, clear, pure
"""
@@
@@.answer
"""
雪糕 syut^^3^^gou^^1^^
an ice–cream; 華: 冰淇淋
雪 syut^^3^^ — snow
糕 gou^^1^^ — cakes, pastry, steamed dumplings
"""
@@
@@.answer
"""
雪藏 syut^^3^^cong^^4^^
to refrigerate, cold storage, term used for frozen products
to be kept out of the public gaze, to not be permitted to give interviews to the media (used of television or film stars who are controlled by their studio or manager)
雪 syut^^3^^ — snow
藏 cong^^4^^ zong^^6^^ — hide, store, reserves, Tibet
"""
@@
@@.answer
"""
雪道 syut^^3^^dou^^6^^
華: a ski run, ski trail
雪 syut^^3^^ — snow
道 dou^^6^^ — road, way, channel, doctrine, Taoism, skill
"""
@@
@@.answer
"""
雲吞 wan^^4^^tan^^1^^
a wonton (dumpling); 華: 餛飩
雲 wan^^4^^ — cloud
吞 tan^^1^^ — swallow, gulp
"""
@@
@@.answer
"""
雲石 wan^^4^^sek^^6^^
粵: marble (a metamorphic rock composed of recrystallised carbonate minerals)
雲 wan^^4^^ — cloud
石 sek^^6^^ daam^^3^^ — stone, rock, stone inscription
"""
@@
@@.answer
"""
雷 leoi^^4^^/lei^^2^^
thunder
a mine (explosive)
a Chinese surname
"""
@@
@@.answer
"""
電子 din^^6^^zi^^2^^
an electron, electronic
電 din^^6^^ — lightning, electricity
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
電池 din^^6^^ci^^4^^
an electric battery; 粵: also 電芯
電 din^^6^^ — lightning, electricity
池 ci^^4^^ — pool, pond, moat
"""
@@
@@.answer
"""
電焗爐 din^^6^^guk^^6^^lou^^4^^
粵: an electric oven; 華: 電烤箱
電 din^^6^^ — lightning, electricity
焗 guk^^6^^ — heat up, sultry, be forced to
爐 lou^^4^^ — stove, oven, furnace
"""
@@
@@.answer
"""
電燈 din^^6^^dang^^1^^
an electric light, electric lamp
電 din^^6^^ — lightning, electricity
燈 dang^^1^^ — light, lamp
"""
@@
@@.answer
"""
電燈膽 din^^6^^dang^^1^^daam^^2^^
a lightbulb, shortened form: 燈膽; 華: 電燈泡
an unwelcome companion, third/fifth wheel, 電燈膽 is the first part of a 歇後語 that has 唔通氣 as the second (hidden) part. There is a double–sense pun in 唔通氣. Literally, it means “no ventilation” when referring to the airtight condition of a lightbulb. It also has a second meaning of “tactless, unwelcome, not showing good sense” referring especially to someone who intrudes on a courting couple
電 din^^6^^ — lightning, electricity
燈 dang^^1^^ — light, lamp
膽 daam^^2^^ — guts
"""
@@
@@.answer
"""
電視 din^^6^^si^^6^^
a television, TV
電 din^^6^^ — lightning, electricity
視 si^^6^^ — look at, observe, see, watch
"""
@@
@@.answer
"""
電話線 din^^6^^waa^^6*2^^sin^^3^^
a telephone line/wire
電 din^^6^^ — lightning, electricity
話 waa^^6^^ waa^^2^^ — word, talk, speak, language
線 sin^^3^^ — thread, line
"""
@@
@@.answer
"""
電話號碼 din^^6^^waa^^6*2^^hou^^6^^maa^^5^^
a telephone number
電 din^^6^^ — lightning, electricity
話 waa^^6^^ waa^^2^^ — word, talk, speak, language
號 hou^^6^^ hou^^4^^ — title, store, mark, number
碼 maa^^5^^ — numeral, symbol, yard (length)
"""
@@
@@.answer
"""
霎 saap^^3^^ / sha^^4^^
an instant, moment, very short time
粵: to argue, bicker, squabble
"""
@@
@@.answer
"""
霎戇 saap^^3^^ngong^^6^^
stupid, ridiculous
霎 saap^^3^^/sha^^4^^ — instant, argue
戇 ngong^^6^^ zong^^3^^/zhuang^^4^^ — stupid, idiotic, honest, blunt
"""
@@
@@.answer
"""
霜白 soeng^^1^^baak^^6^^
frosty
霜 soeng^^1^^ — frost, frost–like powder, hoary
白 baak^^6^^ — white, clear, pure
"""
@@
@@.answer
"""
霞 haa^^4^^ / xia^^2^^
rosy clouds, multi–coloured sunlight (usually in the morning or evening)
"""
@@
@@.answer
"""
露台 lou^^6^^toi^^4^^
a gazebo, balcony
露 lou^^6^^/lu^^4^^ lou^^4^^ — dew, beverages, cosmetics, show, reveal
台 toi^^4^^/tai^^2^^ — terrace, platform, stand, Taiwan, your
"""
@@
@@.answer
"""
露水 lou^^6^^seoi^^2^^
dew; 粵: 霧水
露 lou^^6^^ — dew, beverages, cosmetics, show, reveal
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
霸位 baa^^3^^wai^^6*2^^
to save seats, stake out a good spot
霸 baa^^3^^ — lord it over, tyrant
位 wai^^6^^ wai^^6*2^^ — position, rank, seat
"""
@@
@@.answer
"""
霸佔 baa^^3^^zim^^3^^
to seize, to occupy (with force); 粵: 霸佔, 掗
霸 baa^^3^^ — lord it over, tyrant
佔 zim^^3^^ — forcibly occupy
"""
@@
@@.answer
"""
霸王客 baa^^3^^wong^^4^^haak^^3^^
someone who uses a service but tries to avoid payment for it (e.g. restaurant, nightclub, etc.)
霸 baa^^3^^ — lord it over, tyrant
王 wong^^4^^wong^^6^^ — king, monarch, duke
客 haak^^3^^ — guest, visitor, customer, passenger
"""
@@
@@.answer
"""
霸道 baa^^3^^dou^^6^^
overbearing, high and mighty, high–handed
to rule by force
strong (of medicines, liquor etc.), potent; 粵: 掗拃, 霸掗
霸 baa^^3^^ — lord it over, tyrant
道 dou^^6^^ — road, way, channel, doctrine, Taoism, skill
"""
@@
@@.answer
"""
青天 ceng^^1^^tin^^1^^
a clear sky, blue sky, upright and honorable (official)
青 ceng^^1^^ cing^^1^^/qing^^1^^ — green, young
天 tin^^1^^/tian^^1^^ — sky, heaven
"""
@@
@@.answer
"""
青檸檬 ceng^^1^^ning^^4^^mung^^4*1^^
a lime (fruit)
青 ceng^^1^^ cing^^1^^ — green, young
檸 ning^^4^^ — lemon
檬 mung^^1^^ — lemon
"""
@@
@@.answer
"""
青蛙 cing^^1^^waa^^1^^
a frog
青 ceng^^1^^ cing^^1^^ — green, young
蛙 waa^^1^^ — frog
"""
@@
@@.answer
"""
靜悄悄 zing^^6^^ciu^^2^^ciu^^2^^
very quiet, extremely quiet; 粵: 靜雞雞, 靜英英
靜 zing^^6^^/jing^^4^^ — still, calm, silent, quiet, serene, composed
悄 ciu^^2^^ciu^^5^^/qiao^^3^^qiao^^1^^ — quiet, silent
"""
@@
@@.answer
"""
非常之 fei^^1^^soeng^^4^^zi^^1^^
very, usually followed by an adjective; 華: 非常
非 fei^^1^^ — not, non–, wrong
常 soeng^^4^^ — common, ordinary, frequently
之 zi^^1^^ — ’s, of, it, this, go to, to
"""
@@
@@.answer
"""
靠 kaau^^3^^ / kao^^4^^
to lean against, get near to, stand close by
to rely on, depend on, fall back on
trustworthy, reliable
"""
@@
@@.answer
"""
靠近 kaau^^3^^gan^^6^^
be close to, be near, approaching
靠 kaau^^3^^ — lean against, rely on
近 gan^^6^^ kan^^5^^ — near, close
"""
@@
@@.answer
"""
面對 min^^6^^deoi^^3^^
to confront, face
面 min^^6^^/mian^^4^^ — face, surface, top, side, aspect, extent
對 deoi^^3^^/dui^^4^^ — correct, answer, counter, face, opposite
"""
@@
@@.answer
"""
面皮厚 min^^6^^pei^^4^^hau^^5^^
thick–skinned, unashamed, to be shameless, to know no shame
面 min^^6^^ — face, surface, top, side, aspect, extent
皮 pei^^4^^ pei^^4*2^^ — skin, leather, wrapper, naughty, buck
厚 hau^^5^^ — thick, deep
"""
@@
@@.answer
"""
面紗 min^^6^^saa^^1^^
a veil
面 min^^6^^ — face, surface, top, side, aspect, extent
紗 saa^^1^^ — gauze, yarn, textile products
"""
@@
@@.answer
"""
面面 min^^6^^min^^6^^
in/from every respect //lit.// every face
面 min^^6^^ — face, surface, top, side, aspect, extent
"""
@@
@@.answer
"""
面頭 min^^6*2^^tau^^4^^
粵: on the surface
面 min^^6^^ — face, surface, top, side, aspect, extent
頭 tau^^4^^ — head, first, chief
"""
@@
@@.answer
"""
鞋碼 haai^^4^^maa^^5^^
a shoe size
鞋 haai^^4^^ — shoes
碼 maa^^5^^ — numeral, symbol, yard (length)
"""
@@
@@.answer
"""
鞠躬 guk^^1^^gung^^1^^
to bow
鞠 guk^^1^^ — bow, bend, rear
躬 gung^^1^^ — body, personally, bend forward
"""
@@
@@.answer
"""
韮菜 gau^^2^^coi^^3^^
a leek
an expression of surprise or mild irritation, “you must be kidding!”, a pun on 攪錯
韮 gau^^2^^ — scallion, leek
菜 coi^^3^^ — vegetables, dish
"""
@@
@@.answer
"""
音樂家 jam^^1^^ngok^^6^^gaa^^1^^ — a musician
音 jam^^1^^ — sound, voice, noise, tone
樂 lok^^6^^ ngok^^6^^ ngaau^^6^^ — joy, music, be fond of
家 gaa^^1^^ — home, family, specialist
"""
@@
@@.answer
"""
頂唔住 ding^^2^^m^^4^^zyu^^6^^
to be unable to bear anymore, cannot stand it anymore //syn.// 頂唔順; 華: 吃不消, 受不了
頂 deng^^2^^ ding^^2^^ — top, carry on the head, most, retort
唔 m^^4^^ — not, no
住 zyu^^6^^ — live, reside, stay
"""
@@
@@.answer
"""
頂得順 ding^^2^^dak^^1^^seon^^6^^
to be able to tolerate, to be able to put up with
頂 deng^^2^^ ding^^2^^ — top, carry on the head, most, retort
得 dak^^1^^ — get, obtain, fit, finished, able to, must
順 seon^^6^^ — follow, obey, arrange, put in order
"""
@@
@@.answer
"""
頂手 ding^^2^^sau^^2^^
to transfer a possession, a title, or a business
頂 deng^^2^^ ding^^2^^ — top, carry on the head, most, retort
手 sau^^2^^ — hand
"""
@@
@@.answer
"""
項鏈 hong^^6^^lin^^6*2^^
a neck chain, necklace
項 hong^^6^^ — nape, item
鏈 lin^^2^^ lin^^4^^ — chain
"""
@@
@@.answer
"""
順利 seon^^6^^lei^^6^^
smoothly, without a hitch
順 seon^^6^^ — follow, obey, arrange, put in order
利 lei^^6^^, lai^^6^^ — profit, gains, benefit, serve
"""
@@
@@.answer
"""
順風車 seon^^6^^fung^^1^^ce^^1^^
a car that gives someone a ride, a car that picks up a hitchhiker
順 seon^^6^^/shun^^4^^ — follow, obey, arrange, put in order
風 fung^^1^^ fung^^3^^/feng^^1^^ feng^^3^^ — wind
車 ce^^1^^ geoi^^1^^/che^^1^^ ju^^1^^ — cart, vehicle, car
"""
@@
@@.answer
"""
須 seoi^^1^^ / xu^^1^^
to have to, need to, must
to wait for, await
须 is the simplified version for both 須 and 鬚
"""
@@
@@.answer
"""
頭等 tau^^4^^dang^^2^^
first class
頭 tau^^4^^/tou^^2^^ tou^^5^^ — head, first, chief
等 dang^^2^^ ting^^3^^ ting^^2^^ dei^^6^^/deng^^3^^ — wait, allow, rank, equal, etc., plur., type
"""
@@
@@.answer
"""
頹 teoi^^4^^
dispirited, dejected, depressed
declining, dilapidated, ruined
"""
@@
@@.answer
"""
頻倫 pan^^4^^lan^^4^^
to be in a rush, to hurry
倫 is pronounced as lan^^4^^ for this word
頻 pan^^4^^ — frequently, frequency
倫 leon^^4^^ — human relationships
"""
@@
@@.answer
"""
頻撲 pan^^4^^pok^^3^^
to flit, to go backwards and forwards, to rush around
頻 pan^^4^^ — frequently, frequency
撲 pok^^3^^ — throw oneself on, flap, dab
"""
@@
@@.answer
"""
頻繁 pan^^4^^faan^^4^^
frequent, recurrent, incessant, constant, repeated
頻 pan^^4^^ — frequently, frequency
繁 faan^^4^^ — numerous, complicated, multiply
"""
@@
@@.answer
"""
願 jyun^^6^^
a wish, hope, desire, aspiration
to be willing, be ready, wish to
a vow (made before Buddha or a god)
"""
@@
@@.answer
"""
顛倒 din^^1^^dou^^2^^
to turn upside down, to invert, to reverse, to overthrow, to upset, to transpose, to confound
confused, disturbed, disordered; 粵: 倒掟頭, 倒掟, 顛倒
顛 din^^1^^ — peak, jolt
倒 dou^^2^^ dou^^3^^ — fall over, pour out, turn upside down
"""
@@
@@.answer
"""
顧住 gu^^3^^zyu^^6^^
to take care, be careful, look after; 華: 留意, 當心
(same as 掛住) to keep thinking about; 華: 惦記, 掛念
顧 gu^^3^^ — look at, look after, visit, customer
住 zyu^^6^^ — live, reside, stay
"""
@@
violin
高松あい
https://m.youtube.com/watch?v=xmy-_AxV6z0
@@.answer
"""
風俗習慣 fung^^1^^zuk^^6^^zaap^^6^^gwaan^^3^^
manners and customs
風 fung^^1^^ fung^^3^^ — wind
俗 zuk^^6^^ — custom, vulgar, common
習 zaap^^6^^ — learn, receive training in, practice
慣 gwaan^^3^^ — be used to, be accustomed to, indulge
"""
@@
@@.answer
風箏 fung<sup>1</sup>zang<sup>1</sup> — kite | synonym 紙鷂 is more common in Cantonese<br>風 fung<sup>1</sup> fung<sup>3</sup> — wind<br>箏 zang<sup>1</sup> zaang<sup>1</sup> — 21–stringed zither; kite
@@
@@.answer
"""
飄蕩 piu^^1^^dong^^6^^
to drift, wave, flutter
飄 piu^^1^^/piao^^1^^ — float, drift
蕩 dong^^6^^/dang^^4^^ — loiter, swing, debauched
"""
@@
@@.answer
"""
飛行人 fei^^1^^haang^^4^^jan^^4^^
an aviator
飛 fei^^1^^/fei^^1^^ — fly, move swiftly; 粵: cut; 粵: fare
行 hang^^4^^ haang^^4^^ hong^^4^^ hang^^6^^/xing^^2^^ hang^^2^^ — walk, circulate, line, trade, shop, conduct
人 jan^^4^^/ren^^2^^ — person, human being
"""
@@
@@.answer
"""
飛鳥 fei^^1^^niu^^5^^
birds, flying birds
飛 fei^^1^^ — fly, move swiftly; 粵: cut; 粵: fare
鳥 niu^^5^^ — bird
"""
@@
@@.answer
"""
食人者 sik^^6^^jan^^4^^ze^^2^^
a cannibal
食 sik^^6^^ zi^^6^^ — eat, food
人 jan^^4^^ — person, human being
者 ze^^2^^ — he who, those who
"""
@@
@@.answer
"""
食唔晒 sik^^6^^m^^4^^saai^^3^^
粵: unable to finish eating; 華: 吃不完, 吃不掉, 吃不光
食 sik^^6^^ zi^^6^^ — eat, food
唔 m^^4^^ — not, no
晒 saai^^3^^ — 粵: entirely, very much, show off
"""
@@
@@.answer
"""
食塞米 sik^^6^^sak^^1^^mai^^5^^
to have no talent, useless, idle (of a person) //syn.// 食枉米
食 sik^^6^^ zi^^6^^ — eat, food
塞 sak^^1^^ coi^^3^^ — stop up, obstruct, frontier
米 mai^^5^^ — uncooked rice
"""
@@
@@.answer
"""
食物 sik^^6^^mat^^6^^
food, foodstuff
食 sik^^6^^ zi^^6^^/shi^^2^^ si^^4^^ — eat, food
物 mat^^6^^/wu^^4^^ — thing, substance, stuff
"""
@@
@@.answer
"""
食用 sik^^6^^jung^^6^^
edible, for the table, to be eaten
食 sik^^6^^ zi^^6^^ — eat, food
用 jung^^6^^ — use, operate
"""
@@
@@.answer
"""
食穀種 sik^^6^^guk^^1^^zung^^2^^
//lit.// eat seed–corn
to rest on one’s laurels (rely on one’s past achievements instead of working to maintain or advance one’s status or reputation); 華: 吃老本
to have little or no income and live off one’s life savings
食 sik^^6^^ zi^^6^^ — eat, food
穀 guk^^1^^ — corn, grain, cereal
種 zung^^2^^ zung^^3^^ — seed, race, species, origin, guts, grow
"""
@@
@@.answer
"""
飯店 faan^^6^^dim^^3^^
a restaurant (esp. Chinese restaurants)
a hotel (esp. but not exclusively Taiwan), bigger hotels call themselves 大飯店; 粵: 酒店
飯 faan^^6^^ — cooked rice
店 dim^^3^^ — shop
"""
@@
@@.answer
"""
飯碗 faan^^6^^wun^^2^^
a rice bowl
(fig.) bread and butter, livelihood, means of living
飯 faan^^6^^ — cooked rice
碗 wun^^2^^ — bowl
"""
@@
@@.answer
"""
飲到大大地 jam^^2^^dou^^3^^daai^^6^^daai^^6*2^^dei^^6*2^^
to get a large amount, to drink and get drunk
飲 jam^^2^^/yin^^3^^ — drink
到 dou^^3^^ dou^^3*2^^/dao^^4^^ — arrive, go to
大 daai^^6^^/da^^4^^ dai^^4^^ — big
地 dei^^6^^ dei^^6*2^^/di^^4^^ de^^5^^ — earth, land, district, location
"""
@@
@@.answer
"""
飲嘢 jam^^2^^je^^5^^
粵: to drink (sth)
飲 jam^^2^^ — drink
嘢 je^^5^^ — 粵: thing, articles
"""
@@
@@.answer
"""
飲大 jam^^2^^daai^^6^^
to drink a large amount, to drink and get drunk //lit.// to drink big
飲 jam^^2^^/yin^^3^^ — drink
大 daai^^6^^/da^^4^^ dai^^4^^ — big
"""
@@
@@.answer
"""
飲奶 jam^^2^^naai^^5^^
to receive lessons, study, learn //lit.// to drink milk
飲 jam^^2^^/yin^^3^^ — drink
奶 naai^^5^^/nai^^3^^ — milk
"""
@@
@@.answer
"""
飲得杯落 jam^^2^^dak^^1^^bui^^1^^lok^^6^^
used to express relief or joy that a crisis is over, when something delightful happens, to express that it’s time for a stiff drink after a crisis is over //lit.// able to down a glass
飲 jam^^2^^/yin^^3^^ — drink
得 dak^^1^^/de^^2^^ de^^5^^ dei^^3^^ — get, obtain, fit, finished, able to, must
杯 bui^^1^^/bei^^1^^ — cup, glass
落 lok^^6^^ laai^^6^^/luo^^4^^ lao^^4^^ luo^^1^^ la^^4^^ — to fall
"""
@@
@@.answer
"""
飲悶酒 jam^^2^^mun^^6^^zau^^2^^
to drink alone
飲 jam^^2^^/yin^^3^^ — drink
悶 mun^^6^^/men^^4^^ men^^1^^ — bored, depressed, sealed, stuffy, stifling
酒 zau^^2^^/jiu^^3^^ — wine, spirits
"""
@@
@@.answer
"""
飲料 jam^^2^^liu^^6*2^^
drinks, beverages //syn.// 飲品
飲 jam^^2^^ — drink
料 liu^^6^^ liu^^2^^ — anticipate, deal with, material, fodder
"""
@@
@@.answer
"""
飲酒 jam^^2^^zau^^2^^
to drink alcohol
飲 jam^^2^^ — drink
酒 zau^^2^^ — wine, spirits
"""
@@
@@.answer
"""
飲食 jam^^2^^sik^^6^^
food and drink, to eat and drink
飲 jam^^2^^ — drink
食 sik^^6^^ zi^^6^^ — eat, food
"""
@@
@@.answer
"""
飲飽食醉 jam^^2^^baau^^2^^sik^^6^^zeoi^^3^^
a feeling of satisfaction after a good meal and many drinks //lit.// drinking one’s fill and eating oneself drunk
飲 jam^^2^^/yin^^3^^ — drink
飽 baau^^2^^/bao^^3^^ — full, having eaten one’s fill
食 sik^^6^^ zi^^6^^/shi^^2^^ si^^4^^ — eat, food
醉 zeoi^^3^^/zui^^4^^ — drunk
"""
@@
@@.answer
"""
餅印 beng^^2^^jan^^3^^
to look alike //lit.// cake mould
餅 beng^^2^^/bing^^3^^ — cake, biscuit
印 jan^^3^^/yin^^4^^ — print, stamp, imprint
"""
@@
@@.answer
"""
餐屎 caan^^1^^si^^2^^
an opportunity, chance (as a loanword)
餐 caan^^1^^ — meal, dine
屎 si^^2^^ — excrement, no good
"""
@@
@@.answer
"""
餐搵餐食 caan^^1^^wan^^2^^caan^^1^^sik^^6^^
to live from hand to mouth //lit.// meal find meal eat //syn.// 僅足糊口
餐 caan^^1^^ — meal, dine
搵 wan^^2^^ wan^^3^^ — search, find, use
餐 caan^^1^^ — meal, dine
食 sik^^6^^ zi^^6^^ — eat, food
"""
@@
@@.answer
"""
餛飩 wan^^4^^tan^^1^^
華: a //wonton// dumpling; 粵: 雲吞
餛 wan^^4^^ — wonton
飩 tan^^1^^ tan^^4^^ — wonton
"""
@@
@@.answer
"""
餿 suk^^1^^ sau^^1^^ / sou^^1^^
to turn sour, go rotten, smell, spoil
(of an idea, etc) lousy, stupid
粵: suk^^1^^ is colloquial, sau^^1^^ is literary
"""
@@
@@.answer
"""
饌 zaan^^6^^
food, delicacies (literary)
"""
@@
@@.answer
"""
首先 sau^^2^^sin^^1^^
first of all, in the first place
首 sau^^2^^/shou^^3^^ shou^^4^^ — the first, the head, leader
先 sin^^1^^/xian^^1^^ — first, before, temporarily
"""
@@
@@.answer
"""
首獎 sau^^2^^zoeng^^2^^
a first prize, also 第一獎
首 sau^^2^^/shou^^3^^ shou^^4^^ — the first, the head, leader
獎 zoeng^^2^^/jiang^^3^^ — reward, award, praise
"""
@@
@@.answer
"""
首領 sau^^2^^ling^^5^^
a leader //lit.// head and neck
首 sau^^2^^ — the first, the head, leader
領 ling^^5^^leng^^5^^ — lead, possess, receive, collar
"""
@@
@@.answer
"""
香吻 hoeng^^1^^man^^5^^
a kiss
香 hoeng^^1^^/xiang^^1^^ — fragrant, aromatic
吻 man^^5^^/wen^^3^^ — kiss, lip, coincide
"""
@@
@@.answer
"""
香氣 hoeng^^1^^hei^^3^^
a fragrance
香 hoeng^^1^^ — fragrant, aromatic
氣 hei^^3^^ — gas, air, breath, anger
"""
@@
@@.answer
"""
馬仔 maa^^5^^zai^^2^^
a foal
a gang member, a henchman, an underling, a pawn, a lackey
a //sachima// pastry; 華: 薩其馬; 粵: 薩騎馬/沙琪瑪, fluffy strands of fried batter bound together with a stiff sugar syrup
馬 maa^^5^^/ma^^3^^ — horse
仔 zai^^2^^ zi^^2^^/zai^^3^^ zi^^1^^ — son, child
"""
@@
@@.answer
"""
馬克 maa^^5^^hak^^1^^
a mark (loanword)
馬 maa^^5^^ — horse
克 hak^^1^^ haak^^1^^ — vanquish, restrain, can, gram
"""
@@
@@.answer
"""
馬尿 maa^^5^^niu^^6^^
tears //lit.// horse urine
馬 maa^^5^^/ma^^3^^ — horse
尿 niu^^6^^/niao^^4^^ — urine, urinate
"""
@@
@@.answer
"""
馬房 maa^^5^^fong^^4/4*2^^
a horse stable
馬 maa^^5^^/ma^^3^^ — horse
房 fong^^4^^ fong^^4*2^^/fang^^2^^ — room, house
"""
@@
@@.answer
"""
馬桶 maa^^5^^tung^^2^^
a chamber pot; 華: toilet //lit.// horse bucket
馬 maa^^5^^/ma^^3^^ — horse
桶 tung^^2^^/tong^^3^^ — pail, bucket, barrel, tub
抽水馬桶 — flush toilet
"""
@@
@@.answer
"""
馬虎 maa^^5*1^^fu^^2*1^^
careless, slack, (things are) so–so
馬 maa^^5^^/ma^^3^^ — horse
虎 fu^^2^^/hu^^3^^ — tiger
"""
@@
@@.answer
"""
馬騮 maa^^5^^lau^^4*1^^
a monkey, naughty child, ape; 華: 猴子
馬 maa^^5^^ — horse
騮 lau^^4^^ — red horse
"""
@@
@@.answer
"""
駒 keoi^^1^^
a colt, foal
"""
@@
@@.answer
"""
駱馬 lok^^3^^maa^^5^^
a llama //syn.// 羊駝, 美洲駝, 駝馬
駱 lok^^3^^ — white horse, camel, surname
馬 maa^^5^^ — horse
"""
@@
@@.answer
"""
驚青 geng^^1^^ceng^^1^^
to be afriad
驚 geng^^1^^ ging^^1^^/jing^^1^^ — frighten, surprise, startle
青 ceng^^1^^ cing^^1^^/qing^^1^^ — green, young
"""
@@
@@.answer
"""
骰仔 sik^^1^^zai^^2^^
a dice
骰 sik^^1^^ tau^^4^^ — dice
仔 zai^^2^^ zi^^2^^ — son, child
"""
@@
@@.answer
"""
體育 tai^^2^^juk^^6^^
physical education, sports
體 tai^^2^^ — shape, form, essence
育 juk^^6^^ — give birth to, rear, educate
"""
@@
@@.answer
"""
體育館 tai^^2^^juk^^6^^gun^^2^^
a gymnasium, gym, indoor stadium
體 tai^^2^^/ti^^3^^ — shape, form, essence
育 juk^^6^^/yu^^4^^ — give birth to, rear, educate
館 gun^^2^^/guan^^3^^ — public building
"""
@@
@@.answer
"""
體重 tai^^2^^cung^^5^^
a body weight
體 tai^^2^^ — shape, form, essence
重 cung^^5^^ zung^^6^^ cung^^4^^ — heavy, important, furthermore, repeat
"""
@@
@@.answer
"""
高 gou^^1^^ / gao^^1^^
high, tall
lofty
of a high level or degree, above the average
a Chinese family name
Kangxi radical 189
"""
@@
@@.answer
"""
高中 gou^^1^^zung^^1^^
a high school
高 gou^^1^^ — tall, high
中 zung^^1^^ zung^^3^^ — centre, middle, during, average, affected by
"""
@@
@@.answer
"""
高地 gou^^1^^dei^^6^^
a highland, upland
高 gou^^1^^ — tall, high
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
"""
@@
@@.answer
"""
高手 gou^^1^^sau^^2^^
an expert
高 gou^^1^^ — tall, high
手 sau^^2^^ — hand
"""
@@
@@.answer
"""
高燒 gou^^1^^siu^^1^^
a fever, high temperature
高 gou^^1^^ — tall, high
燒 siu^^1^^ — burn, heat, cook, fever
"""
@@
@@.answer
"""
髮根 faat^^3^^gan^^1^^
a hair root, hair roots
髮 faat^^3^^ — hair
根 gan^^1^^ — root, foundation
"""
@@
@@.answer
"""
髮笠 faat^^3^^lap^^1^^
a hairnet
髮 faat^^3^^/fa^^4^^ fa^^3^^ — hair
笠 lap^^1^^/li^^4^^ — bamboo hat, to cover, to coax
"""
@@
@@.answer
"""
鬆人 sung^^1^^jan^^4^^
to sneak off, to sneak away, to give the slip, to leave, to clear off; 華: 走人, 溜走, 溜, 走, 偷偷離開
鬆 sung^^1^^ — lax, loose, slack, to loosen
人 jan^^4^^ — person, human being
"""
@@
@@.answer
"""
鬆骨 sung^^1^^gwat^^1^^
to beat up, trounce, clobber
to massage by lightly beating with both hands clenched together
鬆 sung^^1^^ — lax, loose, slack, to loosen
骨 gwat^^1^^ — bone, skeleton, framework
"""
@@
@@.answer
"""
鬚後水 sou^^1^^hau^^6^^seoi^^2^^
粵: an aftershave
鬚 sou^^1^^ — beard, moustache, whiskers
後 hau^^6^^ — behind, come after
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
鬥氣 dau^^3^^hei^^3^^
to feel wronged and act rashly, for spite, out of rage
鬥 dau^^3^^ — fight, contest
氣 hei^^3^^ — gas, air, breath, anger
"""
@@
@@.answer
"""
鬧 naau^^6^^
noisy, uproarious, stormy
to disturb, make a noise, create trouble
to give vent to, be disgruntled
to launch, cause, bring about
to suffer from, be affected by
粵: to scold, berate, quarrel with
"""
@@
@@.answer
"""
鬧交 naau^^6^^gaau^^1^^
to quarrel
鬧 naau^^6^^ — noisy, disturb, give vent to, scold
交 gaau^^1^^ — transfer, submit, join, intersect, exchange
"""
@@
@@.answer
"""
鬼 gwai^^2^^
a ghost, spirit, apparition
a devil (a term of contempt or endearment)
dishonest, improper, illicit
terrible, horrible, damnable
a sinister plot, dirty trick
粵: incredibly, extremely
粵: the hell (used as infix)
"""
@@
@@.answer
"""
鬼揞眼 gwai^^2^^am^^2^^ngaan^^5^^
//lit.// a ghost covering the eyes
to fail to see something
to fail to find something
to make a mistake
鬼 gwai^^2^^ — ghost, devil, dishonest, terrible
揞 am^^2^^ — cover up with hand
眼 ngaan^^5^^ — eye
"""
@@
@@.answer
"""
魄 paak^^3^^ tok^^3^^ / po^^4^^ tuo^^4^^
粵: paak^^3^^; 華: po^^4^^
a soul, life (Taoism)
vigour, spirit
粵: tok^^3^^; 華: tuo^^4^^
frustrated, dejected //var.// 泊
"""
@@
@@.answer
"""
魚兒 jyu^^4^^ji^^4^^
a fish, fishes, generic term for fish, classifier: 條
魚 jyu^^4^^/yu^^2^^ — fish
兒 ji^^4^^/er^^2^^ er^^1^^ ni^^2^^ er^^5^^ — child, son
"""
@@
@@.answer
"""
魚油 jyu^^4^^jau^^4^^
fish oil
魚 jyu^^4^^ — fish
油 jau^^4^^ — oil, fat, grease, petroleum
"""
@@
@@.answer
"""
魚片 jyu^^4^^pin^^3*2^^
fillets of fish
魚 jyu^^4^^ — fish
片 pin^^3^^ pin^^2^^ — slice, sheet, fragmentary, film
"""
@@
@@.answer
"""
魚缸 jyu^^4^^gong^^1^^
a fish tank, aquarium
魚 jyu^^4^^ — fish
缸 gong^^1^^ — jar
"""
@@
@@.answer
"""
魚骨 jyu^^4^^gwat^^1^^
粵: a fishbone; 華: 魚刺
魚 jyu^^4^^ — fish
骨 gwat^^1^^ — bone, skeleton, framework
"""
@@
@@.answer
"""
鮑魚 baau^^6*1^^jyu^^4^^
an abalone
鮑 baau^^1^^/bao^^4^^ — abalone
魚 jyu^^4^^/yu^^2^^ — fish
"""
@@
@@.answer
"""
鮮 sin^^1^^ sin^^2^^
粵: sin^^1^^; 華: xian^^1^^
fresh, new, not withered
delicious, tasty
bright, bright–coloured
a fresh/delicious food, fruit etc
粵: sin^^2^^; 華: xian^^3^^
rarely, seldom, infrequently
"""
@@
@@.answer
"""
鴛鴦 jyun^^1^^joeng^^1^^, jin^^1^^joeng^^1^^
mandarin ducks
an affectionate/lovey–dovey couple, lovebirds
classifier: 華: 對
(in HK) coffee mixed with tea
(in Malaysia) two different rice noodles (米粉 and 沙河粉) stir–fried together
鴛 jyun^^1^^ jin^^1^^ — male mandarin duck
鴦 joeng^^1^^ — female mandarin duck
"""
@@
@@.answer
"""
鴿子 gap^^3^^zi^^2^^
華: a pigeon, dove; 粵: 白鴿 or just 鴿 gap^^3(2)^^
鴿 gap^^3^^ gaap^^3^^ — dove, pigeon
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
鵪鶉 am^^1^^ceon^^1^^
a quail
粵: timid, cowardly
鵪 am^^1^^/an^^1^^ — quail
鶉 ceon^^1^^/chun^^2^^ — quail
"""
@@
@@.answer
"""
鶯 ang^^1^^
a golden oriole, oriole, warbler, greenfinch
"""
@@
@@.answer
"""
鹵 lou^^5^^ / lu^^3^^
rock salt, natural salt
saline soil, alkaline soil
[chemistry] halogen
卤 is simplified form for both 鹵 and 滷
"""
@@
@@.answer
"""
鹵味 lou^^5^^mei^^6*2^^
//lo mei// (marinated food), pot–stewed fowl/meat/etc served cold (made by simmering in a seasoned soy–based sauce)
//var.// 滷味 [related term] 燒味
鹵 lou^^5^^/lu^^3^^ — rock salt, saline soil, halogen
味 mei^^6^^/wei^^4^^ — taste, flavour, smell, interest, reflect on
"""
@@
@@.answer
"""
鹹水魚 haam^^4^^seoi^^2^^jyu^^4*2^^
粵: a saltwater fish
鹹 haam^^4^^ — salty, obscene
水 seoi^^2^^ — water, liquid, dough (money)
魚 jyu^^4^^ — fish
"""
@@
@@.answer
"""
鹹肉 haam^^4^^juk^^6^^
salty or salted meat, bacon
//syn.// 煙肉, 肉, 醃肉, 腌肉, 培根
鹹 haam^^4^^ — salty, obscene
肉 juk^^6^^ — meat
"""
@@
@@.answer
"""
鹹蛋 haam^^4^^daan^^6*2^^
a salted egg, salted duck egg
This is typically a duck egg for Chinese cuisine, but any egg can be salted in theory
鹹 haam^^4^^ — salty, obscene
蛋 daan^^6^^ daan^^6*2^^ — egg
"""
@@
@@.answer
"""
鹹鹹地 haam^^4^^haam^^4*2^^dei^^6*2^^
a little salty
鹹 haam^^4^^ — salty, obscene
地 dei^^6^^ dei^^6*2^^ — earth, land, district, location
"""
@@
@@.answer
"""
鹼性 gaan^^2^^sing^^3^^
alkaline, alkalinity
鹼 gaan^^2^^ — alkali, soda
性 sing^^3^^ — nature, character, sex
"""
@@
@@.answer
"""
麒麟 kei^^4^^leon^^4^^/qi^^2^^lin^^2^^
a mythical deer–like animal, //kylin//, //kirin//
麒 kei^^4^^— mythical (Chinese) unicorn
麟 leon^^4^^ — unicorn
"""
@@
@@.answer
"""
麵包坊 min^^6^^baau^^1^^fong^^1^^
a bakery //syn.// 麵包店; 粵: 麵包舖
麵 min^^6^^ — noodles, flour, dough
包 baau^^1^^ — wrap, package, bun
坊 fong^^1^^ fong^^2^^ — lane, memorial archway, neighbourhood
"""
@@
@@.answer
"""
麻煩 maa^^4^^faan^^4^^
annoying, troublesome
麻 maa^^4^^/ma^^2^^ — hemp, flax, sesame, coarse
煩 faan^^4^^/fan^^2^^ — troublesome, irritable, vex, trouble
"""
@@
@@.answer
"""
麻煩你 maa^^4^^faan^^4^^nei^^5^^
粵: Could I trouble you…? (a polite way of asking for assistance)
麻 maa^^4^^ — hemp, flax, sesame, coarse
煩 faan^^4^^ — troublesome, irritable, vex, trouble
你 nei^^5^^ — you
"""
@@
@@.answer
"""
麻醉 maa^^4^^zeoi^^3^^
anaesthetised
麻 maa^^4^^ — hemp, flax, sesame, coarse
醉 zeoi^^3^^ — drunk
"""
@@
@@.answer
"""
黃油 wong^^4^^jau^^4^^
華: butter //syn.// 奶油; 粵: 牛油
黃 wong^^4^^ — yellow
油 jau^^4^^ — oil, fat, grease, petroleum
"""
@@
@@.answer
"""
黐 ci^^1^^ / chi^^1^^
to stick sth to/on/together, especially using a sticky substance such as glue
to stick with sb, stay close to sb
to get petty advantages at the expense of other people, scrounge
sticky
"""
@@
@@.answer
"""
黐家 ci^^1^^gaa^^1^^
someone who likes to stay at home, a homebody //lit.// to stick to the home
黐 ci^^1^^ — stick to
家 gaa^^1^^ — home, family, specialist
"""
@@
@@.answer
"""
黑心 hak^^1^^sam^^1^^
wicked
黑 hak^^1^^ haak^^1^^ — black, dark, secret, wicked
心 sam^^1^^ — heart
"""
@@
@@.answer
"""
黑白相 haak^^1^^baak^^6^^soeng^^1*2^^
black and white photos
黑 hak^^1^^ haak^^1^^ — black, dark, secret, wicked
白 baak^^6^^ — white, clear, pure
相 soeng^^1^^ soeng^^3^^ soeng^^3*2^^ — mutually, appearance, photo
"""
@@
@@.answer
"""
墨水 mak^^6^^seoi^^2^^
ink
墨 mak^^6^^ — ink, black, learning, embezzle
水 seoi^^2^^ — water, liquid, dough (money)
"""
@@
@@.answer
"""
墨水筆 mak^^6^^seoi^^2^^bat^^1^^
粵: an ink pen; also 水筆
墨 mak^^6^^ — ink, black, learning, embezzle
水 seoi^^2^^ — water, liquid, dough (money)
筆 bat^^1^^ — pen, pencil, writing brush
"""
@@
@@.answer
"""
點呀 dim^^2^^aa^^3^^
an informal greeting, “how are you doing?”, “how are things?”
點 dim^^2^^ — dot, point, drop, select, touch, instruct
呀 aa^^3^^ aa^^4^^ aa^^5^^ aa^^1^^ — final particle for softening abruptness
"""
@@
@@.answer
"""
點樣做 dim^^2^^joeng^^6*2^^zou^^6^^
粵: how to do sth, how to handle sth, how to manage sth //syn.// 點做; 華: 怎麼做, 怎麼辦, 怎樣做, 怎辦, 怎麼搞, 怎麼幹
點 dim^^2^^ — dot, point, drop, select, touch, instruct
樣 joeng^^6^^ joeng^^6*2^^ — shape, sample, type
做 zou^^6^^ — do, make
"""
@@
@@.answer
"""
點算 dim^^2^^syun^^3^^
what to do?, how to resolve this?; 華: 怎麼辦, 如何是好
點 dim^^2^^/dian^^3^^ — dot, point, drop, select, touch, instruct
算 syun^^3^^/suan^^4^^ — calculate, plan, guess, include, consider
"""
@@
@@.answer
"""
點醒 dim^^2^^seng^^2^^
to give the right advice
remind, make someone aware of
點 dim^^2^^ — dot, point, drop, select, touch, instruct
醒 sing^^2^^ seng^^2^^ — wake up, clever
"""
@@
@@.answer
"""
鼓埋泡腮 gu^^2^^maai^^4^^paau^^1^^soi^^1^^
粵: to show one’s displeasure, pent up in frustration //lit.// to puff out one’s cheeks
鼓 gu^^2^^ a drum, to drum, beat a drum
埋 maai^^4^^ — bury, conceal, finish up, move closer
泡 pou^^5^^ pou^^4^^ paau^^3^^ paau^^1^^ pok^^1^^ — bubbles, foam, kill time, soak, brew, puff
腮 soi^^1^^ — cheek
"""
@@
@@.answer
"""
鼠 syu^^2^^ / shu^^3^^
a rat, mouse
Kangxi radical 208
"""
@@
@@.answer
"""
鼻子 bei^^6^^zi^^2^^
華: a nose; 粵: 鼻哥
鼻 bei^^6^^ — nose
子 zi^^2^^ — son, person, egg, young, subsidiary
"""
@@
@@.answer
"""
鼻屎 bei^^6^^si^^2^^
boogers, bogeys, solidifed nasal mucus
鼻 bei^^6^^/bi^^2^^ — nose
屎 si^^2^^/shi^^3^^ — excrement, no good
"""
@@
@@.answer
"""
鼻涕蟲 bei^^6^^tai^^3^^cung^^4^^
a slug //lit.// nose mucus insect
鼻 bei^^6^^/bi^^2^^ — nose
涕 tai^^3^^/ti^^4^^ — tears, mucus
蟲 cung^^4^^/chong^^2^^ — insect, worm
"""
@@
@@.answer
"""
齊天大聖 cai^^4^^tin^^1^^daai^^6^^sing^^3^^
//great sage equal of heaven// a self–proclaimed title of the monkey king sun wukong 孫悟空|孙悟空 in //journey to the west// 西遊記|西游记
齊 cai^^4^^ — even, neat, uniform
天 tin^^1^^ — sky, heaven
大 daai^^6^^ — big
聖 sing^^3^^ — holy, sacred, sage
"""
@@
@@.answer
"""
齷齪 aak^^1^^cuk^^1^^
dirty; 粵: 汚糟 //syn.// 骯髒
齷 ak^^1^^/wo^^4^^ — dirty, base, narrow–minded
齪 cuk^^1^^/chuo^^4^^ — cautious, renovate
"""
@@